diff --git a/docs/plans/2026-09-01-campaign-overhaul-world-solidity.md b/docs/plans/2026-09-01-campaign-overhaul-world-solidity.md index d600ec92..31d86a2a 100644 --- a/docs/plans/2026-09-01-campaign-overhaul-world-solidity.md +++ b/docs/plans/2026-09-01-campaign-overhaul-world-solidity.md @@ -713,7 +713,7 @@ Update immediately when a slice changes state. Chat is not the ledger. | S5-#470 | **LANDED + REVIEW-CLOSED 2026-09-05; LEAD GRAPHICAL A/B PROVISIONAL PASS.** Campaign implementation stack `15a796c3a` -> `7506e5f14` -> `b333edb4f`; route `19b44e5e3`; reviewed scratch `51f974da4` -> `2cad9c84` -> `98c004aa7`; packet §§27–30. | G4 UNPASSED | Retail/behavior pass 2/10 and production pass 4/10 closed the two evidence-only findings. Fresh campaign Release 0W/0E and focused 48/48; exact scratch hermetic 16,976/16,976 and canonical InstalledDat 386/10/1, manifests 30/30. Pinned gate `logs/selfgate-20260905-032132-s5-470-pinned-shadow-ab-r1`: retail/off -> High -> retail/off, 3/3 PNGs, exit 0, graceful, no client; visual PASS provisional. The stale recipe-8 pre-route launch is excluded and recorded in §30. | | S5-#469 | **LANDED + REVIEW-CLOSED 2026-09-05; LEAD GRAPHICAL TRANSITION PROVISIONAL PASS.** Contract `809887524`; reviewed scratch `c09b6cf0f`; campaign implementation `94ddde69a`; route `62efc72cb`; packet §§31–32. | G4 UNPASSED | Retail/deviation pass 1/10 and production pass 2/10 both PASS with no finding. The two atmospheric vertex receivers keep retail's authored unnormalized `uLights` direction across every shadow gate; celestial direction remains for opt-in shadow/volumetric projection; IA-24 corrected in the same commit. Exact scratch: Release 0W/0E, focused 126/126, Vulkan 2/2, hermetic 16,983/16,983, InstalledDat 386/10/1. Fresh campaign Release 0W/0E, focused 82/82, Vulkan 2/2. Gate `logs/selfgate-20260905-040449-s5-469-lighting-transition-r1`: five PNGs, active 2,500-caster/four-cascade High rows, no near-black relight, exit 0/graceful, no client; visual PASS provisional. | | S5-c5 | **CLOSED + LANDED 2026-09-05; LEAD GRAPHICAL SMOKE PROVISIONAL PASS.** Contract `b77989c32`; campaign `bf53e2ad6` -> `e625dc4e6` -> `1b7ee4e58`; reviewed scratch tip `158656f0d`; packet §§33–35. | G4 UNPASSED | Retail/deletion pass 1/10 PASS. Production pass 2/10 found one static-field hole in the owner guard; fix round 1 reproduced both static-owner mutations, and production pass 3/10 PASS. Exact scratch hermetic 16,921/16,921, canonical InstalledDat 368/9/1, manifests 30/30. Fresh campaign Release 0W/0E, App 146/146, Core 8/8. A stale recipe-8 preflight is excluded; a non-destructive recipe-10 bake produced 2,237,865 keys with zero failures. Corrected gate `logs/selfgate-20260905-052130-s5-c5-landed-v10`: five PNGs, exit 0/graceful, no fatal/deleted-prefix match, no client left; geometry matches S5-c4, visual PASS provisional. | -| S5 | **#473 EXTERIOR REPAIR OWNER-ACCEPTED `bf23673f3`; portal-reveal repair #474 LANDED + REVIEW-CLOSED, nine-hop convergence verified; latency475 in bounded repair (2026-09-05).** c1–c5 plus #470/#469 landed; C1c test/doc correction REVIEW-CLOSED, pending landing. | G4 UNPASSED | Packet §§7 and12–48 bind. §42 repaired opaque detail alpha-to-coverage, with both reviews PASS, Release0W/0E, affected158/158, mutation12/12 and all52 affected prepared payloads matching fresh extraction. §42.6 sampled exterior PNGs were provisional; the owner now accepts the repaired exteriors. §43 C1c retail/production reviews are closed; nine-file test/doc return remains unlanded, lead scoped68/68 only, no canonical full-lane claim. §44 manual owner session PID16892 ran unchanged bf23673f3. §45 geometry witness contract remains not dispatched. §46/new diagnosis474 proves a destination publication/placement acknowledgement cycle at3031FFFF: engine committed, exact valid Place into30310014 at global FIFO head, spatial backend absent and publication waiting on that acknowledgement. #474 round0 is integrated at220bda797 (reviewed scratch774a2cd1c), contract31960039b plus correctionfc1a24b6d: real reset/recenter converges publication before cancellation, so no new cancellation API. Retail pass1 found only a stale test comment, corrected directly; production/lifetime pass2 PASS. Lead Release0W/0E, App135/135 and Runtime42/42; three discriminating mutations with controller single-cycle byte restoration independently repeated. 474-round0-verification.md carries exact commands/hashes. Both clients are now absent; retail exited externally, never closed/attached by lead. Last privileged ACE check: UDP9000 PID13340 up. Clean c76f43c2f nine-hop run reached all destinations/occurrences with zero reveal failures, exit0/graceful; three30310005 visits revealed. Overall FAIL: adjacent86–89s, final1838retirements, first post-resize PNG corrupt476; six later PNGs coherent, settled cue check owed. 474-graphical-regression-r1.md records timings/PNGs/hashes. 475-debt-free-retirement-contract.md removes only synthetic no-debt frame waits while preserving exact callbacks/ACKs/meter/FIFO; nine-file implementation frozen in exact-base s5-475-openai-impl. Lead independently passes Release0W0E/Runtime122/App130 and all four mutation categories with byte-identical restoration. Wider caller census: Runtime296/300 and Headless47/48 expose five obsolete-poll test failures; App167/167 passes. Contract§6 binds measurement-preserving test reconciliation; retail/behavior review1 underway. Not integration-ready. Both clients absent after run; ACE9000 PID13340 rechecked. #476 source defect is confirmed in476-capture-lifetime-diagnosis.md: pre-submit screenshot readback can consume a newly allocated buffer before its first GPU copy. No476 code changed; its bounded repair follows475. Repair475/review/re-gate and476 capture repair precede C1c landing, real geometry/membership hash, full-lane closure, C2 and owner G4. Never merge main before G4. | +| S5 | **#473 EXTERIOR REPAIR OWNER-ACCEPTED `bf23673f3`; portal-reveal repair #474 LANDED + REVIEW-CLOSED, nine-hop convergence verified; latency475 in bounded repair (2026-09-05).** c1–c5 plus #470/#469 landed; C1c test/doc correction REVIEW-CLOSED, pending landing. | G4 UNPASSED | Packet §§7 and12–48 bind. §42 repaired opaque detail alpha-to-coverage, with both reviews PASS, Release0W/0E, affected158/158, mutation12/12 and all52 affected prepared payloads matching fresh extraction. §42.6 sampled exterior PNGs were provisional; the owner now accepts the repaired exteriors. §43 C1c retail/production reviews are closed; nine-file test/doc return remains unlanded, lead scoped68/68 only, no canonical full-lane claim. §44 manual owner session PID16892 ran unchanged bf23673f3. §45 geometry witness contract remains not dispatched. §46/new diagnosis474 proves a destination publication/placement acknowledgement cycle at3031FFFF: engine committed, exact valid Place into30310014 at global FIFO head, spatial backend absent and publication waiting on that acknowledgement. #474 round0 is integrated at220bda797 (reviewed scratch774a2cd1c), contract31960039b plus correctionfc1a24b6d: real reset/recenter converges publication before cancellation, so no new cancellation API. Retail pass1 found only a stale test comment, corrected directly; production/lifetime pass2 PASS. Lead Release0W/0E, App135/135 and Runtime42/42; three discriminating mutations with controller single-cycle byte restoration independently repeated. 474-round0-verification.md carries exact commands/hashes. Both clients are now absent; retail exited externally, never closed/attached by lead. Last privileged ACE check: UDP9000 PID13340 up. Clean c76f43c2f nine-hop run reached all destinations/occurrences with zero reveal failures, exit0/graceful; three30310005 visits revealed. Overall FAIL: adjacent86–89s, final1838retirements, first post-resize PNG corrupt476; six later PNGs coherent, settled cue check owed. 474-graphical-regression-r1.md records timings/PNGs/hashes. 475-debt-free-retirement-contract.md removes only synthetic no-debt frame waits while preserving exact callbacks/ACKs/meter/FIFO; nine-file implementation frozen in exact-base s5-475-openai-impl. Lead independently passes Release0W0E/Runtime122/App130 and all four mutation categories with byte-identical restoration. Wider caller census: Runtime296/300 and Headless47/48 expose five obsolete-poll test failures; App167/167 passes. Retail/behavior review1 FAIL, test/evidence only: those five obsolete expectations plus noncanonical direct-retirement fixture. Lead confirmed exact-key backend removal; contract§6 binds three-file test-only fix round1, actual first-activation measurement and effect-discriminating canonical content. Full hermeticRuntime1887/1891 finds only the same four failures. 475-lead-verification.md records lead commands/hashes/mutations. No production defect found; production/lifetime review follows corrected return. Not integration-ready. Both clients absent after run; ACE9000 PID13340 rechecked. #476 source defect is confirmed in476-capture-lifetime-diagnosis.md: pre-submit screenshot readback can consume a newly allocated buffer before its first GPU copy. No476 code changed; its bounded repair follows475. Repair475/review/re-gate and476 capture repair precede C1c landing, real geometry/membership hash, full-lane closure, C2 and owner G4. Never merge main before G4. | --- diff --git a/docs/research/2026-09-01-overhaul/475-lead-verification.md b/docs/research/2026-09-01-overhaul/475-lead-verification.md new file mode 100644 index 00000000..a7c04420 --- /dev/null +++ b/docs/research/2026-09-01-overhaul/475-lead-verification.md @@ -0,0 +1,121 @@ +# #475 — lead verification and review record + +Status2026-09-05: **NOT integration-ready; test-only fix round1 in progress.** +Contract: `475-debt-free-retirement-contract.md`, including §6 at3db6546eb. +No graphical475 run or owner acceptance is claimed. + +## Candidate and provenance + +Scratch: +`C:\Users\erikn\source\repos\acdream\.claude\worktrees\s5-475-openai-impl`. +Branch `codex/s5-475-openai-impl`, base +`6a364ec1a6a2d9248e47367953f107dd9567b781`; return is uncommitted. +Implementer report: `artifacts/475-round0/implementation-report.md`. +The lead independently read the complete diff, new test partial and affected +production callers; all nine raw file hashes matched the frozen report. + +Round0 production source SHA256: + +- RuntimeSetPositionState.cs: + `15405FB4176EBE13D39C07EE809DA4940DF57EB058EE779FF4E8728CA6F614A9`. +- RuntimePhysicsState.cs (comments only): + `B427AFF9FD0826D7A6BEFFDCB8C305B2170B3BC02EC83DE9D5485D0F26CEC46D`. + +Independently rebuilt assemblies exactly match the return: + +| Assembly | SHA256 | +|---|---| +| Runtime |71F5CD45AB1C5B2CF6BB0B230EC7FEC192229DF8E72913453BAA4DEE55AB8293| +| App |F7F180974C1EE869AABCB01126CC5C6D58FE43B48CA2E65D725EF995966E2B57| +| Runtime.Tests |088569E287EAC4BDA04CB793AF596923EB1BD8CB3728DB328E2927F560CE940F| +| App.Tests |DE250DFA48FEC82778AB2F221BD76B70CB69E32947FB07661AD664FC1C6938F3| + +Both AcDream and retail were absent before every lead build/test. ACE UDP9000 +was independently observed at PID13340. No client, debugger or graphical run +was launched, attached or closed during this verification. + +## Lead commands and results + +All commands below ran in the scratch. Artifacts are relative to it. +Release command, before and after mutations: + +```powershell +dotnet build AcDream.slnx -c Release --no-restore --nologo --verbosity:quiet +``` + +Both passes0W0E/exit0; final log `artifacts/475-lead/release-final.log`. +Initial log `release-build.log` used minimal verbosity. + +Every test command uses: + +```powershell +dotnet test -c Release --no-build --no-restore --filter "" --logger "trx;LogFileName=.trx" --results-directory artifacts/475-lead/ +``` + +Projects: `tests/AcDream.Runtime.Tests/AcDream.Runtime.Tests.csproj`, +`tests/AcDream.App.Tests/AcDream.App.Tests.csproj`, +`tests/AcDream.Headless.Tests/AcDream.Headless.Tests.csproj`. + +| Stem / project | Exact filter | Result | +|---|---|---| +| runtime-final / Runtime |FullyQualifiedName~RuntimeCollisionPrefixQuiescenceTests\|FullyQualifiedName~RuntimeSetPositionStateTests\|FullyQualifiedName~RuntimePlacementProjectionSubscriptionTests|122/122, exit0| +| app-final / App |FullyQualifiedName~LandblockPlacementPublicationCompositionTests\|FullyQualifiedName~LandblockRetirementCoordinatorTests\|FullyQualifiedName~LandblockPresentationPipelineTests\|FullyQualifiedName~LandblockConcretePresentationPipelineTests\|FullyQualifiedName~LandblockPhysicsPublisherTests\|FullyQualifiedName~StreamingControllerReadinessTests|130/130, exit0| +| runtime-callers / Runtime |FullyQualifiedName~RuntimePhysicsStateTests\|FullyQualifiedName~RuntimeRemoteFirstEntryStateTests\|FullyQualifiedName~RuntimeLocalPlayerFirstEntryStateTests\|FullyQualifiedName~RuntimeLocalPlayerPhysicsPublicationStateTests\|FullyQualifiedName~RuntimeAcceptedPositionDriveControllerTests\|FullyQualifiedName~RuntimeLiveEntitySessionControllerTests\|FullyQualifiedName~RuntimeRemotePlacementDriveControllerTests|296/300, exit1| +| headless-callers / Headless |FullyQualifiedName~HeadlessSessionEventRouteRetryPendingTests\|FullyQualifiedName~HeadlessSessionHostTests|47/48, exit1| +| app-callers / App |FullyQualifiedName~LiveEntityNetworkOnPositionCollapseMatrixTests\|FullyQualifiedName~LiveEntityNetworkRemoteTeleportPresentationTests\|FullyQualifiedName~RuntimePhysicsOwnershipTests\|FullyQualifiedName~LocalPlayerTeleportControllerTests\|FullyQualifiedName~LiveEntityHydrationControllerTests\|FullyQualifiedName~RuntimeFirstEntryHostIntegrationTests\|FullyQualifiedName~RuntimeForcePositionRenderCommitTests|167/167, exit0| +| runtime-hermetic-before-reconciliation / Runtime |Lane!=InstalledDat&Lane!=Linux&Lane!=Manual&Lane!=Timing&Lane!=Live&Lane!=PreparedPackage|1887/1891, exit1| + +No skips in these runs. Initial `runtime-affected`/`app-affected` results +were also122/122 and130/130. These are not full-solution lane claims. + +## Lead mutations, independently executed + +Each mutation was applied separately using a patch and restored using its +inverse. Raw RuntimeSetPositionState SHA256 before AND after EACH cycle was +exactly15405FB4…614A9 above. Tests rebuilt the mutated source (omit +`--no-build` from the command template). Every mutation test exited1 at the +intended behavioral assertion; none failed compilation/setup. +The three owner-guard mutation commands additionally used `--verbosity:quiet`. + +All Runtime exact filters start +`FullyQualifiedName=AcDream.Runtime.Tests.Physics.RuntimeCollisionPrefixQuiescenceTests.`. +The App exact filter starts +`FullyQualifiedName=AcDream.App.Tests.Streaming.LandblockPlacementPublicationCompositionTests.`. + +| Mutation | Test suffix | Artifact stem | First failure | +|---|---|---|---| +| Reinsert first-park return false |EmptyPrefixPermissionCompletesOnFirstAdmissibleCall|old-return-runtime|expected permission true, actual false, line15| +| Same old-return cycle |DebtFreeFullRetirementsDrainMultipleRealOwnersInOneBudgetedFrame|old-return-app|pending tickets expected0, actual3, line438| +| Remove post-cancellation revalidation |AlreadyParkedUnpreparedCancellationSupersessionCannotIssueDetachedPermission|cancellation-owner|expected stale acquire false, actual true| +| Remove initial-park revalidation |ParkCallbackSupersessionCannotIssueDetachedPermission|initial-park-owner|expected stale acquire false, actual true| +| Remove additional-park revalidation |AdditionalParkCallbackSupersessionCannotIssueDetachedPermission|additional-park-owner|expected stale acquire false, actual true, line150| + +Each TRX is `artifacts/475-lead//.trx`. +The final Release and focused green runs above happened AFTER all restorations. +Raw source and all four assembly hashes were checked again. + +## Review1 and why round0 is not accepted + +Retail/behavior reviewer independently confirmed contract§4's named retail +loops and paired executable/range hashes, with no production behavior finding. +Lead source verification confirmed both blocking test/evidence findings: + +1. Five old mandatory-poll tests are red. Four RuntimePhysicsState tests + primed a pending commit outside their allocation measurement; that call + now performs the activation. The fix must measure the first REAL activation, + preserve existing O2 target-payload allocation bounds and all outcome/rebase + checks, not measure an idempotent second call. The Headless empty test waits + for a synthetic yield that debt-free completion no longer emits. + Full hermetic Runtime finds only those same four failures. +2. The new direct Runtime withdrawal/demotion theory used the shared fixture's + bare-prefix terrain key. Runtime canonicalizes to PrefixP|FFFF and engine + removal is exact-key; the test's terrain-remains assertion hid a no-op. + Its green transaction counts do not prove the claimed backend effects. + Contract§6 requires local canonical nonempty content plus actual withdrawal + and demotion postconditions and targeted effect mutations. + +Fix round1 is three test files only. No additional production behavior change, +whole-fixture rewrite, screenshot repair, budget change or reveal bypass. +The production/lifetime review follows the corrected frozen return and lead +verification; no extra wholesale retail rerun is planned for test-only edits. +Graphical timing/PNG evidence and owner G4 remain unproven.