docs: GitAgent handover package + 6 ADRs - #5
Conversation
Add four agent-readable docs to docs/ covering: - HANDOVER.md: session summary, recent commits, immediate next steps - ARCHITECTURE.md: full system diagram, tech stack, Docker constraints - ONBOARDING.md: local dev setup, deployment, key URLs - DECISIONS.md: 6 ADRs (dep pinning, rate limiting, poller watchdog, asyncpg/PgBouncer, AI fallback chain, null-safe market status) Includes explanation of the pandas-ta PyPI availability issue that caused two broken commits (0.3.14b0 doesn't exist; 0.4.67b0+ required). Co-Authored-By: claude-flow <ruv@ruv.net>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a0e5e6c0e0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| │ WebSocket → WSS proxy | ||
| ▼ | ||
| FastAPI (Railway API service) | ||
| ├── REST: /api/screener, /api/ai, /api/health |
There was a problem hiding this comment.
Stop documenting
/api/health as the backend health probe
This is misleading for operations: apps/web/src/app/api/health/route.ts handles /api/health inside Next and always returns {status:"ok"}, while the real FastAPI health endpoint is /health in apps/api/app/main.py. Anyone following this architecture doc to verify backend health can get a false green even when the API is down.
Useful? React with 👍 / 👎.
| ```bash | ||
| curl http://localhost:8001/health | ||
| # Expected: {"status":"ok","market":{"is_open":false,...},"poller_running":true} |
There was a problem hiding this comment.
Correct the expected payload for the local
/health check
Step 4 currently tells newcomers to expect fields that no longer exist. apps/api/app/main.py:175-191 now returns {status, redis, poller, universe_size, uptime_seconds}, and on a typical local setup without Redis it reports status: "degraded" rather than the documented market/poller_running shape. As written, the first verification step makes a normal startup look broken.
Useful? React with 👍 / 👎.
Add project documentation files to docs/: - BreakoutScan_Design_System.md: full design system spec (components, colours, typography, tokens) for v1.0 — March 2026 - create_deck.py / create_design_system_pdf.py: utility scripts for generating pitch deck and design system PDF exports Update .gitignore to exclude: - *.tsbuildinfo, .claude-flow/ (build artifacts) - claude_code_templates_output/, firebase-debug.log (generated) - chat_history_*.md, *CHAT_HISTORY*.md (session logs) - *.pdf, *.pptx (binary outputs — track source, not rendered) Co-Authored-By: claude-flow <ruv@ruv.net>
Summary
docs/HANDOVER.md— session context, recent commits, immediate next steps for the next agent/devdocs/ARCHITECTURE.md— full system diagram, Railway Docker constraints, AI fallback chaindocs/ONBOARDING.md— local dev setup, deployment steps, key production URLsdocs/DECISIONS.md— 6 Architecture Decision Records covering the fixes made this sessionContext
This PR follows two sessions of production incident work:
requirements.txtcaused Railway to install pandas 3.x, exhausting 512MB RAM. Fixed inbe6e4bdwith pinnedpandas>=2.2.0,<3.0.0+pandas-ta>=0.4.67b0+numpy>=2.2.68d4d024)0a622c7)The handover docs encode all institutional knowledge from this sprint so future agents/devs can continue without re-investigating the same issues.
Test plan
https://breakoutscan-api-production.up.railway.app/healthreturns 200 after latest Railway buildENVIRONMENT=productionis set in Railway dashboard🤖 Generated with claude-flow