Shared contracts
in progress ◀ we are hereFrozen typed wire objects and the reason-code registry. Every other phase imports from here.
Runtime stages advanced
Bots in this phase · no bots in this phase
Exit gate
Contracts package verifies green. Schemas page renders from manifest. Mock adapter validates fixtures against the published schemas.
Infra tasks (15/17)
| State | ID | Task |
|---|---|---|
| done | p1.contracts-package | Create packages/polytraders-contracts with TS + JSON schemas |
| done | p1.schema-manifest | schemas/manifest.json is the single source of truth for the dev guide |
| done | p1.verify-script | tests/verify-contracts.js — every TS file pairs with a schema, every schema has $id/title/description |
| done | p1.dev-guide-reads-manifest | /standards/schemas reads from the manifest, not from inline strings |
| done | p1.reason-code-pattern | All reason codes match ^(INTEL|DISC|STRAT|RISK|EXEC|SEC|GOV)_[A-Z0-9_]+$ — enforced by schema |
| done | p1.three-score-model | Three-score model (docs/impl/runtime) added to every bot page |
| done | p1.capital-impact-field | capital_impact added to every bot — Critical / Direct / Indirect |
| done | p1.quarantine-mode | Quarantine mode added to risk/exec/sec bot mode_support |
| done | p1.deprecated-status | Deprecated status supported with tombstone renderer |
| done | p1.status-board | /roadmap/status — by-bot, by-phase, by-task views |
| done | p1.v3-plan-page | /roadmap/v3 — 8-phase timeline with done / in-progress / locked / pending pills |
| done | p1.system-health-bar | Thin strip under topnav showing v3 phase + counts on every page |
| done | p1.definition-of-done | /standards/definition-of-done — what counts as readiness, what does not |
| done | p1.forbidden-pattern-docs | Forbidden pattern: do not score documentation completeness as readiness |
| done | p1.forbidden-pattern-risk | Forbidden pattern: do not allow risk to evaluate orders before strategy emits an OrderIntent |
| pending | p1.cli-bot-new | CLI: pt-bot new <slug> — scaffolds a bot from the matching class template |
| pending | p1.mock-adapter | Mock CLOB v2 adapter playing recorded fixtures through the contracts |