52 lines
2.8 KiB
Markdown
52 lines
2.8 KiB
Markdown
# Current Milestone
|
|
|
|
Storage finalisation + run history UX. Branch `claude/wizardly-poitras` (PR pending).
|
|
All storage, event, checkpoint, and phase re-run logic is now documented in ADR 018.
|
|
|
|
# Recent Progress
|
|
|
|
- **feat/fe-max-tickers-load-run** (merged base):
|
|
- `max_auto_tickers` config + macro synthesis prompt injection + frontend input
|
|
- Run persistence: `run_meta.json` + `run_events.jsonl` per flow_id
|
|
- Phase subgraphs (debate_graph, risk_graph) in LangGraphEngine
|
|
- `POST /api/run/rerun-node` endpoint + frontend Re-run buttons on graph nodes
|
|
- Run History popover in UI
|
|
|
|
- **claude/wizardly-poitras** (this PR — storage finalisation):
|
|
- **flow_id layout** replaces run_id namespacing: `reports/daily/{date}/{flow_id}/`
|
|
- **Startup hydration**: `hydrate_runs_from_disk()` rebuilds runs dict from disk on restart
|
|
- **WebSocket lazy-loading**: events loaded from disk on first WS connect (fixes blank Run History)
|
|
- **Orphaned run detection**: runs stuck in "running" with disk events → marked "failed"
|
|
- **Analysts checkpoint fix**: `any()` instead of `all()` — Social Analyst is optional
|
|
- **flow_id checkpoint lookup**: re-run passes original flow_id to store so checkpoints resolve correctly
|
|
- **Selective event filtering**: phase re-run preserves scan + other tickers; only clears stale nodes for the re-run scope
|
|
- **ADR 018**: definitive documentation of storage, events, checkpoints, MongoDB vs local
|
|
|
|
- **PR#108 merged**: Per-tier LLM fallback for 404/policy errors (ADR 017)
|
|
- **PR#107 merged**: `save_holding_review` per-ticker fix; RunLogger threading.local → contextvars
|
|
- **PR#106 merged**: MongoDB report store, RunLogger observability, reflexion memory
|
|
- **codex/global-search-graph-main-squash** (scanner gatekeeper foundation, local):
|
|
- Added live-tested `yfinance` gatekeeper universe query for US-listed liquid profitable mid-cap+ names
|
|
- Added live-tested Finviz gap-subset path using the bounded gatekeeper-plus-gap filter
|
|
- Narrowed Finviz usage to the gap/event layer instead of the full market-universe layer
|
|
- Added graph wiring: dedicated gatekeeper scanner node, gatekeeper-aware drift context, and deterministic ranking that excludes names outside the gatekeeper universe
|
|
|
|
# In Progress
|
|
|
|
- claude/wizardly-poitras PR: storage finalisation + run history UX
|
|
- codex/global-search-graph-main-squash: wire gatekeeper universe into scanner graph and deterministic ranking
|
|
|
|
# Active Blockers
|
|
|
|
- None
|
|
|
|
# Key Architectural Decisions Active
|
|
|
|
| ADR | Topic | Status |
|
|
|-----|-------|--------|
|
|
| 013 | WebSocket streaming (extended by 018) | accepted |
|
|
| 015 | MongoDB/run-id namespacing | superseded by 018 (flow_id replaces run_id) |
|
|
| 016 | PR#106 review findings | accepted |
|
|
| 017 | LLM policy fallback | accepted |
|
|
| 018 | Storage layout, events, checkpoints, MongoDB vs local | **accepted — canonical reference** |
|