Skip to content

feat(forecast): Bet 5 — public track-record page shell (build now, launch on N≥100) (Lane A #4) #5092

Description

@koala73

Part of #4930Lane A #4 (Bet 5). Build now, launch later.

Build the public /forecasts/track-record page reading the already-deployed get-forecast-scorecard endpoint. Building the UI is data-independent; only the public launch is gated (Lane C: ≥100 resolved + VOID rate <15%). Build now so it's ready the instant data crosses the bar — and so it honestly renders "N resolved, accumulating" while sparse.

Scope (shell)

  • Page: rolling Brier + calibration plot, per-domain breakdown, vs-market skill, and a resolved-forecast ledger with receipts (what we said, when, at what probability → what happened → resolving source). "The only intelligence dashboard that publishes its Brier score."
  • Forecast cards: detector reliability badge + family resolution history; "Resolved ✓/✗/VOID" chips (resolution fields already on get-forecasts).
  • API/MCP: get_forecast_track_record tool so agents can audit accuracy before trusting (orank/agent-readiness alignment).
  • Brief/digest hook: "forecast movements & resolutions" section (reuses annotateForecastChanges).
  • Empty/sparse state: honest "accumulating — N resolved so far / first resolution expected ~".

Gating

Track-record summary is public (it IS the marketing); deep sim / conditional scenarios / per-detector analytics → Pro. Anon-read endpoints need cache headers + client-caller sweep (premium-gating 4xx-flood pattern).

Launch trigger (Lane C, not this issue)

≥100 resolved forecasts AND VOID rate <15%.

Related: #4930, #5007 (scorecard source), scorecard endpoint get-forecast-scorecard.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: AI/intelAI analysis, intelligence findings, summarizationenhancementNew feature or requestlane-a#4930 forecast epic — Lane A (do-now, data-independent parallel work)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions