Repository navigation
Cleanup H01: stage-1 receipts of the live WSL distros and NativeHorizonNY's rehearsal - #1235
Merged
seathatflowsinourveins merged 5 commits intoOct 17, 2026
Merged
Conversation
…cleanup H01) Add evidence/artifacts/live-distro-stage1-logs-20261017/ with sanitized copies of the three Stage-1 PowerShell transcripts that existed only on Z: (NativeStack2604, NativeHorizonNY and NativeHorizonNY-r1). Add receipt.json, which gives each original's path, size, sha256 and mtime and lists every redaction by line. The originals stay on Z: unchanged. Sanitizing follows adoption/platforms/linux-wsl2-new-distro.md:1248-1250 and docs/decisions/2026-10-09-host-name-scan.md:160-161. The placeholders are <win-host>, <win-user>, %USERPROFILE% and <WSL_USER>, replaced inside lines only: 66 lines change, and no line is added or removed. CRLF becomes LF per .gitattributes:2. The four files are registered in manifests/evidence.json through scripts/host_receipts.py register_file. Co-Authored-By: Claude Opus 5.5 <[email protected]>
adoption/platforms/linux-wsl2-new-distro.md:1247 keeps the raw stage-1 transcript private and never committed, and :1240-1274 prescribe a stage-1 receipt filled from adoption/templates/wsl/stage1-receipt.example.json instead. So this commit: - removes evidence/artifacts/live-distro-stage1-logs-20261017/ (the three redacted transcripts and their receipt.json) and its four files[] rows; - adds one receipt per distribution under evidence/receipts/: wsl-new-distro-stage1-nativestack2604-20261002, wsl-new-distro-stage1-nativehorizonny-20261015 and wsl-new-distro-stage1-nativehorizonny-r1-20261015, each filled only from its own private transcript, with the template's 212 recipe steps, null where the transcript holds no record, and source_transcript giving the original's path, size and sha256 on Z:; - registers the three files through scripts/host_receipts.py register_file and adds their receipts[] rows (same id, kind, component_ids, claim and limitations, plus path), as the recipe's Contribute step says. Sanitizing follows :1248-1250 and <win-host>; the transcripts hold no GUID. The Architecture build refuses a registered receipt that has no exact grant (tests.test_local_pages_architecture_landscape_exclusions failed in CI run 39001649622, validate-shard-6, at b72d3d6). Following the post-pin grant precedent (#1047, #1060, #1178, #1191), this commit adds one exact architecture_receipt row per new receipt to tools/local-pages/source_policy.json and one POST_PIN_RECEIPT_GRANTS entry each, with its reason, to tests/test_local_pages_policy_grants.py. Both files are re-registered through register_file. Co-Authored-By: Claude Opus 5.5 <[email protected]>
seathatflowsinourveins
force-pushed
the
claude/cleanup-h01-stage1-logs-20261017
branch
from
October 17, 2026 04:55
b72d3d6 to
c4c5242
Compare
The three receipts are rebuilt by the same transcript-line generator, and their files[] and receipts[] rows are re-registered. Claude family: - P2-1 (two real-run receipts, the 29 R1 rows): rows the transcript does not record keep the template's text, so no R1 row names a production distribution (linux-wsl2-new-distro.md:167-168, :172, :1269-1270). The steps[] limitation states the R1 exception; in the r1 receipt only the recorded R1 rows carry its own name. - P3-1 (nativestack2604 steps 90, 91, 94, 95): the unlabeled '0' lines are no longer read as exits; those exits are null and the excerpts say so. - P3-2 (creation_path_basis and the 24 W6 excerpts): no "--from-file" claim; the basis is W3's '#cloud-config' output and the absent W6 block. - P3-3 (nativehorizonny rehearsal block, its limitation and the 29 R1 excerpts): the R1 identity is hedged as "taken as". - P3-4 (r1 rehearsal.basis): cites docs/decisions/2026-10-15-new-wsl-clean-install-plan.md:914-915, whose 18:37:42Z removal equals the transcript's last End time, and drops the "every proof held" implication. - P3-5 (every null field): each receipt names every null field with its reason, and the generator asserts none is left unnamed. - P3-6 (nativestack2604 rehearsal limitation): points to evidence/artifacts/new-wsl-rehearsal-20261002/ and says those records name StackRehearsal2604 and its e1, r2 and r3 runs, not NativeStack2604. Muse family: - P2 (nativehorizonny :15), P2 (nativehorizonny-r1 :15) and P2 (nativestack2604 :15), with their manifest copies: covered by the full null-field naming above. - P2 (nativestack2604 :19): the rehearsal block is described as present with null fields. - P3 (each receipt :14): the sanitizing note lists only the placeholders in copied values, keeps the template's own placeholders apart, and says why <win-user> and <win-host> do not appear. - P3 (nativehorizonny :20): same fix as Claude P3-3. 13 of 13 findings covered. Co-Authored-By: Claude Opus 5.5 <[email protected]>
…correct the sanitizing note Closes both findings of the CC verdict on 39ab807 (/var/tmp/cc-cc-work/nas1235-micro/CC-DELTA-39ab8072.md, CHANGES_REQUESTED; full read /var/tmp/cc-cc-work/nas1235-micro/MICRO-delta-39ab8072.md). P3-A: in the NativeStack2604 stage-1 receipt, first_launch.user_prompt_marker, first_launch.oobe_failed_marker and first_launch.systemd_user_session_warning sat in the "shows the source command but not the output" null bucket (:17). The transcript has no line for the W5 launch command (its W5 block shows only an unlabeled '0' before its first labeled command, as the receipt's own launch row says), so the three fields move to the "no line for the source command" bucket (:18). The manifest row matches. The NativeHorizonNY receipts keep their buckets: their launch is labeled. P3-B: the sanitizing note (:14 of each of the three receipts) said the Windows user name and computer name occur only in transcript header lines the receipt does not copy. They also occur in transcript body paths and in the Host Application header, of which each receipt copies a sanitized run-from path (deviations[0] in 2604, deviations[1] in the NativeHorizonNY receipts). The note now says so and names the replacements that remove them. The three manifest copies match word for word. The three receipt rows in manifests/evidence.json are re-registered with host_receipts.register_file (sha256 and bytes). validate.py and evidence_manifest.py --check pass. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
… own transcript supports Closes P3-1 of the CC verdict on 5ed31f6 (/var/tmp/cc-cc-work/nas1235-micro/CC-DELTA-5ed31f69.md, CHANGES_REQUESTED; full read /var/tmp/cc-cc-work/nas1235-micro/MICRO-delta-5ed31f69.md). The previous fold copied one sentence into all three receipts' :14 note. It was true only for the Windows user name in the NativeStack2604 receipt. The verdict records that the sentence came from the CC's earlier verdict. NativeStack2604 receipt: the Windows user name appears in body paths, in the Host Application header (copied only as the sanitized run-from path at deviations[0]) and in the Username and RunAs User headers, and the listed replacements remove it. The computer name appears only in the Username, RunAs User and Machine headers, which the receipt does not copy. NativeHorizonNY and r1 receipts: the user name appears in two body lines (the user-data name line and the default= line, rendered <WSL_USER>) and in the Username and RunAs User headers. The computer name appears only in the Username, RunAs User and Machine headers. The Host Application header carries neither name, and deviations[1] copies its run-from directory as it stands. The three manifest copies (manifests/evidence.json, the limitations of each receipt row) match the receipts word for word, and the three file rows are re-registered with host_receipts.register_file (sha256 and bytes). No other line changes. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
seathatflowsinourveins
marked this pull request as ready for review
October 17, 2026 08:55
seathatflowsinourveins
deleted the
claude/cleanup-h01-stage1-logs-20261017
branch
October 17, 2026 09:20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
39ab807
Scope
adoption/platforms/linux-wsl2-new-distro.md:1240-1274prescribes:evidence/receipts/wsl-new-distro-stage1-nativestack2604-20261002.json,…-nativehorizonny-20261015.jsonand…-nativehorizonny-r1-20261015.json, with theirreceipts[]rows. Each receipt is filled only from its own private stage-1 transcript, which stays on Z:. This is step H01 of the command center's 2026-10-17 Z: cleanup plan.90471d63f20918efa3a63ef949caffd8c012656clane:foundationevidence/receipts/.manifests/evidence.json: their threefiles[]and threereceipts[]rows, plus the re-registered hashes of the next two files.tools/local-pages/source_policy.json: three exactarchitecture_receiptgrants.tests/test_local_pages_policy_grants.py: threePOST_PIN_RECEIPT_GRANTSledger entries.History of this PR
The first commit,
21bee5f5, committed sanitized copies of the three transcripts. The CC ruled thatadoption/platforms/linux-wsl2-new-distro.md:1247keeps the raw stage-1 log private and never committed, redacted or not, and that the documented record is a receipt. The fold commitc4c5242eapplies that ruling. It removes the copies and theirfiles[]rows, and the manifest passes through a state byte-identical to the base's before the new rows go in. The repository allows squash merges only, somaingets the receipts and never the transcripts. The sanitized copies stay visible in this PR's first commit.The fold was first pushed as
b72d3d64. CI run 39001649622 failed it invalidate-shard-6:tests.test_local_pages_architecture_landscape_exclusionsreported that the Architecture build has no grant for the new receipts. The CC asked for one fold commit, so the grant fix was amended into it and pushed with--force-with-leaseagainstb72d3d64. That commit's registrations are covered byNATIVE_AGENT_REGISTRATION_BEFOREbelow.Claude and Muse then each read
c4c5242eand requested changes. The fold commit39ab8072, on top of it, covers all 13 findings; see "Findings folded" below. The receipts are rebuilt by the same generator, and theirfiles[]andreceipts[]rows are re-registered.Review point: three new Architecture grants
The local-pages Architecture reader refuses any registered receipt without an exact grant, and every committed catalog build then fails. This PR adds one exact
{"root": "repo", "path": …}row per new receipt totools/local-pages/source_policy.json(architecture.architecture_receipt, 4654 to 4657 rows). It also adds one ledger entry each toPOST_PIN_RECEIPT_GRANTSintests/test_local_pages_policy_grants.py, whose reason cites this PR, the failing CI run and the refusal. This follows the post-pin grant precedent of #1047, #1060, #1119, #1178 and #1191. The test module requires a reviewed reason for any grant beyond the pinned reviewed union, so these three grants need the CC's or a reader's review. Before the fix the module fails locally atb72d3d64, as in CI; after it, the module andtests.test_local_pages_policy_grantspass (34 tests).SOTA sources
adoption/platforms/linux-wsl2-new-distro.md:1240-1274(Raw log, Sanitize, Content, Contribute) and the templateadoption/templates/wsl/stage1-receipt.example.json, both at the base. Its 212 recipe steps are carried in order, with<Name>and<RELEASE>filled. The precedent isevidence/artifacts/new-wsl-rehearsal-20261002/stage1-receipt.json(artifact_classlocal_integration_check; null fields and steps marked as not run).https://releases.ubuntu.com/26.04.1/ubuntu-26.04.1-wsl-amd64.wsl, sha25648d56724b5c8e60f24893e83e73bbb58c60b3ca22fba3da977075420acd54104(adoption/new-wsl-profile.json:29-34). Each W2 block prints it as computed, published and listed.https://github.com/microsoft/WSL/releases/tag/3.0.1(adoption/new-wsl-profile.json:4866). On the recording host,wsl.exe --versionprintsWSL version: 3.0.3.0. The transcripts do not hold these lines; the receipts recordhost.wsl_versionas null.Start-Transcript(adoption/platforms/linux-wsl2-new-distro.md:68).adoption/platforms/linux-wsl2-new-distro.md:1248-1250, plus<win-host>fromdocs/decisions/2026-10-09-host-name-scan.md:160-161. The transcripts hold no GUID.scripts/host_name_scan.py, which runs Betterleaks 1.9.0 frombetterleaks/betterleaks@81aff7a638638aae3a659845d089043e1d8fe9ac(scripts/host_name_scan.py:1-4).What the receipts hold, and what they cannot
limitationsnames every null field with its reason, and the generator fails if any null field goes unnamed.<Name>and<RELEASE>filled. Every other row keeps the template's text (:1269-1270), so no R1 row and no unobserved removal or export names a production distribution (:167-168,:172).[exit=N]and[ok=True]. W2's three hashes and W3's user-data lines and hash are recorded, along with the labeled exit values of W1, W3, W4's list, W5 and W7: 39 of the 212 steps. The unlabeled0lines in the W4 and W5 blocks are not read as exits.install exit 0,windows_region USandowner 1000:1000, not commands.rehearsal.basis: its name, itsr1-remove.ps1block (list,unregister exit 0,interop ok, no export line), and its timing. Its last End time, 14:37:42 EDT, is 18:37:42Z, the stage R removal time indocs/decisions/2026-10-15-new-wsl-clean-install-plan.md:914-915. NativeHorizonNY's own receipt points to it with the same hedge and does not assert the identity.cloud-init status --longexiting 2 without its output, so the receipts do not record the reason.Evidence-class table
source_transcriptis its original's path, size and sha256 on Z:native_provensha256sumlines (2026-10-17T02:15:07Z). The generator re-hashed each original and asserted equality.local_integrationsteps[]andlimitationsnative_provenpython3 scripts/validate.py --scan-fileon the 3 receipts:passed, 0 locations, sourcehostlocal_integrationvalidate.py;evidence_manifest.py --check;component_matrix.py,final_stack.py,build_verdicts.pyandaudit_reports.py--check(CI requirements venv)Local commands run
Decision record
No new decision record: the receipts follow the recipe's documented form, as the CC ruled.
Not in this PR: H02, the harvest of
sota-resolution-20261002.tar. The run receipt first records it as deferred at 2026-10-17T02:16:40Z, because the ALSO REQUIRED condition ofgwin Wwas unmet. It ran from 02:28:15Z, after the CC relayed both confirmations, and the tar's sha256 matched the plan's value. The CC closed it at 03:21:07Z with nothing harvested: none of the unique records backs a layer verdict, a catalog run or a cited record. H02 therefore has no PR and no branch. The tar stays on Z:.Host evidence
Not applicable: nothing under
evidence/hosts/changes.Checklist
version comment (no floating tags). (No Actions changed.)
permissions: {}and grant each jobonly what it needs (
contents: read, or an explicitly justified addition). (No workflows changed.)added without a documented owner.
moved or overwritten).
Findings folded at
39ab8072(reads ofc4c5242e)0lines are not read as exits; those exits are nullrecipe.creation_path_basis, the 24 W6 excerpts--from-fileclaim; the basis is W3's#cloud-configoutput and the absent W6 blockrehearsal.basis:914-915(removal at 18:37:42Z, equal to the transcript's last End time); "every proof held" implication droppedevidence/artifacts/new-wsl-rehearsal-20261002/; those records name StackRehearsal2604 and its e1, r2 and r3 runs, not NativeStack2604<win-user>and<win-host>do not appear (the premise was corrected again at5ed31f69and6acb380e: each receipt's note now gives the facts its own transcript supports)13 of 13 findings covered.
Findings folded at
5ed31f69(CC verdict on39ab8072)limitations(null buckets) and its manifest rowfirst_launch.user_prompt_marker,first_launch.oobe_failed_markerandfirst_launch.systemd_user_session_warningmove from "shows the source command but not the output" to "has no line for the source command": the transcript has no line for the W5 launch command. The NativeHorizonNY buckets stay (their launch is labeled).6acb380e.2 of 2 findings covered.
Findings folded at
6acb380e(CC verdict on5ed31f69)deviations[0]) and in the Username and RunAs User headers, and the listed replacements remove it; the computer name appears only in the Username, RunAs User and Machine headers, which the receipt does not copy. NativeHorizonNY and r1: the user name appears in two body lines (the user-data name line and thedefault=line, rendered<WSL_USER>) and in the Username and RunAs User headers; the computer name appears only in the Username, RunAs User and Machine headers; the Host Application header carries neither name, anddeviations[1]copies its run-from directory as it stands.1 of 1 findings covered.
🤖 Generated with Claude Code