diff --git a/F-progress.md b/F-progress.md index f35d563..0e35b28 100644 --- a/F-progress.md +++ b/F-progress.md @@ -4,6 +4,24 @@ --- +## Round 5 (v1.1 close-out + v2 foundations) — IN PROGRESS + +Lane F role: **v1.1 watch** + v2 flag-seam wiring + QA-harness-for-v2 + shared-tree marshal. +Full tracking in [`LANE_F_NOTES §10`](docs/LANES/LANE_F_NOTES.md). + +| task | status | +|---|---| +| **fal un-park check** | ✅ Verified already done — `039c179` un-parked fal in Lane E's brief (decision #4 + Lane E task 3: glass-case + bus-shelter + optional magazine-rack, ≤2 attempts, costs logged in AUDIT.md). **Nothing for F to change.** | +| **archive R3/R4 instruction claims** (F4) | ✅ Added "SUPERSEDED by R5" banner to `ROUND3_INSTRUCTIONS.md` + `ROUND4_INSTRUCTIONS.md`. | +| **v2 flags table** (F4) | ✅ Scaffolded in LANE_F_NOTES §10 (`?plansrc=osm` A, `?winmap=1` B, `?dig=1` C, `?roster=stream` D) — all pending owning-lane specs. | +| **F1 tag v1.1** | ⏳ **WATCH** — blocked on C1 (re-map `counter_till`/`record_crate`) + E1 (hero-prop bake ≤8k). No round-5 lane commits yet (HEAD `039c179`). | +| **F2 wire v2 seams** | ⏳ pending lanes documenting call-sites (esp. C's `?dig=1` interior-mode input seam — real work, F owns the mode machine). | +| **F3 v2 QA harness** | ⏳ determinism gate (first-interior-hash per seed) · flags-off regression check (v2-prime-law enforcement) · v2 smoke → qa.sh warn-gate. Build as flags land. | + +Base state: v1.0 (`2698b40`), `qa.sh --strict` GREEN 4/4, tree clean. + +--- + ## Round 4 (v1-tag round) — DONE ✅ (all 6 gates green; v1.0 tagged) Executed Fable's `ROUND4_INSTRUCTIONS.md` Lane F tasks. All lanes committed R4; a 6-auditor diff --git a/docs/LANES/LANE_F_NOTES.md b/docs/LANES/LANE_F_NOTES.md index f1c3084..ac9e56c 100644 --- a/docs/LANES/LANE_F_NOTES.md +++ b/docs/LANES/LANE_F_NOTES.md @@ -306,3 +306,39 @@ polled `window.DBG` before its async install (race → false "absent"); read `DB (it's a lot **id**); soak now pins midday (else §3.5 closes shops mid-walk) + pre-warms the shared GLB cache (else the one-time upload reads as a leak) + budget peaks demoted to warnings (DBG.info samples spike during streaming; gate 3's clean single-pass is authoritative). + +--- + +## 10. Round 5 — v1.1 close-out + v2 flag seams (Lane F tracking) + +Round 5 (v1.1 polish + v2 foundations behind flags). **v2 prime law:** default boot stays +v1-identical; `GOLDEN.hash 0x3fa36874` must not move; `qa.sh --strict` green at every commit. + +### v1.1 tag — ⏳ WATCH (blocked on C1 + E1) +Tag `v1.1` once **Lane C** re-maps `counter_till` + `record_crate` (C1) and **Lane E** bakes the +hero props ≤8k (E1). F then: verify record/milkbar/opshop interiors (GLB counter+till correct, bins +upgraded, baked props look right), re-capture ONLY the 2 interior tour shots if improved, qa green → +`git tag v1.1` (local). *Nothing to tag yet — HEAD `039c179`, no round-5 lane commits.* + +### v2 flag seams — table (F wires `web/index.html` + `tools/` as lanes document them) +Every flag **default-off + independent**. Wire only from the owning lane's NOTES call-site spec. + +| flag | owner | what | F wiring | state | +|---|---|---|---|---| +| `?plansrc=osm` | A | second plan source (OSM fixture) behind the CityPlan contract | select in shell plan bootstrap | ⏳ pending A | +| `?winmap=1` | B | parallax interior-mapping window shader | none (B owns glass); F adds the flag pass-through if needed | ⏳ pending B | +| `?dig=1` | C | dig.js crate-riffle on procedural stock | **real work — interior-mode input seam** (`interiorMode.onInteract(fitting)`); F owns the mode state machine | ⏳ pending C spec | +| `?roster=stream` | D | chunk-streamed citizen roster | wire the flag + confirm B's `ctx.onChunkBuilt/onChunkDisposed` feed | ⏳ pending D | + +### v2 QA harness extensions (F3) — build as flags land +- **Determinism gate:** pin `plan-hash` + `first-interior-hash` per `(seed, plansrc)`. Synthetic + stays `0x3fa36874`; add the osm-fixture hash when A lands. +- **Flags-off regression check:** boot no-flags → assert plan hash + a settled draws/tris snapshot + within tolerance of the v1 baseline (catches a v2 flag leaking into the default path). *This is the + enforcement arm of the v2 prime law — build early, before flags land.* +- **v2 smoke:** boot each flag on, walk 2 chunks, enter 1 interior (+1 dig if C landed), 0 console + errors. Wire into `qa.sh` as a **non-strict (warn) gate** this round; strict next round. + +### Marshal +Shared-tree arbiter this round: F owns `web/index.html` + `tools/`; if two lanes collide on a file, +F arbitrates. Cross-lane asks → the owning lane's NOTES, not silent edits. diff --git a/docs/LANES/ROUND3_INSTRUCTIONS.md b/docs/LANES/ROUND3_INSTRUCTIONS.md index 77c4fed..5aaf6a3 100644 --- a/docs/LANES/ROUND3_INSTRUCTIONS.md +++ b/docs/LANES/ROUND3_INSTRUCTIONS.md @@ -1,5 +1,8 @@ # PROCITY — Round 3 lane instructions (from Fable, integrator) +> **⚠ SUPERSEDED by [ROUND5_INSTRUCTIONS.md](ROUND5_INSTRUCTIONS.md) (2026-07-14).** Rounds 3–4 +> are complete — v1.0 tagged. Historical reference only; do not action. + Date: 2026-07-14 · Written after all six lanes finished round 2 and Lane F's first two integration passes landed. Repo state as of these instructions: **everything committed on `main`**, `tools/qa.sh --strict` **GREEN** (4/4 gates, selfcheck 1283/1283, manifest 0 errors). diff --git a/docs/LANES/ROUND4_INSTRUCTIONS.md b/docs/LANES/ROUND4_INSTRUCTIONS.md index 503671e..8b5d18d 100644 --- a/docs/LANES/ROUND4_INSTRUCTIONS.md +++ b/docs/LANES/ROUND4_INSTRUCTIONS.md @@ -1,5 +1,8 @@ # PROCITY — Round 4 lane instructions (from Fable, integrator) +> **⚠ SUPERSEDED by [ROUND5_INSTRUCTIONS.md](ROUND5_INSTRUCTIONS.md) (2026-07-14).** Round 4 is +> complete — v1.0 tagged (`2698b40`, all 6 gates green). Historical reference only; do not action. + Date: 2026-07-14 · Written after all six lanes finished round 3. You are an Opus 4.8 agent assigned ONE lane (read your session prompt). Read this file, your `docs/LANES/LANE__*.md` spec, your `-progress.md`, and any `LANE_*_NOTES.md` addressed to you before touching code.