Retrospective record · all retros
deliberations/closed-claude-2026-06-20-p-c-wave-1-foundations-retro.md.The sprint did the foundational thing right: it turned three specs into executable reference contracts before any physical surface was built. No work item was reopened. The floor (P9) proved its worth in the same wave — P5 imports it instead of inventing IDs, validating the P9-first build order (D30).
A Claude finding was withdrawn on review: P1 does not need to absorb the P9 floor convention into its schema — per CONVENTION.md/D33 the floor IDs are a gateway wrapper around the payload, so request_id stays scan-local and the wrapper is proven later at the gateway (WI-069).
| Item | Verdict | Note |
|---|---|---|
| WI-010 P1 | Sound | Schema bundle + golden fixtures cover all 7 payloads, comparables, taxonomy/watchlist, versioning, 0–1000 coords. Tested via a custom validator (not an independent Draft-2020-12 one — see finding 3). |
| WI-014 P5 | Sound, floor-aligned | One-door reference proven in code; in-memory only — physical enforcement is P6/WI-015's job (see finding 4/5). |
| WI-068 P9 | Sound | Convention + quarantine + keyless floor; API envelope/DTO (WI-069) deferred to W4. |
| # | Finding | Found by | Action |
|---|---|---|---|
| 1 | P1 bundle fit for Wave 1 | Codex | No action — accepted |
| 2 | P1 needs no P9-floor schema change (gateway wrapper, D33) | Both (Claude conceded) | No P1 action; verify wrapper in WI-069 |
| 3 | P1 tested via custom validator, not independent Draft-2020-12 | Codex | WI-072 (backlog) — standard-schema smoke test |
| 4 | P5 strong but in-memory only | Both | WI-015 acceptance criterion — conformance-test P6 vs the P5 reference |
| 5 | P5 invariants to cover in P6: import-run idempotency, durable-media rejection, expected item-version, status/attach-media decisions, physical actor authz | Codex | Folded into the WI-015 criterion |
| 6 | P9 sound + reused; API/DTO/gateway deferred | Both | No Wave 1 action; verify in WI-069 |
| 7 | platform README drift (KEYLESS list → auto-discover) |
Both | Fixed |
| 8 | ci-floor.mjs not hermetic (bare npm/node) |
Codex | Fixed — process.execPath |
platform/README.md drift fixed (finding 7); ci-floor.mjs hardened to process.execPath (finding 8) — floor still green, 4 suites.status.retros; ended date recorded; decision logged as D39.