Use one evolving plan per coherent workstream when work needs durable memory.
Use docs/templates/exec-plan.md, keep progress and validation current, avoid
parallel duplicate plans for the same workstream, and move a plan to
../completed/ only after the result is verified.
Production publish is framework-dependent single-file. AOT spike:
completed (rolled back). UI/AOT:
0032. JSON facades:
0031 —
plan completed. Remaining
object? on invoke/batch DTOs is 0031 follow-up, not an active plan.
Headless-automatable gaps closed:
2026-09-04-known-test-gaps.
Remaining live-host / year-matrix / pixi-opt-in stay in test-matrix.md.
Split god project DevTools.Mcp.Tests into module-scoped projects:
2026-09-04-mcp-test-project-split.
- Product: 0027. Host pipe: 0012.
- Host-wire 2.2: 2026-08-31.
- Spec engine: 2026-08-02.
- Layer identity S5: 2026-09-03 — landed. Open follow-on (no plan yet): S1 vs S2 packaging gate; SDK-free host contracts.
- MRTR: 2026-08-02 — G1 landed; elicitation/progress not product (0027).
| Track | Decision | Plan | Status |
|---|---|---|---|
| P1 testing core | 0020 | completed | Landed |
| Kernel extract | 0021 | completed | Landed — PolySharp not in plan |
| Open-closed providers | 0024 | completed | Landed |
| Contract narrow | — | completed | Landed 2026-09-10 — machine-run rename deferred |
| TUnit spike | — | completed | Closed 2026-09-04 — not a production track |
NUnit MTP-only (0022) is completed.
No active execution plans besides the MCP test split.