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 0835b8fa..d269fe8f 100644 --- a/docs/plans/2026-09-01-campaign-overhaul-world-solidity.md +++ b/docs/plans/2026-09-01-campaign-overhaul-world-solidity.md @@ -973,6 +973,16 @@ Exact hashes/counts/artifacts in `c1a-integrated-capture-verification.md`. This expected initial failure authorizes the recorded golden pin and five product mutations, not C1a/G4 PASS. Fresh-process/full/final gates still owed. +**C1a witness review-closed:** recorded golden pinned; seven Release builds +0W0E, baseline/restored exact fact pass and all five actual product mutations +fail only at the final golden comparison with unchanged counts. Exact source +restoration,32/32manifest, independent sequential retail/product then +production/gate-honesty PASS. No production change or review-fix round. +`c1a-product-discrimination-verification.md` preserves all evidence; +`c1a-integrated-verification.md` releases clean-checkpoint official lanes and +two fresh processes/C1c consumer. Those runs and final graphical/G4 gates +remain owed; no full-gate PASS is inferred from focused checks. + ## 14. Risk register (condensed) - **R1 second scene graph.** Graph records own only topology/membership facts; diff --git a/docs/research/2026-09-01-overhaul/c1a-integrated-verification.md b/docs/research/2026-09-01-overhaul/c1a-integrated-verification.md new file mode 100644 index 00000000..271439ee --- /dev/null +++ b/docs/research/2026-09-01-overhaul/c1a-integrated-verification.md @@ -0,0 +1,57 @@ +# C1a final integrated verification + +2026-09-05. This records the guarded original witness, not the preserved +authored-input diagnostic. Bridge implementation1e645ee40 and first actual +capture66825e0bb precede the golden/mutation contract00ea65a16. + +## Candidate review closed + +Only the authorized golden literal differs from66825e0bb. Reviewed raw test +SHA256F0EDF3F82252211F595C25A66B5F98A6688F1A061E887A074E939EF8FCB25649. +Implementer note `c1a-product-discrimination-verification.md`, SHA256 +B0C239EB600A06FE0AD39694FA748DB65AED616FCC5F2E4E1365D5AF809E8AF3, +retains the seven builds/runs and five actual mutation patches/products. + +Sequential independent review: retail/product meaning PASS, then production/ +gate honesty PASS, no actionable findings or review-fix round. Reviewer did +not implement the App witness. It read the complete file, binding contracts, +named order routines/sealed paired evidence, actual factory/extractor and +headless publication bodies. Nonempty0104, seven ramp parts, ordered +0112/0113/0009 and21clip-required entries remain literal assertions. +Complete ordered geometry and unfiltered cross-owner membership are retained. + +Lead separately read all five saved source patches, independently parsed all +seven TRXs and verified32/32manifest entries, current test/note source seals +and the one-line final delta. Baseline/restored pass; every mutation reaches +only final golden failure after both changed fresh-owner products agree. +All relevant counts remain unchanged. No production mutation, copied +registration, missing fixture, extra agent or graphical run occurred. + +## Clean-checkpoint execution release + +Lead may commit this exact candidate and run the remaining original gates +on one clean checkpoint, with no code/document edits during execution: + +1. Official full Release gate with locked restore/build and the literal + filter `Lane!=InstalledDat&Lane!=Linux&Lane!=Manual&Lane!=Timing&Lane!=Live&Lane!=PreparedPackage`. + Fresh directory `artifacts/s5-c1a-final-hermetic-20260905-r1/`. +2. Two fresh exact geometry-fact test processes from that build/checkpoint, + each with explicit installed opt-in/directory, plus C1c's unchanged + `Oh_walk_corpus_reproduces_all_25_complete_frames_at_full_signature8`. + Fresh directories `artifacts/s5-c1a-final-focused-20260905-r1/` and `-r2/`. +3. Official canonical InstalledDat lane `Lane=InstalledDat&Purpose!=Diagnostic`, + explicit ACDREAM_RUN_INSTALLED_DAT_TESTS=1 and Documents/Asheron's Call, + same built binaries, fresh `artifacts/s5-c1a-final-installed-20260905-r1/`. + +Use tools/run-release-gate.ps1 for the official lanes. Never reuse an +artifact directory. Before each build/test authoritatively check both client +names/debuggers absent and ACE UDP9000; one process at a time. Verify all +manifests and every nonpassing identity; do not retry/filter to claim green. +The canonical comparator has eight known failures and one known skip in +`c1c-integrated-verification.md`; any changed/new failure returns a finding. +Missing explicit opt-in is an invalid invocation, not useful gate evidence. + +These runs are not yet claimed complete. The final graphical lifecycle, +reconnect, R6/portal/dungeon/owner matrix, graceful ownership convergence and +G4 remain separate. C2 performance comparison/FPS repair stays deferred. +No original scratch or red authored diagnostic may be modified or rerun. diff --git a/docs/research/2026-09-01-overhaul/c1a-product-discrimination-verification.md b/docs/research/2026-09-01-overhaul/c1a-product-discrimination-verification.md new file mode 100644 index 00000000..5ad5db37 --- /dev/null +++ b/docs/research/2026-09-01-overhaul/c1a-product-discrimination-verification.md @@ -0,0 +1,110 @@ +# C1a product discrimination — frozen implementer return + +2026-09-05, campaign base00ea65a164583ea47f7c36d5d1f7bd0ddcfedf00. +This is implementation/evidence, not independent review or C1a/G4 approval. + +## Scope and execution + +The only lasting test change is ExpectedCombinedHash at line38, pinned to +251A13A58133D79062B38A7145250E5B1FE018AF8E28E1D29A092C4B6C63ABF0, +as authorized from clean66825e0bb's independent-owner capture. No production, +fixture, package, shader, other test, original scratch or diagnostic changed. +No client, agent or commit. All temporary mutation code was removed. + +Pinned and final raw test SHA256: +F0EDF3F82252211F595C25A66B5F98A6688F1A061E887A074E939EF8FCB25649. +This exact hash was verified after EACH of the five apply_patch restorations; +each phase retains restored-source.sha256. Original scratch remains +9894EC50BF40F732237E3249E5F7815FDC931DDC66F1D5D212D0CA717373A9C5. + +Seven Release App.Tests builds, all exit0/0warnings/0errors. Seven exact-fact +runs: baseline and final-restored exit0/1passed/0failed/0skipped; m1–m5 each +exit1/0passed/1failed/0skipped, solely at final ExpectedCombinedHash assertion, +line73. Thus both fresh products, their byte arrays, three hashes, complete +counts, original semantic checks and mutation-specific assertions all agreed +before each intended failure. No retry or extra test run. + +Before each build and test, process-name checks found no AcDream.App/acclient +or windbg/windbgx/cdb/ntsd/x64dbg/x32dbg/vsjitdebugger/msvsmon. Each check +confirmed ACE UDP9000 PID13340. Prechecks ran18:34:13–18:37:59UTC and appear +in execution-tool stdout; build and test process output is saved separately. +Every command returned terminal status; final testhost/client/debugger check +found none. No live execution handle remains; exclusive lane is released. + +Commands for each phase, with fresh phase artifact directory: + +```powershell +dotnet build tests/AcDream.App.Tests/AcDream.App.Tests.csproj -c Release --no-restore --nologo +$env:ACDREAM_RUN_INSTALLED_DAT_TESTS='1' +$env:ACDREAM_DAT_DIR="C:\Users\erikn\Documents\Asheron's Call" +dotnet test tests/AcDream.App.Tests/AcDream.App.Tests.csproj -c Release --no-build --no-restore --filter 'FullyQualifiedName=AcDream.App.Tests.Streaming.LandblockGeometryMembershipInstalledDatTests.CathedralFactoryGeometryAndRetailMembership_AreCompleteAndDeterministic' --logger "trx;LogFileName=capture.trx" --results-directory $phase +``` + +The four full installed DAT hashes match the accepted corpus in every TRX. +These are focused test-project builds/runs, not full-solution or official lanes. + +## Actual discriminators + +1. m1: F4180104's extracted mesh vertex0 Position.X raw bit0 XOR1; + normal/UV/Y/Z and lengths untouched, changed bit asserted. +2. m2: first real F4180104 OrderedUploadBatches subset with distinct indices; + swap index0 with its first differing index after asserting inequality. +3. m3: actual ramp MeshRefs0/1 swapped BEFORE PublishStaticCollision, after + asserting seven refs and different GfxObj IDs. Actual published entries + in every retained ramp cell then assert seven parts, indices0/1 and the + reordered GfxObj IDs. No copied registration. Both geometry and membership + hashes change; original three-cell/21-entry assertions still pass. +4. m4: after unchanged semantic checks, obtain the actual registry-backed + List in the ramp's first cell; select its real ramp entry, + assert true, replace only ClipPlanesRequired=false. Same-list identity, + unchanged count and all remaining record fields asserted. +5. m5: after unchanged semantic checks, use real CrossOwnerCellId and swap + adjacent entries of different owners in its actual list. Adjacent pairing + preserves each owner's relative order. Same-list identity, count, both + complete owner projections and both unchanged CELLARRAYs asserted. + +Actual source patches are preserved as each mutation's source.diff; these +include the authorized pin relative to the unpinned committed base. + +All seven runs have exactly the same counts: +geometry visibility24/shells22/entities241/Setups35/GfxObjs59/vertices4946/ +subsets222/indices12300/SetupParts72; +membership entities241/logicalOwners229/arrays229/arrayCells256/domain55/entries440. + +## Product hashes + +|Phase|Geometry SHA256|Membership SHA256|Combined SHA256| +|---|---|---|---| +|baseline|3DA9040F65F58E2FF20EF2B4761A700C847298DFBEF370E3EA76AEE85B53D187|AC18FF6BAB798D4480AF1EFD0B90DE3E9252AD4B6C837AB60AAC6DC42A08BC9A|251A13A58133D79062B38A7145250E5B1FE018AF8E28E1D29A092C4B6C63ABF0| +|final-restored|3DA9040F65F58E2FF20EF2B4761A700C847298DFBEF370E3EA76AEE85B53D187|AC18FF6BAB798D4480AF1EFD0B90DE3E9252AD4B6C837AB60AAC6DC42A08BC9A|251A13A58133D79062B38A7145250E5B1FE018AF8E28E1D29A092C4B6C63ABF0| +|m1-vertex-bit|0888052AC02E485F86D3E5CBDCD644D9CA6E753642961D53AC00B6A2081B2C99|AC18FF6BAB798D4480AF1EFD0B90DE3E9252AD4B6C837AB60AAC6DC42A08BC9A|0A89C2E1C8890269A88F0E9EB866F7852FD7675649811DBD3AADE22FDA3CD408| +|m2-subset-indices|1163B81F5804E5AA535D6720330902285415C7DF9CA34A9059828544204B8B8A|AC18FF6BAB798D4480AF1EFD0B90DE3E9252AD4B6C837AB60AAC6DC42A08BC9A|C2391C2946D70B27A5B443476BC34C841A746AC832FA4A13DF3B660F27AD81C7| +|m3-prepublication-parts|FB65BCC96D2ACEF34BE4AB3AC549407D8EB985109142D01AE784E60571C8CCE7|A5E6299F5396A4B7825EF081E43C1AF9BBCB90EB5D48F43506086DD6F2B8696C|AC2E51967AC6C4122E926EF6730F1E45AF0ADF65FBE9544FDE90B28A9F0C9EDB| +|m4-retained-clip-bit|3DA9040F65F58E2FF20EF2B4761A700C847298DFBEF370E3EA76AEE85B53D187|1D3D29509060545D4432718BEC46C6D30027007318076E7C2585722A8AE4F1CA|8B3C9C1F3D44EB5ECF45AA0A73DDF575DBC2231DE2AAB81C7219EC67BF944C0B| +|m5-cross-owner-order|3DA9040F65F58E2FF20EF2B4761A700C847298DFBEF370E3EA76AEE85B53D187|0F3D2F925B4DB24CCC4A1D4ACA2F8FE395BE68F07E73F158B468FFDE141FB5C4|60B87692BF195376C37E6AA68D748CA935A20F6B639835057F2D83257C612256| + +## Raw artifacts + +Root: artifacts/s5-c1a-product-discrimination-20260905-r1/. +Each phase has release-build.log, capture.log and capture.trx. Mutation phases +also retain source.diff and restored-source.sha256; final-restored has the +one-line lasting source.diff. SHA256SUMS.txt seals all32 evidence files. + +|TRX path under artifact root|SHA256| +|---|---| +|baseline/capture.trx|2B384DC81EF9AE41AA44F9CA45DCAAAB5B6E2B9348D7D01C8CA22D9BB89AC88F| +|final-restored/capture.trx|BE85019004AC17DFAB70E70A48467690C6D0521D1CEEAF82DEFB04D66EB4940C| +|m1-vertex-bit/capture.trx|B8EB2D7365587918DA1940AB32FE2D065178B6B8E3DB5394A322EFAA2290C211| +|m2-subset-indices/capture.trx|4821BB6AD0722CB604F7F2C795CF28E02DBCAA7A749F3CD62C06B2929CAA2B39| +|m3-prepublication-parts/capture.trx|22E9082356CC840D6C94B8B93285C24F38212085896259460B8DC9D344146B28| +|m4-retained-clip-bit/capture.trx|94777ABEC8F70068E307D2B47B8C92F562C2D75EAC45EFE57ADB7E929BAAA409| +|m5-cross-owner-order/capture.trx|774A7156D36095CE1A435AB0DB4CC9BD375F5CB62FF290600826DEA6E5EF3C6A| + +## Remaining gates + +Lead owns sequential independent review, clean checkpoint, two fresh focused +processes and official literal-hermetic/canonical-InstalledDat lanes with exact +nonpassing identities, plus C1c's unchanged25-frame consumer. No general +native list-order, x87, lifecycle/GPU, FPS, known retail leakage, AMD-cause or +C1a/G4 acceptance claim. Initialized part order0..6 is not later native retained +order0,1,6,5,2,4,3. AD117 and remaining AP159 boundary predicates stay open. diff --git a/docs/research/2026-09-01-overhaul/s5-consumers-material-closeout-packet.md b/docs/research/2026-09-01-overhaul/s5-consumers-material-closeout-packet.md index a6ea04d5..2dbe3a2b 100644 --- a/docs/research/2026-09-01-overhaul/s5-consumers-material-closeout-packet.md +++ b/docs/research/2026-09-01-overhaul/s5-consumers-material-closeout-packet.md @@ -5243,3 +5243,28 @@ only a nonempty actual F4180104 mesh guard was prepared under its separate write-only contract. Lead owns its explicit capture/mutation release and final campaign gates. No client launch, known retail leakage/FPS change or main merge in this chunk. + +## 68. C1a actual geometry/membership and discrimination — 2026-09-05 + +Bridge landed1e645ee40; guarded original witness66825e0bb. Its first clean +installed capture completes BOTH real fresh-owner products: nonempty0104 +shell, seven ramp parts, exact0112/0113/0009 cells and21clip-required entries, +byte-identical geometry/membership and counts. Sole initial failure was the +final unpinned literal. Product/corpus/artifact hashes are sealed in +`c1a-integrated-capture-verification.md`. + +Authorized combined golden251A13A58133D79062B38A7145250E5B1FE018AF8E28E1D29A092C4B6C63ABF0 +is now pinned. Seven Release builds0W0E; baseline/restored1/1, all five real +product mutations intentionally fail only the final golden with unchanged +counts and both owner captures equal. Exact source restored after every +mutation. Lead and independent reviewer separately read patches/TRXs and +verified32/32artifact hashes. Sequential retail/product and production/gate +honesty lenses PASS, no findings. The only lasting new test delta is the +golden literal. `c1a-product-discrimination-verification.md` records all raw +products; `c1a-integrated-verification.md` owns clean-checkpoint execution. + +Two fresh focused processes, unchanged C1c25-frame consumer, full literal +hermetic and canonical InstalledDat lanes are still owed. Known canonical +nonpassing identities remain explicit; no entire-lane PASS from filters. +Final lifecycle/stability, graphical matrix and owner G4 are separate. No +FPS work, known retail leakage change, authored-diagnostic rerun or main merge. diff --git a/tests/AcDream.App.Tests/Streaming/LandblockGeometryMembershipInstalledDatTests.cs b/tests/AcDream.App.Tests/Streaming/LandblockGeometryMembershipInstalledDatTests.cs index df0ccdbc..22fa2dd9 100644 --- a/tests/AcDream.App.Tests/Streaming/LandblockGeometryMembershipInstalledDatTests.cs +++ b/tests/AcDream.App.Tests/Streaming/LandblockGeometryMembershipInstalledDatTests.cs @@ -35,7 +35,7 @@ public sealed partial class LandblockGeometryMembershipInstalledDatTests private const uint LandblockId = 0xF418FFFFu; private const uint ShellCellId = 0xF4180104u; private const uint RampSetupId = 0x020009A2u; - private const string ExpectedCombinedHash = "REPLACE_AFTER_FIRST_VERIFIED_CAPTURE"; + private const string ExpectedCombinedHash = "251A13A58133D79062B38A7145250E5B1FE018AF8E28E1D29A092C4B6C63ABF0"; private static readonly (string Name, string Sha256)[] AcceptedDatFiles = [