v3 status board
Per-bot state across three tracks: documentation, implementation, and runtime promotion. A bot can be 27/27 on docs and still 0/8 on runtime. Progress in one track does not satisfy the others.
Infrastructure
Phases 1–7: snapshots, envelopes, correlation IDs, replay, reconciler. Tracked by tasks, not bots. Done means the rail exists in code and has runtime-live observability.
View — By taskBot implementation
Per-bot documentation score (out of 27) and implementation score (out of 15). Documentation completeness does not imply implementation. Tracked per bot.
View — By botRuntime promotion
Modes ladder: stub → shadow → advisory → enforced, then demo-wired → shadow-ready → runtime-live → production-live. Tracked by runtime score (out of 8).
Honest state: 109 specs at 27/27 documentation. 9 bots demo-wired. 0 shadow-ready. 0 runtime-live. 0 production-live. Documentation is not implementation; implementation is not runtime.
| State | Bot | Capital impact | Phase | Docs | Impl | Runtime |
|---|---|---|---|---|---|---|
| pending | duplicatemarketdetector | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | eventcalendarmapper | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| demo-wired | marketqualityranker | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | marketscanner | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | newmarketwatcher | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | opportunityqueue | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | api_degradation_monitor | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | anomalydetector | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | contradictiondetector | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | crossmarketgraph | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | liquidity_decay_monitor | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | liquidityforecastmodel | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | market_resolution_watcher | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | marketontologybuilder | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | newsingest | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | onchainwatcher | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | oraclewatcher | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | orderflowanalyzer | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | resolutionruleparser | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | rulechangemonitor | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | socialsentiment | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | sourceoftruthverifier | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | sportsfeed-adapter | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | wallet-flow-classifier | Indirect | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| demo-wired | market_halt_detector | Direct | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| demo-wired | stale_book_guard | Direct | P2 · Data normalisation | 27/27 | 0/15 | 0/8 |
| pending | attributionrevenuereporter | Indirect | P3 · Reporting & event store | 27/27 | 0/15 | 0/8 |
| pending | builderattribution | Indirect | P3 · Reporting & event store | 27/27 | 0/15 | 0/8 |
| pending | health-heartbeat | Indirect | P3 · Reporting & event store | 27/27 | 0/15 | 0/8 |
| pending | pnl-reporter | Indirect | P3 · Reporting & event store | 27/27 | 0/15 | 0/8 |
| pending | slamonitor | Indirect | P3 · Reporting & event store | 27/27 | 0/15 | 0/8 |
| pending | useractivityledger | Indirect | P3 · Reporting & event store | 27/27 | 0/15 | 0/8 |
| pending | blacklistkeeper | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | capitalallocator | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| demo-wired | compliancegate | Critical | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | correlationshockguard | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | feeandgasguard | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | inventoryunwinder | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| demo-wired | killswitch | Critical | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | liquidityguard | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | manualoverrideauditor | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | modeldriftmonitor | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | oracleriskmonitor | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| demo-wired | portfolioguard | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | ratelimitgovernor | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | self_trade_wash_guard | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| demo-wired | settlementexposureguard | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | strategysuitabilitygate | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | taillosssimulator | Direct | P4 · Core risk | 27/27 | 0/15 | 0/8 |
| pending | antitoxicfill | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | cancelreplaceoptimizer | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | dustandroundingcleaner | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | exchangestatusmonitor | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | fee_slippage_estimator | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | fillqualityanalyzer | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | gasoracle | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | latencyprofiler | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | nonceshepherd | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | order_amend_cancel_manager | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | orderlifecyclemanager | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | partialfillhandler | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | pricebandvalidator | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | queuewarden | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| demo-wired | smartrouter | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | allowancemonitor | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | chainstateverifier | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | contractaddressguard | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | keyrotationreminder | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | rpcfailovermanager | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | sessionkeymanager | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | signaturepreviewer | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | wallet_funding_guard | Direct | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| pending | walletpermissionguard | Critical | P5 · Execution rails | 27/27 | 0/15 | 0/8 |
| demo-wired | maker-tight | Direct | P6 · One simple strategy | 27/27 | 0/15 | 0/8 |
| pending | backtester | Indirect | P7 · Governance & replay | 27/27 | 0/15 | 0/8 |
| pending | config_drift_detector | Direct | P7 · Governance & replay | 27/27 | 0/15 | 0/8 |
| pending | cron-runner | Indirect | P7 · Governance & replay | 27/27 | 0/15 | 0/8 |
| pending | experimenttracker | Indirect | P7 · Governance & replay | 27/27 | 0/15 | 0/8 |
| pending | exposure_explainer | Indirect | P7 · Governance & replay | 27/27 | 0/15 | 0/8 |
| pending | incidentcommander | Critical | P7 · Governance & replay | 27/27 | 0/15 | 0/8 |
| pending | paper-trade-runner | Indirect | P7 · Governance & replay | 27/27 | 0/15 | 0/8 |
| pending | parameterchangeauditor | Indirect | P7 · Governance & replay | 27/27 | 0/15 | 0/8 |
| pending | portfolio-sync | Indirect | P7 · Governance & replay | 27/27 | 0/15 | 0/8 |
| pending | posttradeexplainer | Indirect | P7 · Governance & replay | 27/27 | 0/15 | 0/8 |
| pending | replay_simulator | Indirect | P7 · Governance & replay | 27/27 | 0/15 | 0/8 |
| pending | strategyregistry | Indirect | P7 · Governance & replay | 27/27 | 0/15 | 0/8 |
| pending | basistrader | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | breakout-follower | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | bregman-projection-arb | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | calendarcompression | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | cross-market-arb | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | cross-venue-arb | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | dispute-risk-pricing | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | fundingrotationbot | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | late-resolution-spread | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | liquidity-pulse | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | maker-wide | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | marketcreationscout | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | mean-reversion-sniper | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | narrativecrowdingfade | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | neg-risk-sum-arb | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | news-materiality-trader | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | portfoliohedger | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | resolution-fair-value | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | resolutioncurvetrader | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | rule-risk-discount | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | sports-model | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | sum-to-one-arb | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| pending | volatilityharvest | Direct | P8 · Additional strategies | 27/27 | 0/15 | 0/8 |
| State | Phase | Tasks | Bots | Progress |
|---|---|---|---|---|
| pending | P1 Shared contracts | 15/17 tasks | 0/0 bots done | |
| pending | P2 Data normalisation | 0/4 tasks | 0/26 bots done | |
| pending | P3 Reporting & event store | 0/3 tasks | 0/6 bots done | |
| pending | P4 Core risk | 0/3 tasks | 0/17 bots done | |
| pending | P5 Execution rails | 0/2 tasks | 0/24 bots done | |
| pending | P6 One simple strategy | 0/1 tasks | 0/1 bots done | |
| pending | P7 Governance & replay | 0/2 tasks | 0/12 bots done | |
| pending | P8 Additional strategies | 0/1 tasks | 0/23 bots done |
| State | Phase | Task ID | Title |
|---|---|---|---|
| done | P1 | p1.contracts-package | Create packages/polytraders-contracts with TS + JSON schemas |
| done | P1 | p1.schema-manifest | schemas/manifest.json is the single source of truth for the dev guide |
| done | P1 | p1.verify-script | tests/verify-contracts.js — every TS file pairs with a schema, every schema has $id/title/description |
| done | P1 | p1.dev-guide-reads-manifest | /standards/schemas reads from the manifest, not from inline strings |
| done | P1 | p1.reason-code-pattern | All reason codes match ^(INTEL|DISC|STRAT|RISK|EXEC|SEC|GOV)_[A-Z0-9_]+$ — enforced by schema |
| done | P1 | p1.three-score-model | Three-score model (docs/impl/runtime) added to every bot page |
| done | P1 | p1.capital-impact-field | capital_impact added to every bot — Critical / Direct / Indirect |
| done | P1 | p1.quarantine-mode | Quarantine mode added to risk/exec/sec bot mode_support |
| done | P1 | p1.deprecated-status | Deprecated status supported with tombstone renderer |
| done | P1 | p1.status-board | /roadmap/status — by-bot, by-phase, by-task views |
| done | P1 | p1.v3-plan-page | /roadmap/v3 — 8-phase timeline with done / in-progress / locked / pending pills |
| done | P1 | p1.system-health-bar | Thin strip under topnav showing v3 phase + counts on every page |
| done | P1 | p1.definition-of-done | /standards/definition-of-done — what counts as readiness, what does not |
| done | P1 | p1.forbidden-pattern-docs | Forbidden pattern: do not score documentation completeness as readiness |
| done | P1 | p1.forbidden-pattern-risk | Forbidden pattern: do not allow risk to evaluate orders before strategy emits an OrderIntent |
| pending | P1 | p1.cli-bot-new | CLI: pt-bot new <slug> — scaffolds a bot from the matching class template |
| pending | P1 | p1.mock-adapter | Mock CLOB v2 adapter playing recorded fixtures through the contracts |
| pending | P2 | p2.contracts-imports | Reference Intel and Discovery bots import from @polytraders/contracts |
| pending | P2 | p2.fixture-pack | Recorded CLOB v2 fixture pack covering normal / warning / hard / failure |
| pending | P2 | p2.freshness-budgets | Per-source freshness budgets enforced at adapter boundary |
| pending | P2 | p2.provenance-hash | Every normalised object carries the source response hash |
| pending | P3 | p3.envelope-runtime | Runtime emits envelopes with botVersion + configVersion auto-populated |
| pending | P3 | p3.audit-log-consumer | gov.audit_log consumes the envelope stream end-to-end |
| pending | P3 | p3.lint-no-freetext | CI lint rule: no console.log / no free-text logger calls in bot code |
| pending | P4 | p4.risk-pipeline-runtime | Runtime applies Risk bots in declared order and short-circuits on REJECT |
| pending | P4 | p4.killswitch-shadow | risk.killswitch running in shadow against historical intents |
| pending | P4 | p4.compliance-shadow | risk.compliance_gate running in shadow against historical intents |
| pending | P5 | p5.exec-plan-end-to-end | OrderIntent → ExecutionPlan → SignedOrderRequest path through the mock adapter |
| pending | P5 | p5.builder-code-coverage | 100% builderCode coverage — emit fails closed if builderCode is missing |
| pending | P6 | p6.maker-tight-shadow | strat.maker_tight emits valid OrderIntents in shadow |
| pending | P7 | p7.replay-from-envelope | gov.replay_simulator reconstructs decisions from the envelope stream alone |
| pending | P7 | p7.reconcile-heartbeat | gov.reconciler runs on heartbeat against on-chain state |
| pending | P8 | p8.no-new-strategies | Hard rule: no new Strategy bots until phases 1–7 lock |