Repository navigation
Raise the Claude Code floor to 2.1.300 and record its source commit as the run pin - #1128
Open
seathatflowsinourveins wants to merge 2 commits into
Open
seathatflowsinourveins wants to merge 2 commits into
seathatflowsinourveins wants to merge 2 commits into
Conversation
…s the run pin The command center asked (2026-10-14) for the claude-code run pin in catalogs/landscape/final-stack.json to name the client the core lanes run. scripts/final_stack.py takes that run pin from the platform pins (`record_pin(version, commit)`), and the same `version` is the bootstrap floor, so this mirrors the 2.1.295 raise (#922). - Distribution: the 2.1.300 signed manifest was checked with the documented procedure at 2026-10-14T23:55:04Z. Good signature, fingerprint 31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE; manifest sha256 fb62dae2...; linux-x64 674deba0... (266972344 B), matched by the installed binary; darwin-arm64 475517ca... (249556880 B, no Mac re-hash). - Both pins: version 2.1.300 (plain, since the bootstrap scripts compare it numerically), plus "commit": 94506ff0d3bd9185f1752da36e968775021fb48f, the anthropics/claude-code commit whose CHANGELOG.md first carries 2.1.300. The regenerated final-stack run reads 2.1.300 with that commit. - CHANGELOG 2.1.296-2.1.300 (357 entries): none changes the native installer, the auto-update channel or minimumVersion. - client-core slot note: the floor and run pin, and the two headless roles that pin 2.1.299 by path (the review worker, #1107, and the trading lane's private runner). Native auto-update is on here (claude doctor at 2026-10-15T00:44:57Z: enabled, channel latest); ~/.claude.json's autoUpdates false is the native installer's own legacy-updater marker, written with autoUpdatesProtectedForNative true (2.1.300 binary). The version cleanup keeps only the launcher's version, running sessions' versions and the two newest (setup.md), so those roles need their own protection, a separate change. - The new-WSL profile, the stack manifest, the bootstrap docs and comments, and the macOS platform page now say 2.1.300. - Regenerated by their builders: the handbook (with a receipt regeneration entry), the grand list and final-stack.json. Mirrored as in #922: the upstream snapshot's selected version (a dated local-integration refresh) and the lifecycle audit. The floor decision gets a 2026-10-14 addendum. Tests: the floor tests move to PIN 2.1.300. With main's pins they fail (4 failures in test_adoption_bootstrap and test_adoption_bootstrap_macos). Co-Authored-By: Claude Opus 5.5 <[email protected]>
5 tasks done
On 2026-10-14 the owner directed (paraphrased, through the command center) that the headless roles follow the latest Claude Code. The floor addendum, the pins' notes and the client-core note no longer say that the review worker and the trading runner stay on 2.1.299 pending a paired check. They now state the rule: a pinned role runs a retained copy outside versions/, checks its sha256 against the release's signed manifest at launch, and moves to a new release after a function check of its exact invocation, not a paired quality run. The retained copy protects the role against the native installer's version cleanup and against a broken release. At this addendum both roles move to 2.1.300: the trading runner by its own dated copy, the review worker in #1127. Derived records regenerated: final-stack.json, the snapshot label, the evidence registry. Tests: the affected modules pass (bootstrap 79 and 153, final_stack 75, handbook 88, slot checks, validate 86, push gate 127). Co-Authored-By: Claude Opus 5.5 <[email protected]>
5 tasks done
seathatflowsinourveins
added a commit
that referenced
this pull request
Oct 15, 2026
GPT read of #1129 at efa0b45 (P2): the source record said the GPG check of the signed 2.1.300 manifest was in the floor decision's 2026-10-14 addendum, which this tree does not contain (that addendum is #1128's). The check was re-run 2026-10-15T11:23:49Z and is retained here: release-signature-2.1.300.json, with the public manifest.json, manifest.json.sig and claude-code.asc it verified in release-2.1.300/. Result: good signature from 31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE, and the manifest's linux-x64 checksum and size equal the installed binary's (674deba0..., 266972344). The record now cites the receipt. Regression test_the_signature_check_the_record_claims_is_retained_and_binds_the_binary checks: - the record names the receipt, and every decision file it cites contains 2.1.300; - the retained files match their sha256; - the manifest binds the binary. Fail-before: AssertionError: 'release-signature-2.1.300.json' not found. After: 5 OK; the privacy and provenance modules OK. validate reports only the inherited model-currency date checks that main has refreshed. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This was referenced Oct 15, 2026
seathatflowsinourveins
added a commit
that referenced
this pull request
Oct 16, 2026
The GPT read of #1128 at bd3eecf (blocker 1, P1) found owner quotation spans in the generated handbook's agent-messaging record. They came from the layer-consensus record: assemble_manifest.py copies its rows and amendments into the definitive manifest, and build_new_wsl_handbook.py copies each manifest slot whole into the handbook, so the fix is in the canonical input and the outputs are regenerated from it. Layer-consensus record (consensus.json): six owner quotation spans in five fields become dated, attributed paraphrases of the form: the owner, <date> (paraphrased): ..., with the date taken from each record's own context: - authorization: verbatim -> paraphrase (2026-10-02) - amend_rows[4] agent-messaging amendment: owner_verbatim -> owner_paraphrase (2026-10-02); its decision, text, arms and experiment contract are unchanged - wave2 context-supply interim authority: verbatim -> paraphrase (2026-10-03) - wave5 agent-messaging owner default: two spans in its reason (2026-10-02 and 2026-10-03) and one in its posture (2026-10-03); the public record of the answer stays linked by URL Regenerated through the existing generators: - assemble_manifest.py (write; --check exit 0): definitive-manifest.json - render_tables.py --check: the 2026-10-01 record's tables stay current - build_new_wsl_handbook.py --write, then --check exit 0: docs/new-wsl-handbook.json and docs/new-wsl-handbook.md The handbook loses five owner spans: the four the read named (base lines 851, 933, 934) and one in the context-supply record's overturned interim (base line 2383), which the read did not list. Bindings: the handbook receipt's current outputs, a regenerations entry and a previous_outputs entry; manifests/evidence.json re-registers the eight changed hashed files; scripts/validate.py passes. Regression: tests/test_new_wsl_handbook.py OwnerQuotationTests checks by structure, with invented prose only: a field that holds the owner's words, or a sentence that attributes a double-quoted span to the owner or the user, fails; a dated paraphrase and separately defined protocol or contract text pass. Against the base tree it fails with 13 locators (consensus record 5, manifest 4, handbook 4); after the change all three tests pass. tests/test_new_wsl_definitive_defaults.py reads the paraphrase fields, checks the consensus decision record with the same attribution rule, and its wave-3 relay check no longer holds any of the owner's words (it checks the record's block quote instead). assemble_manifest.py: comment only, the interim authority now carries a dated paraphrase. Not changed: the owner batches' authority.verbatim fields (wave3, wave4, wave5) stay in consensus.json. assemble_manifest.py requires them (OWNER_AUTHORITY_FIELDS, line 389) and refuses a batch whose hashed relaying decision record does not contain them (check_owner_batch, lines 542-544); they never reach the manifest or the handbook. Changing that relay contract needs its own ruling. The regression keeps exactly those paths, and only while the assembler requires the field. This supersedes, for the canonical inputs, the integration resolution that chose exact quotation (evidence/artifacts/ final-architecture-round2-20261004/integration-resolutions.json:543, :630, :801). No history rewrite: earlier commits keep the old text. Co-Authored-By: Claude Opus 5.5 <[email protected]>
8 tasks done
This branch has not been deployed
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.
Scope
catalogs/landscape/final-stack.jsonreads claude-code as 2.1.300 at94506ff0d3bd9185f1752da36e968775021fb48f.a339425ca56ec3fb87dff0fa8ad5dffc83354168lane:foundationadoption/pins-linux-x86_64.jsonandadoption/pins-macos-arm64.json,adoption/new-wsl-profile.jsonandmanifests/stack.json;adoption/bootstrap.md,adoption/platforms/macos-arm64.mdand both bootstrap scripts' comments;manifests/evidence.json.SOTA sources
68b9b31f…). The 2.1.300 signed manifest is https://downloads.claude.ai/claude-code-releases/2.1.300/manifest.json, sha256fb62dae2…; build commitc6733ae1…, buildDate 2026-10-14T13:29:53Z. The good signature was checked against https://downloads.claude.ai/keys/claude-code.asc in an empty keyring, fingerprint31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE.94506ff0d3bd9185f1752da36e968775021fb48f(2026-10-14T18:24:07Z), the firstCHANGELOG.mdrevision whose top section is## 2.1.300. The revision before it,db93774d73e8fdbaf315a6f4c175ae99ad3d515a, tops at 2.1.299. Read withgh apiover the CHANGELOG.md commit list.8c6fdbbd…): 357 entries. None changes the native installer, the auto-update channel,autoUpdatesChannelorminimumVersion.scripts/final_stack.pyrecord_pin(tool.version, tool.commit)over the pin files (the run-pin sources at main).Evidence-class table
674deba0…5453, 266,972,344 Bnative_proven~/.local/share/claude/versions/2.1.300re-hashes to that digest and sizenative_provensha256sum,staton this host475517ca…e2d3, 249,556,880 Bsource_review94506ff0local_integrationpython3 scripts/final_stack.py --write/--checksynthetictests.test_adoption_bootstrap,tests.test_adoption_bootstrap_macos(stub launchers)autoUpdates: falsein~/.claude.jsonis the native installer's own legacy-updater markernative_provenclaude doctorat 2026-10-15T00:44:57Z (Auto-updates: enabled); Claude Code 2.1.300 binary byte offsets 229504330 and 218781814versions/, moved after a function check of the exact invocation (owner direction 2026-10-14)source_reviewLocal commands run
Head
bd3eecfe(2026-10-15)Per the owner's direction of 2026-10-14 (paraphrased, through the command center), the text no longer says the headless roles stay on 2.1.299 pending a paired check. They follow the latest release through a retained, sha256-checked copy, after a function check of their exact invocation. Affected modules pass at this head: bootstrap 79 and 153, final_stack 75, handbook 88, slot checks, validate 86, push gate 127.
Decision record
docs/decisions/2026-10-09-claude-code-floor.md, addendum of 2026-10-14. It covers the distribution evidence, the source commit, the CHANGELOG delta check, the roles that pin 2.1.299 and the cleanup that can remove their binary (auto-update is on:autoUpdates: falseis the installer's own marker), the derived records and the inverse. The client-core slot row carries the version-pin note.Notes for the reads
versionstays plain: both bootstrap scripts compare--version's first word numerically, so the source commit goes in a separatecommitfield, whichrecord_pinmerges.Checklist
🤖 Generated with Claude Code