Files
workspace/memory/2026-03-01.md

69 lines
3.6 KiB
Markdown

# 2026-03-01
## CoinEx Dashboard — Deployed to Coolify ✅
- Coolify URL: `https://fcs04o8w0sccookkw44sck8c.host.letsgetnashty.com`
- Coolify app UUID: `fcs04o8w0sccookkw44sck8c`
- Coolify project "dz-studio": `os4csg4o4wwws04cgk8c0gg0`
- **Deployment issues fixed:**
- IPv6 healthcheck: Alpine wget resolves `localhost` to `[::1]`, Node binds `0.0.0.0` (IPv4). Fix: use `127.0.0.1`
- WebSocket protocol: HTTPS page can't connect to `ws://`, must auto-detect `wss://` vs `ws://`
- `firstSeen.getTime()` crash: Date objects serialize to ISO strings over WebSocket JSON. Fix: `new Date(signal.firstSeen)` before `.getTime()`
- `page-old.tsx` ghost: TypeScript compiler picks up backup files. Deleted.
- `NODE_ENV=production` at build time skips devDependencies — Coolify warns about this
- **Lesson: Test locally with production build + WebSocket client BEFORE deploying to Coolify**
## CoinEx Dashboard v2 Features (Glitch built, deployed)
- Settings modal for CoinEx API credentials + test connection
- Signal history tracking with staleness detection (30min threshold)
- Error log panel (collapsible, 200-entry ring buffer, categorized)
- Tooltips on all coin card data points (ShadCN Tooltip)
- Branch: `feature/v2-upgrades` merged to main
## CoinEx Trader Bot API (Glitch built, NOT deployed)
- FastAPI wrapper with Swagger at `/docs`
- Runtime config: thresholds, TP/SL, leverage, max positions, global on/off
- Structured JSON logging, API key auth
- Docker + docker-compose ready
- Gitea repo: `https://git.letsgetnashty.com/case/coinex-trader` (feature/api branch)
- Port: 8893
## Coolify Deploy Script Created
- `tools/coolify-deploy.sh` — build, push, deploy, poll status
- Credentials: `~/.openclaw/workspace/.credentials/coolify.env` (COOLIFY_API_TOKEN)
- App UUID stored in `.coolify-app` per project
- Zero tokens burned on mechanical deployments
## CoinEx Live Trader
- Was locked since 2026-02-26 06:25 UTC (funding fee settlement API outage tripped circuit breaker)
- Cleared lockfile, bot resumed trading
- TRUMP SHORT signal was on dashboard
- trader_state.json replaced with CoinEx API direct calls (no local file dependency)
## CoinEx Platform v3 Architecture (PLANNED)
- **Redis** as message bus + shared state + cache (localhost:6379)
- **TA Service** (Python, port 8894) — EMA Ribbons, TTM Squeeze, Stoch RSI Divergence
- Uses `pandas-ta` for calculations
- Single Binance fetcher for all 29 coins (eliminates 3x duplicate API calls)
- Publishes to Redis channels: `signals:ta:{symbol}`
- **Dashboard integration** — subscribes to Redis instead of polling Binance directly
- **Trader integration** — publishes state to Redis, can read TA signals (disabled by default)
- **TA bonus is display-only** until backtested — does NOT affect trading decisions
- D J initially wanted TradingView Pine Script + webhooks but free tier = 1 alert, not viable for 29 coins
- Self-hosted TA (Option C) chosen instead
- Full spec: `data/tasks/coinex-platform-v3.md`
- Dev environment: separate ports (8892 dashboard-dev, 8894 TA, 8895 trader-api-dev)
- New repo: `git.letsgetnashty.com/case/coinex-ta-service`
## Web Stack Updated
- **Next.js 16** (was 15 in docs). Dashboard runs 16.1.6. MEMORY.md updated.
## SPARK Milestone
- Hit **109 ideas** total (spark-001 through spark-109)
- Notable new ones: spark-103 PeopleSoft Real-Time Dashboard (10/10), spark-105 PeopleSoft Incident Response (10/10)
## Cron Status
- kch123 weekly report failed (message delivery error) — needs investigation
- spark-idea-gen running fine (every 3h)
- nexus-standup running (every 2h)
- case-task-dispatcher running (daily 5PM) — team idle, no tasks to assign