docs: close out C4 — all routes landed, with the four owed gates and the process findings
C4's route work is complete. Records the landings, corrects the campaign plan's now-false claims, updates the roadmap, and writes the successor handoff at docs/research/2026-08-05-c4-closeout-handoff.md. Routes, with review rounds and gate status: 4a44830a0e| 4b-12e8e09ac4b-36dc7ba512 rounds; gate PASSED-partial (21cd6e9b), cellless unexercised 536255af03 rounds, 8 MAJORs; NO live gate possible by design 61b484937zero production lines; its tests found #314 7cd3129e92 rounds + a required third pass, 5 MAJORs 3e0f96a553 rounds; found a 100%-dead production path plusedc911b0(the OnPosition dual-tail collapse),aaf0811f(#315),daef7c98(#314),a89bcb39(#316 filed). Suite 11,027 -> 11,090 passed / 4 skipped / 0 failed. Every checkpoint 0-failed; no test weakened, no Skip introduced. FOUR CONNECTED GATES ARE OWED and none has been run. Each is recorded with its recipe and a probe-gated pass criterion, because a clean-looking session is not a pass: route 6 drops; route 7 equip/carry with ACDREAM_PROBE_CHILD_CELL=1 (counts only if cause=propagate appears); route 3 portal/recall with ACDREAM_PROBE_LOCAL_TELEPORT=1 (counts only if [local-tp] appears, and is explicitly NOT scored as covering #318); and 4b-3's cause=cellless case — whose recorded recipe route 7 INVALIDATED, since unwield-to-3D no longer yields a cell-less pre-merge cell. Its replacement trigger is stated as UNESTABLISHED rather than guessed. Campaign-plan corrections beyond the C4 section, all found by checking against HEAD rather than trusting the text: - "six fixture failures ... classify before C5" — resolved as #281, and "six" was a mis-measurement; the measured baseline was 43. - "fold in #276 and #277" — #276 only partially (projectile half); #277 not at all, its trigger never fired. - "#269 slope-glide visual check" — #269 was closed 2026-07-31, BEFORE the plan was written. The surviving item is #278(b). - the 4b-2 bullet's "Still outstanding: #309" — re-scoped 2026-08-04; only the GotoLostCell half survives. Seven process findings, each cited to a commit so a successor can check them: (a) THE CONTRACT CAUSES THE DEFECT — three defects this campaign came from a contract asserting a mechanism that did not exist; route 3's "Place re-fires" assumption released the player at the pre-teleport position. Route 7 adds the variant: enter_cell's part_array guard was correctly called load-bearing by the research, dropped by the contract, and inherited as an omission by the code — a right finding that evaporated across two handoffs with nobody re-reading the source. (b) INFERRING A FACT YOU CAN OBSERVE IS HOW A FIX GOES SILENT — route 3's round-2 fix inferred "committed" from a global PendingCount that three non-committing paths also clear, so the same bug completed cleanly and PASSED its invariant. Strictly worse than the defect it replaced. (c) PLANNING DOCS GO STALE ACROSS CUTOVERS — at least five were wrong against HEAD. Re-verify by symbol, never by line number; route 3's by-symbol sweep proved only 2 of 5 flagged files actually intersected. (d) A SKIPPED TEST IS A PERMANENT FALSE SIGNAL — refusing 7 skips uncovered a production bug that had made the entire portal arm dead code. (e) SABOTAGE-VERIFY, AND WATCH FOR TESTS READING A CONSTANT THEY PERTURB — one built a 64,000-node chain and stack-overflowed the host; another survived deleting the whole behaviour it claimed to pin, because its assertion read a field written unconditionally one line earlier. (f) REVIEWERS RETRACT, AND THAT IS THE PROCESS WORKING — three self- retractions, two of which prevented shipping a wrong register row or a relocated defect. (g) A GATE MUST BE ABLE TO SEE THE DEFECT IT GATES — three gates were unpassable or blind as specified and were corrected BEFORE being run. Issues: #313, #316, #317, #318 open; #314, #315 closed. Register rows AP-141 through AP-145 added; AD-42 deleted, AD-2 amended. C5 inherits #318's composition test (discriminating assertion: PhysicsEngine.ShadowObjects must hold a row at the destination, not merely the dedup cache), AP-145's cache-without-publish asymmetry, the #276/#277 remainders, and the probe-family strip. Three things the closeout could NOT verify are stated as such rather than smoothed: route 3 has no standalone round-3 review document (acceptance lives in e0f96a55's message and both round-2 pass conditions); route 7's round terminology differs across its own artifacts; and route 6's lack of dual reviews is inferred from absent review docs, not stated anywhere. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
e0f96a55bf
commit
e0f788255d
4 changed files with 497 additions and 11 deletions
|
|
@ -89,12 +89,26 @@ The O(changed) collision-publication checkpoint and five stabilization fixes
|
|||
through `175ad6b0` restore recenter convergence, remote world-frame placement
|
||||
and targeting, distant Use, one-shot spell/projectile/static effects, and
|
||||
login materialization; the corresponding connected user gates passed. The
|
||||
campaign remains open for six fixture reconciliations, C4 routes 2–7, portal
|
||||
destination prefetch #280, the final-binary C5 suite/soak/visual matrix,
|
||||
AP-22 authored object shapes, and AD-10 remote contact-plane projection.
|
||||
Current plan and copy-ready handoff:
|
||||
fixture reconciliation closed 2026-08-03 as #281 (the recorded "six" measured
|
||||
as 43). **C4 is implementation-complete 2026-08-05**: routes 2 (`9966b531`,
|
||||
user-accepted), 4a (`44830a0e`), 4b-1/4b-2/4b-3
|
||||
(`2e8e09ac`/`7f1c1f5a`/`6dc7ba51` — 4b-2's far-snap and 4b-3's teleport-ts
|
||||
connected gates user-passed), 5 (`36255af0`, test-gated by design — ACE never
|
||||
sends a missile UpdatePosition), 6 (`1b484937`, a zero-production-line
|
||||
closure whose coverage tests found and fixed #314), 7 (`cd3129e9`, child-cell
|
||||
propagation moved from a render tick into Runtime), and 3 (`e0f96a55`, the
|
||||
canonical portal placement authority) all place through the canonical Runtime
|
||||
owner; the complete Release suite measures 11,090 passed / 4 skipped /
|
||||
0 failed. The campaign remains open for C4's four owed connected gates
|
||||
(route 6 drops; route 7 equip/carry counted only with `cause=propagate`
|
||||
probe lines; route 3 portal/recall counted only with `[local-tp]` probe
|
||||
lines and not scored against #318; 4b-3's `cause=cellless` case, whose
|
||||
recorded trigger route 7 invalidated), portal destination prefetch #280, the
|
||||
final-binary C5 legacy-deletion/suite/soak/visual matrix, AP-22 authored
|
||||
object shapes, and AD-10 remote contact-plane projection.
|
||||
Current plan and successor handoff:
|
||||
[`2026-08-02-placement-cutover.md`](2026-08-02-placement-cutover.md) and
|
||||
[`NEXT-AGENT-PROMPT.md`](../research/2026-08-02-collision-throughput-handoff/NEXT-AGENT-PROMPT.md).
|
||||
[`2026-08-05-c4-closeout-handoff.md`](../research/2026-08-05-c4-closeout-handoff.md).
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -43,19 +43,34 @@ with zero errors. The long connected soak and complete solution suite have
|
|||
run also exposed five `LiveEntityRuntimeTests` failures tied to the still-open
|
||||
placement cutover plus one old remote first-entry fixture that supplies an
|
||||
empty collision source; classify and fix those before claiming C5 closure.
|
||||
**Resolved 2026-08-03 as #281 (DONE):** the "six selected fixture failures"
|
||||
figure was itself a mis-measurement — the measured baseline found **43**
|
||||
(28 App broken by `670f307c`, 2 more by `f24532ad`, 13 Runtime) — repaired
|
||||
without weakening assertions (`6dcb94ac`, `98e9f9e8` and the recent-regression
|
||||
cleanup closed at `2ef02f8c`); every later checkpoint's complete suite ran
|
||||
0-failed.
|
||||
|
||||
Remaining campaign work, in order:
|
||||
|
||||
1. Reproduce and repair the six fixture failures without weakening their
|
||||
assertions or adding compatibility bypasses.
|
||||
assertions or adding compatibility bypasses. **DONE 2026-08-03 (#281 —
|
||||
the real count was 43; see the correction above).**
|
||||
2. Finish C4's routes 2–7 and remove their legacy placement writers; fold in
|
||||
#276 and #277 where their route becomes authoritative.
|
||||
#276 and #277 where their route becomes authoritative. **DONE 2026-08-05
|
||||
except the four owed connected gates (see the C4 slice below). #276 was
|
||||
folded only PARTIALLY — route 5 closed its projectile half; the
|
||||
`SpawnPlacementSettler` settle-cell discard remains OPEN. #277 was NOT
|
||||
folded: no streaming/broadcast radius changed, so its service-window
|
||||
conversion remains a trigger-conditioned carry, not a completed item.**
|
||||
3. Resolve #280 with retail's configured destination-prefetch window so the
|
||||
portal viewport never reveals visibly constructing far terrain.
|
||||
4. Run C5's complete Release suite, lifecycle/reconnect route, latest-binary
|
||||
nine-stop soak, two-client observation, and the remaining #269 slope-glide
|
||||
visual check. A pass from `01f4791e` is evidence for that fix, not a
|
||||
substitute for the final-binary soak.
|
||||
substitute for the final-binary soak. **Correction 2026-08-05: #269 was
|
||||
already closed and user-accepted 2026-07-31 (before this plan was
|
||||
written); the surviving visual item is #278(b)'s lateral-glide
|
||||
comparison, not #269.**
|
||||
5. Delete the superseded paths, retire AP-1/AD-1/AP-131 and AD-60's legacy
|
||||
half only when the code proves they are gone, then complete AP-22 and
|
||||
AD-10 and close the campaign ledger.
|
||||
|
|
@ -309,6 +324,84 @@ same commit) → docs/handoff commit. No workarounds; no fused slices.
|
|||
6 (drops + split-recovery marking), 7 (residual pickup/parent/delete
|
||||
polish). — route 2 COMPLETE AND USER-ACCEPTED 2026-08-03 (`9966b531`);
|
||||
routes 3/4/5/6/7 remain OPEN.**
|
||||
|
||||
**C4 IMPLEMENTATION COMPLETE 2026-08-05.** Every route now places through
|
||||
the canonical Runtime owner; the campaign's remaining C4 debt is exactly
|
||||
the four owed connected gates listed at the end of this bullet. Per-route
|
||||
record (each with contract + independent dual reviews per the standing
|
||||
discipline; suite counts measured, never inherited — final complete
|
||||
Release suite **11,090 passed / 4 skipped / 0 failed** at `e0f96a55`):
|
||||
- **4a LANDED `44830a0e`; 4b-1 LANDED `2e8e09ac` (dormant
|
||||
infrastructure); 4b-2 LANDED `7f1c1f5a`** (recorded in the sub-bullets
|
||||
below with its four fix rounds and user-passed far-snap gate).
|
||||
- **4b-3 LANDED `6dc7ba51` (2026-08-04)** — remote teleport + cell-less
|
||||
through the canonical placement; `RemoteTeleportController` (605 lines),
|
||||
`RemoteTeleportPlacement` (85), and ~1,709 test lines deleted. Dual
|
||||
round 1 FAIL/FAIL → round 2 delta PASS/PASS; three NPC-arm MAJORs
|
||||
closed. **Connected gate PASSED-partial (`21cd6e9b`)**: 16
|
||||
`[remote-teleport]` probe lines over 7 creatures, all
|
||||
`cause=teleport-ts` — `cause=cellless` was never observed and remains
|
||||
test-covered only (owed gate 4 below). Docs at `8c269ad1`; findings
|
||||
chain in `2026-08-04-c4-route-4b-3-*.md`.
|
||||
- **Route 5 LANDED `36255af0` (2026-08-04)** — projectile authoritative
|
||||
placement (#276 partial), preceded by a mandatory byte-decode gate
|
||||
(`MoveOrTeleport` @0x00516330 never reads its velocity argument, which
|
||||
also spawned #317). Three dual review rounds closing 8 MAJORs; round 3
|
||||
retail PASS with the AP-141 risk-column retraction (C1), architecture
|
||||
FAIL on a coverage-only C1 closed in-commit with two sabotage-verified
|
||||
retry-arm tests. **NO connected gate exists for this route, by
|
||||
design** — ACE never sends a missile UpdatePosition
|
||||
(`WorldObject_Tick.cs:333-334`); every proof is deterministic-test-gated
|
||||
and recorded as such. Interim landings alongside: the OnPosition
|
||||
dual-tail collapse (`edc911b0`, whose scoping found and filed #316),
|
||||
#315 closed (`aaf0811f`), #314 closed (`daef7c98`).
|
||||
- **Route 6 CLOSED `1b484937` (2026-08-04) with ZERO production lines** —
|
||||
C3c had already flipped both drop flavours onto the canonical create
|
||||
transaction; the landing is 7 sabotage-verified coverage tests, the
|
||||
retail split-marking record (#313 filed for the `DeclareValid`
|
||||
selection transfer), and the correction of this plan's own false
|
||||
effect-replay premise (see the corrected gap list above). Its coverage
|
||||
tests immediately found #314 (split recovery threw on retained
|
||||
timestamps), fixed in its own commit `daef7c98`. **Connected gate owed**
|
||||
(drops recipe — owed gate 1 below).
|
||||
- **Route 7 LANDED `cd3129e9` (2026-08-04)** — child cell propagation
|
||||
moved from a render tick into Runtime: retail `set_parent`'s attach-time
|
||||
re-cell completed in `CommitAcceptedParentCellless`, the recursive
|
||||
parent-cell-crossing propagation at the one directory funnel (iterative
|
||||
worklist — the initial depth-64 cap was deleted after both round-2
|
||||
reviews independently found its truncation residue was the #184 shape),
|
||||
`TickChild` demoted to presentation-only, the headless parent-realize
|
||||
drive added (its direct regression test failed before this work), and
|
||||
the dead `ClassifyLeaveWorld` family deleted. Dual round 1 FAIL/FAIL →
|
||||
round 2 delta PASS/PASS plus a coordinator-required third pass; 5
|
||||
MAJORs. AP-142/AP-143 filed. **Connected gate owed** (equip/carry with
|
||||
`cause=propagate` probe evidence — owed gate 2 below). Route 7 also
|
||||
INVALIDATED 4b-3's recorded cell-less live recipe (contract §11; the
|
||||
supersession note is appended to the 4b-3 contract).
|
||||
- **Route 3 LANDED `e0f96a55` (2026-08-05)** — the LAST route: the first
|
||||
production `RuntimePortalPlacementAuthority` producer, the portal arm on
|
||||
route 2's drive controller, `CommitCanonicalTeleportFrame` with the
|
||||
`PlayerTeleported` port (autorun cancel + one movement event), and both
|
||||
duplicate authorities deleted (`LocalPlayerTeleportPlacement.Place`,
|
||||
`ResynchronizeLocalPlayerForPortalArrival` — AD-42's row deleted with
|
||||
them). Contract at `19ebf043`; scoping/propagation research at
|
||||
`ca96ea5e`. Dual round 1 FAIL/FAIL → dual round 2 FAIL/FAIL (near miss)
|
||||
→ round-3 fix pass accepted per both round-2 reviews' explicit pass
|
||||
conditions; the round-3 record is the commit message plus #318 and
|
||||
AP-144/AP-145 (no standalone round-3 review doc). The fix pass's
|
||||
refusal to accept 7 skipped tests uncovered a real production bug (the
|
||||
canonical portal arm was 100% dead code — the accepted-destination slot
|
||||
it re-read at Place time was already consumed at Aim time). **Connected
|
||||
gate owed** (portal/recall with `[local-tp]` probe evidence — owed gate
|
||||
3 below — and explicitly NOT scored as covering #318).
|
||||
- **The four owed connected gates**, with recipes and pass criteria in
|
||||
[`2026-08-05-c4-closeout-handoff.md`](../research/2026-08-05-c4-closeout-handoff.md):
|
||||
(1) route 6 drops; (2) route 7 equip/carry across landblock boundaries,
|
||||
counted only with `[child-cell]` `cause=propagate` lines; (3) route 3
|
||||
portal/recall, counted only with `[local-tp]` lines, not scored against
|
||||
#318; (4) 4b-3's `cause=cellless` case, whose recorded trigger route 7
|
||||
invalidated — the replacement provocation is UNESTABLISHED and needs its
|
||||
own investigation. None has been run.
|
||||
**Route 4 SPLIT into 4a and 4b (user-directed 2026-08-03).** Scoping
|
||||
([`2026-08-03-c4-route-4-scoping.md`](../research/2026-08-03-c4-route-4-scoping.md))
|
||||
put whole-route 4 at 1,500-2,500 production lines against a stated ~400
|
||||
|
|
@ -386,7 +479,11 @@ same commit) → docs/handoff commit. No workarounds; no fused slices.
|
|||
accepting session shows 11 parks, all `cause=unplaceable` — zero
|
||||
quiescence-cause parks, so the shared-core park change is NOT yet
|
||||
connected-verified. Without the probe that session would have been
|
||||
recorded as a pass.
|
||||
recorded as a pass. **Re-scoped 2026-08-04: #309 is largely superseded
|
||||
by #312 (closed `b1f914d5`, user-passed); what survives is the narrow
|
||||
`GotoLostCell` half — retail keeps a lost-cell object hidden until
|
||||
`reenter_visibility`; acdream re-shows it on cancel. Re-scope before
|
||||
running it.**
|
||||
Process lesson recorded: the round-1 defect was caused by the contract
|
||||
omitting "and still advance the pose", and the park defect should have
|
||||
been split into its own slice the moment it surfaced in round 2 instead
|
||||
|
|
@ -485,6 +582,21 @@ same commit) → docs/handoff commit. No workarounds; no fused slices.
|
|||
campaign's stopping point for user acceptance). Retire AP-1, AD-1,
|
||||
AP-131, AD-60's legacy half, and close #275. Update register/roadmap/
|
||||
milestones/architecture/memory + successor handoff.
|
||||
**Inheritance recorded at C4 closeout (2026-08-05, full detail in
|
||||
[`2026-08-05-c4-closeout-handoff.md`](../research/2026-08-05-c4-closeout-handoff.md)):**
|
||||
the #318 end-to-end portal composition test, whose discriminating
|
||||
assertion is that **`PhysicsEngine.ShadowObjects` holds a row at the
|
||||
destination — not just `LocalPlayerShadowState`'s dedup cache** (AP-145's
|
||||
cache-without-publish asymmetry is why a cache-only assertion is satisfied
|
||||
by the bug); the route-3 C5 sweep candidates (`ILocalPlayerTeleportPlacement`
|
||||
as a thin acknowledge seam; the test-only `BeginAcceptedPlacement`/
|
||||
`BeginAuthoredPlacement` wrappers); #276's settle-cell remainder and
|
||||
#277's trigger-conditioned conversion; #316's measure-before-fix, #317's
|
||||
velocity-chain audit, #313, and #309's re-scoped narrow half; the
|
||||
cell-less live-trigger investigation (owed gate 4); and the TEMPORARY
|
||||
physics probe family strip (`REMOTE_LANDING`/`REMOTE_SLIDE`/`PARK`/
|
||||
`REMOTE_TELEPORT`/`CHILD_CELL`/`LOCAL_TELEPORT`) — after, never before,
|
||||
the four owed gates consume them.
|
||||
|
||||
After C5: AP-22 (authored collision shapes), then AD-10 (remote
|
||||
contact-plane projection), then the campaign's final matrix and ledger
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue