Live Development Tracker

Market Prediction Engine — Build Log

Not a student exercise. This is a commercial-grade, self-learning market signal system, built by extracting and enhancing the architecture proven in CP3405 Team 1's project — modular agents, multi-LLM synthesis, and trust-weighted calibration that actually feeds back into future predictions.

LIVE — LAST SYNCED 2026-07-08
Confirmed directly against ProfDrTan/market-prediction-engine via the GitHub API. All statuses below reflect the actual commit history, not memory or prior session notes.

Phase Timeline

From Team 1's architecture to a closer-to-commercial system.

PhaseFocusStatus
0 — Foundation Fork Team 1's architecture, strip Scrum/pedagogical framing, define shared agent schemas. done
1 — Signal Layer Harden technical / macro / almanac agents; add an evidence agent. 3 of 4 agents built — evidence agent not started
2 — Synthesis Layer Multi-LLM runner (4 models via OpenRouter) + trust-weighted EMA calibration — the core enhancement over Team 1's unweighted comparison. done
3 — Automation GitHub Actions weekly cron for the pipeline; automated scoring against actuals (replacing Team 1's manual QA role). pushed — awaiting OPENROUTER_API_KEY secret + first manual trigger
4 — Scale Extend beyond SPX/NDX/IWM; add a backtesting harness against historical data. planned
5 — Commercial Hardening Auth, tiered access, reliability SLAs, legal/compliance review before any external users. planned

Component Status

Code-level tracking. Populated from the last confirmed repo read — not yet live-synced.

FilePurposeStatus
agents/schemas.pyShared data structures across all agents.done
agents/technical/technical_agent.pyRSI, trend, moving averages.done
agents/macro/macro_agent.pyRisk-on / risk-off regime classifier.done
agents/almanac/almanac_agent.pySeasonal bias from historical monthly returns.done
agents/evidence/Planned fourth agent — not yet started.not started
agents/llm/multi_model_runner.pyQueries 4 free OpenRouter models; trust-weighted synthesis.done
calibration/trust_weights.pyEMA-based trust scoring with a minimum weight floor.done
calibration/score_predictions.pyAutomated calibration scoring (replaces Team 1's manual QA).done
run_pipeline.pyOrchestrates the full weekly run for SPX/NDX/IWM.done
requirements.txtPython dependencies.done
README.md / DECISION.mdArchitecture reasoning; enhancements over Team 1.done
.github/workflows/weekly-pipeline.ymlScheduled pipeline trigger.done — confirmed in repo tree
.github/workflows/weekly-scoring.ymlScheduled calibration scoring.done — confirmed in repo tree
Confirmed via git/trees/main?recursive=1 against the live repo. The two workflow files were never partially written — nothing to recover, they need to be authored fresh once workflow-write permission is confirmed.

Changelog

Every entry below is added at the point of a confirmed repo change — not in advance.

2026-07-08
Build log page created and synced against the live repo. Confirmed: schemas, all four calibration/synthesis files, and 3 of 4 planned agents are committed. Evidence agent and both GitHub Actions workflow files are not yet in the repo.
2026-07-08
Attempted push of weekly-pipeline.yml and weekly-scoring.yml with new token. Confirmed root cause: fine-grained PAT has Contents write but not Workflows write (these are separate permissions on fine-grained tokens, distinct from classic PAT "workflow" scope). Both workflow files are fully written and ready locally — push is pending a token with Workflows: Read and write enabled.
2026-07-08
Token permissions updated (Workflows: Read/write added). Both weekly-pipeline.yml and weekly-scoring.yml pushed and confirmed present in the repo tree via API. Automation phase (Phase 3) is now code-complete. Remaining before the first live run: set OPENROUTER_API_KEY as a repo secret, then trigger weekly-pipeline.yml manually via workflow_dispatch.