From 402f898cdb8bbdc4ffbc8bf3f70b70eb8ea80628 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 9 Nov 2026 13:11:13 +0000 Subject: [PATCH] chore(canon): adopt canon 2.1.5 (gate table 0.3.1; criteria unchanged) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Canon lockstep is red on main. standards' canon.lock records 2.1.5 (#1424: gate table 0.3.1 and the applicability policy changed; the criteria did not), and this deed declared 2.1.3. Port of hyperpolymath/rsr-template-repo#298, the spine's adoption. - secret-types_chora.deed (canon): :version 2.1.3 to 2.1.5, and :gates-sha256 2f31f46d… to 5c510bba…. The criteria hash is unchanged. The (provenance) clause keeps 2.1.3: it records the canon this repository was minted against, which is history. - tests/workflows/governance_policy_test.sh expects the 2.1.5 tuple. That test already fails on main earlier, on the governance.yml pull_request filter that #15's caller carries; this does not change that. canon.lock marks 2.1.5 status "draft"; this adopts the identity the lock records, which is what the lockstep gate compares. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BYbQRtNu216R13jtZLmoqs --- secret-types_chora.deed | 4 ++-- tests/workflows/governance_policy_test.sh | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/secret-types_chora.deed b/secret-types_chora.deed index 8c4a14d..bbcb71b 100644 --- a/secret-types_chora.deed +++ b/secret-types_chora.deed @@ -30,9 +30,9 @@ ; equal canon.lock [canon.artifacts]; canon.lock [canon.lockstep].order is ; spine-adopts-then-canon-releases, so this clause moves FIRST. (canon - :version "2.1.3" + :version "2.1.5" :criteria-sha256 "6a5aa8857bd0d0d58ef48827938ca17c251b6b854dacf59d306388d61694d82a" - :gates-sha256 "2f31f46d4753432e0aa8c9c28f339e18e062c98dc6e6ef4ecbb76993cf37638b" + :gates-sha256 "5c510bba025be718deebb12d0333bfe7db2da43c66578b728b1a334df65290b1" :lockstep-since "2026-09-17" ; A canon change this repo cannot satisfy is a change made in the WRONG ; ORDER, not a rejected change: land the spine's adoption first, then the diff --git a/tests/workflows/governance_policy_test.sh b/tests/workflows/governance_policy_test.sh index bab332e..a2fe91f 100644 --- a/tests/workflows/governance_policy_test.sh +++ b/tests/workflows/governance_policy_test.sh @@ -4,7 +4,9 @@ # PR #244 configuration regressions: the retired runtime policy must not ship, # and governance must run for pull requests targeting any branch with a locked # checkout of metadatastician/standards at a full 40-hex SHA. -# PR #257 adds the proof-policy mapping and adopts canon 2.1.3. Since that +# PR #257 adds the proof-policy mapping and adopts canon 2.1.3; canon 2.1.5 (a +# PATCH: the gate table 0.3.1 and the applicability policy changed, the +# criteria did not) is adopted here, after 2.1.4 (editorial). Since that # change is documentation and configuration only, check its published contract # here without invoking any proof compiler or making network requests. # Usage: bash tests/workflows/governance_policy_test.sh @@ -191,9 +193,9 @@ console.log("PASS: new proof instructions require needs, verification, rechecks const field = (key) => execFileSync("bash", [resolve(root, "scripts/deed-field.sh"), resolve(root, "secret-types_chora.deed"), "canon", key], { encoding: "utf8" }).trim(); assert.deepEqual([field("version"), field("criteria-sha256"), field("gates-sha256")], [ - "2.1.3", + "2.1.5", "6a5aa8857bd0d0d58ef48827938ca17c251b6b854dacf59d306388d61694d82a", - "2f31f46d4753432e0aa8c9c28f339e18e062c98dc6e6ef4ecbb76993cf37638b", -], "canon 2.1.3 must retain the criteria identity and adopt the new gates identity"); -console.log("PASS: the deed adopts the complete canon 2.1.3 identity"); + "5c510bba025be718deebb12d0333bfe7db2da43c66578b728b1a334df65290b1", +], "canon 2.1.5 keeps the criteria identity and adopts the gate table 0.3.1 identity"); +console.log("PASS: the deed adopts the complete canon 2.1.5 identity"); JS