P&C Wave 1: Foundations

Retrospective record · all retros

P&C Wave 1: Foundations — Retrospective

Outcome

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).

Per-item review (vs spec/vision)

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.

Combined findings + actions (reconciled, approved)

# 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 Fixedprocess.execPath

Applied on approval