Commit Graph

14 Commits

Author SHA1 Message Date
k b5e7c82b51 fix(scheduler): trumpstruth poller never fires — APScheduler bug
next_run_time=None means "paused", not "default". The fallback poller was
registered but never triggered, leaving the system on CNN archive only.
Set explicit start time = now + half the poll interval so the two pollers
offset and don't hit upstream simultaneously.

Verified via /api/health/deep: trumpstruth.last_poll was null on the live
server before this fix despite the poller having been deployed.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 15:00:54 +08:00
k 747158b5ed feat(ai): v5 extreme-alpha prompt — checklist gate + drop sell signal
Why
  v4 was firing buy/short on 13% of posts, but only 9% of those had a
  ≥1% move within the hour. Median move on 'actionable' was 0.298% vs
  0.258% on 'hold' — a 1.15× signal-to-noise ratio (random would be 1.0).
  The model was confabulating transmission chains to please the user
  rather than holding when uncertain.

  Separately: 'sell' meant 'close longs / de-risk' in the prompt but
  was traded as 'open short' by bot_engine.py, producing systematically
  negative results on sell signals (27% win rate vs 57% on real shorts).

What changed
  • analysis.py rewritten as v5-extreme-alpha:
    - Asymmetric error costs framing (false positive = -$30, FN = $0)
    - 7-item checklist that MUST all pass before buy/short
    - Only 4 named transmission paths (a/b/c/d); anything else = HOLD
    - 5 positive + 5 negative few-shot examples
    - UTC hour injected with liquidity context (Asia thin → stricter)
    - Adversarial steelman self-check before final output
    - confidence < 80 + checklist failure both force-collapse to HOLD
      in code, regardless of what the model returns (defense-in-depth)
    - 'sell' removed from output schema entirely
  • bot_engine.py: stop trading 'sell' signals (treat as hold)
  • Case-insensitive normalization on checklist values so model
    returning 'None'/'True' (capitalized) doesn't slip through

Expected impact (to validate over next 2-3 weeks of new posts)
  • actionable rate: 13% → 2-4%
  • signal/hold MFE ratio: 1.15× → 3-5×
  • ≥1% hit rate among actionable: 9% → 40-60%

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 15:00:44 +08:00
k 4ffcb442fe feat: add daily budget, active window, trade snapshots, and price impact monitor
- New migrations for daily_budget, active_window, and bottrade snapshot
- Add trumpstruth scraper and price_impact_monitor service
- Expand bot_engine, hyperliquid, recovery, and tp_sl_monitor logic
- Update API/schemas/models for new features

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-25 16:04:49 +08:00
k a2c68e2939 fix: add missing columns migration (signal, ai_reasoning, leverage, etc.)
- posts: signal, ai_reasoning, prefilter_reason, analysis_version
- subscriptions: leverage, position_size_usd, take_profit_pct, stop_loss_pct, min_confidence

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 20:53:01 +08:00
k 6021a3883d feat: auto-migrate SQLite data to Postgres on first deploy
- Add trumpsignal.db to git (one-time migration source)
- entrypoint.sh detects empty Postgres and runs migration automatically
- scripts/migrate_sqlite_to_postgres.py: posts, subscriptions, bot_trades
- Add psycopg2-binary to requirements for migration script

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 20:48:05 +08:00
k 1deb6a3918 correct healthcheck of database 2026-04-21 20:17:50 +08:00
k 1981b73f1f fix: complete requirements.txt and Docker setup for production deployment
- Add missing packages: openai, aiosqlite, msgpack, websocket-client, bitarray, ckzg
- Pin all versions from working venv (including eth-account 0.13.7, hyperliquid-python-sdk 0.23.0)
- Multi-stage Dockerfile: builder with cmake for ckzg compilation, slim runtime image
- docker-compose: postgres healthcheck with start_period, auto alembic migration on startup
- entrypoint.sh: alembic upgrade head before uvicorn

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 20:12:59 +08:00
k 7f7eecc830 fix database url 2026-04-21 19:58:00 +08:00
k b250bdb4d1 fix with coolify magic env var 2026-04-21 19:55:00 +08:00
k 0782aed4e6 fix: failed to solve: process /bin/sh -c pip install --no-cache-dir -r requirements.txt did not complete successfully 2026-04-21 19:49:47 +08:00
k 3f901df82b aiosqlite, cryptography, hyperliquid-python-sdk 2026-04-21 19:45:49 +08:00
k 3056635a5c for deploy 2026-04-21 19:41:11 +08:00
k 3268080401 done 2026-04-21 19:33:24 +08:00
k 9a72566753 first commit 2026-04-20 23:05:59 +08:00