Commit graph

3 commits

Author SHA1 Message Date
Erik
934fe8dd2e docs: close route 3's autorun-cancel gate — verified live, correcting my own note
An earlier revision of the gate-results section recorded route 3's autorun
cancel as live-unverified, because the first three portals all reported
autorun=unchanged. That was true of those three and wrong as a conclusion: the
user portalled again with autorun engaged and the fourth line reads

  [local-tp] cause=portal host=graphical status=Committed gen=5 seq=4
  dest=0x00070145 resolved=0x00070145 hookTail=ran leash=armed
  autorun=cancelled

This verifies the PlayerTeleported @0x006B32B0 SetAutoRun(0,1) +
SendMovementEvent port in live play. It was a real gap before this slice —
nothing cancelled the J5.4 autorun latch on arrival, so auto-running into a
portal left you running on the far side where retail stops you.

All four load-bearing fields on that line read correctly: Committed,
hookTail=ran (inversion B — the local teleport_hook runs AFTER placement,
opposite to 4b-3's remote arm), leash=armed (inversion A — the leash IS armed
here, opposite to route 2's ForcePosition rule), and autorun=cancelled.

Route 3's connected gate is now fully exercised. Route 7's remains thin (one
cause=propagate) and gate 4 remains unrun with an UNESTABLISHED trigger.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 08:12:40 +02:00
Erik
8ed4a7b24a docs: record the C4 connected gate results — three of four run, with their gaps
User-run against the exact e0f96a55 Release binary with the retail UI and both
probes; user verdict "works great".

Route 3 passes unambiguously: three [local-tp] lines, all Committed,
hookTail=ran, leash=armed, across three destinations. leash=armed is the
load-bearing observation — before the round-2 R3 fix that field read
IsFullyConstrained() and could only ever print unarmed, so the line proves
both the leash arm and the corrected probe.

Route 7 passes but THINLY: 17 [child-cell] lines, of which 13 attach, 3
delete, and exactly ONE propagate. The stated criterion (at least one
propagate) is met, so the gate passes — but propagation across a parent cell
crossing is the slice's whole purpose, and one sample shows the path executes
rather than that it holds across repeated crossings. Recorded as thin rather
than counted as full coverage; a future session should expect double-digit
propagate counts from several equipped boundary crossings.

Route 6 passes on visual confirmation only, which is inherent to a route with
zero production lines and therefore no probe.

Gate 4 (4b-3's cause=cellless) remains unrun, as expected — route 7
invalidated its recorded trigger and the replacement is UNESTABLISHED.

Two things this session did NOT exercise, recorded rather than glossed: route
3's autorun cancel never fired (all three portals report autorun=unchanged, so
the PlayerTeleported @0x006B32B0 SetAutoRun port is live-unverified — engage
autorun before a portal to close it), and AP-144's autonomy divergence stays
structurally unreachable. Per both round-2 reviewers' condition, this session
is explicitly NOT scored as covering #318.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 08:10:59 +02:00
Erik
e0f788255d 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:
  4a    44830a0e   |  4b-1  2e8e09ac
  4b-3  6dc7ba51   2 rounds; gate PASSED-partial (21cd6e9b), cellless unexercised
  5     36255af0   3 rounds, 8 MAJORs; NO live gate possible by design
  6     1b484937   zero production lines; its tests found #314
  7     cd3129e9   2 rounds + a required third pass, 5 MAJORs
  3     e0f96a55   3 rounds; found a 100%-dead production path
plus edc911b0 (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>
2026-08-05 04:13:08 +02:00