acdream/docs/plans/2026-08-07-morning-gate-checklist.md
Erik d73125d3b0
Some checks are pending
Headless portability / portable-headless (ubuntu-latest) (push) Waiting to run
Headless portability / portable-headless (windows-latest) (push) Waiting to run
Headless portability / linux-graphical (push) Waiting to run
Headless portability / linux-vulkan (push) Waiting to run
fix(physics): S4/AD-65 — the away-from-plane response snaps to the surface, as retail does
Campaign S slice S4, the half that landed. Retail's CTransition::
adjust_offset @0x0050a370 branches on dot(offset, contactPlane.N) at
0x0050a4fa: moving INTO the plane subtracts the normal component
(0x0050a529), moving AWAY calls Plane::snap_to_plane @0x00509c50 —
which preserves X and Y and re-solves ONLY Z so the offset lies in the
plane (the d terms cancel algebraically), no-op under the
0.000199999995f |N.z| epsilon. acdream ran the orthogonal projection in
BOTH directions, shrinking downhill XY travel by cos^2(theta): 25% at
30 degrees, 50% at 45 — AD-65's recorded shortfall, now retired.

The combined Opus review independently re-derived the algebra, the
branch polarity, the epsilon's bit-identity (17b75139), and the
sabotage magnitude (the re-instated projection yields X = 0.75 =
cos^2 30 exactly), and verified the delta is 4 non-comment lines with
the into-plane arm, the crease arm, and both no-plane arms untouched.
Its blast-radius sweep found the away arm exercised but NOT
discriminated by any pre-existing test — every one asserts lower
bounds the snap over-satisfies — so the two new exact-value tests are
the only discriminating coverage, recorded in the test's class doc,
and the felt 33-100% downhill speed-up is the morning gate's one row.

AD-66 (the push-out's bare radius) is WITHHELD: byte-confirmed twice,
implemented, then pulled after the same clean-room binaries measured
contradictory absorbed-tick outcomes flipping with nothing but test
assert shape — issue #341 carries the observation matrix and the
apparatus plan; its two exact-value tests are [Skip]-ed; the retained
substitution's rationale is restored at the site per review F1, with
the review's remaining findings (F2/F3/F4/F5/F6) applied and F8 filed
as #342. AD-69 filed: the same block omits retail's get_block_offset
seam-frame correction, deferred to the AD-66 relanding for
attributability. #340 filed: a fifth load-sensitive flake.

Review verdict: PASS. AD-65 is provably unable to reach the #341
anomaly's code path (the absorb scenario takes the crease arm).
Clean-room suite: 11,239 passed / 6 skipped / 0 failed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 02:45:03 +02:00

4.7 KiB

Morning gate — 2026-08-07 (one sitting)

Status: READY — pending only the AD-65 review verdict and final commit, which the session lead completes before launch. Launch happens when you say go, not before.

Everything below folds the deferred visual gates into one sitting, ordered so travel between sites doubles as #339 reproduction attempts. Launch is prepared by the overnight session; the client is NOT launched until you're back (your instruction).

0. Launch (the lead runs this when you say go)

Main checkout, absolute path, probes armed. The first [step-h] line in the log must print the assembly path under C:\Users\erikn\source\repos\acdream\src\ — that is the wrong-binary guard, now part of every capture.

1. Closed overnight with nothing owed to your eyes

  • #32 local edge-slide — you passed it at the Rithwic cliff ("Yes works now"). Ledger closed, AD-67 filed for the one kept residual.
  • #338 step heights — headline refuted by full-capture statistics (111,248 authored-pair resolves vs 358 placeholder ones); no production change, nothing to look at. AD-68 records the benign async-residency placeholder.
  • AP-157 (S1A) — measured, both halves resolved without a code change: the CylHeight half is retail's own behaviour (byte-verified), and the sorting-sphere half is real vs retail's registration set but PROVEN unable to change any collision outcome (flood and test geometry are the same spheres). Fix deferred to the next bake-schema revision.
  • AD-55 (S5) — closed, and the fix turned out to be a WEEK OLD. The cos(10°) constant has been live in production since 2026-07-30 (252e8068); you've been playing on it. Tonight's byte-decode is an independent confirmation. The register row claiming otherwise was a ZOMBIE: an unrelated revert (a8a7d64b) resurrected the retired row — and, found by auditing that same revert, had also silently DELETED the then-active AD-56 row. Both corruptions fixed; the class is now a memory rule. No feel gate owed for S5.

2. The sitting — ONE row

# What Where / how Pass looks like
G1 S4 / AD-65 — downhill slope feel. The away-from-plane response now
snaps to the surface (XY preserved) instead of projecting (XY shrunk by
cos²θ — 25% at 30°, 50% at 45°). Run DOWN a long slope (the Rithwic
descent works), then across it diagonally; jump down-slope and land
running. Downhill ground speed feels like retail — no "wading" slowdown
on descents; no new stutter or floatiness; landings keep momentum
downhill.

That is the whole sitting: one slope run, ~3 minutes. Everything else either closed with no gate owed or was deliberately withheld (below).

2.5 Withheld / deferred overnight — nothing to test, decisions recorded

  • AD-66 (the push-out's bare radius) — WITHHELD, issue #341. The port is byte-proven twice over, but the landing produced a measurement that contradicted itself (same binaries, opposite outcomes flipping with test assert shape). Parked behind an instrumentation plan rather than guessed at. AD-69 filed alongside: the same block misses retail's seam-frame correction.
  • #330 headless collision — wiring withheld, hoist landed. Dual review converged on a real dependency the contract missed: headless has no remote-motion tick, so spawn-registered shadows would freeze into phantom obstacles. The issue now carries the full seven-point scope map.
  • S1B (indoor box-admit) and S2 (static sphere emission) — contracts written and committed, not implemented; next session picks them up directly.
  • S3 — cancelled: planned on a misreading; open doors are ethereal, so AP-84's approximation is behaviourally equivalent. The register was right.

3. Free riders during travel

  • #339 portal-space hang — every portal you take is a reproduction attempt; if you get stuck again, the log captures the readiness flags and the session becomes the diagnosis session. Nothing to do actively.

4. Deliberately NOT in this sitting

  • C5c's connected-gate batch (~1 hr: D-1 scenarios, AP-136 six-step park, route-7, two-client, nine-stop soak) — standing debt by your direction; say the word any morning and it becomes its own sitting. The probe family stays in the tree until it runs.
  • AP-156 scale question — retail does NOT scale cross-cell flood spheres; we do. Matching retail here means adopting a retail bug whose direction is walk-through for shrunk objects. Your call, explicitly, before any code changes: keep our over-inclusive scaling (safe, divergent) or match retail (faithful, under-inclusive for scale<1). One sentence from you settles it.