Skip to content

chore(canon): adopt canon 2.1.5 (gate table 0.3.1; criteria unchanged) - #27

Merged
hyperpolymath merged 2 commits into
mainfrom
claude/canon-2.1.5
Nov 10, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
claude/canon-2.1.5

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Canon lockstep is red on main. standards' canon.lock now records canon 2.1.5 (metadatastician/standards#1424): the gate table moved to 0.3.1 and the applicability policy changed, but the criteria did not. This deed still declares 2.1.3.

This ports hyperpolymath/rsr-template-repo#298, the template's adoption. I've also ported the same commit into #25 and #26 so Canon lockstep goes green there; the port becomes a no-op once this PR merges.

Changes

  • secret-types_chora.deed (canon …): :version goes from 2.1.3 to 2.1.5, and :gates-sha256 from 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 now expects the 2.1.5 tuple.

RSR Quality Checklist

Required

  • Linter is clean: the DEED lint passes against standards@8e48b1c.
  • No banned language patterns
  • No secrets, credentials, or .env files included
  • Tests pass: governance_policy_test.sh already fails on main, before it reaches the canon assertion. Its first check rejects governance.yml's pull_request: branches: [main, master] filter, which came in with fix(ci): canonical reusable callers, least-privilege Actions canary and lock sync #15's canonical caller. This PR doesn't change that; deed-field.sh returns the 2.1.5 tuple.

Testing

deed-field.sh returns version 2.1.5, criteria 6a5aa885… and gates 5c510bba…, the same values canon.lock has on standards main.

canon.lock still marks 2.1.5 as status = "draft". This PR adopts the identity the lock records, which is what the lockstep gate compares.


Generated by Claude Code

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 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BYbQRtNu216R13jtZLmoqs
@coderabbitai

coderabbitai Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 44 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration

Commits

Reviewing files that changed from the base of the PR and between eee4e40 and 402f898.

Files selected for processing: 2

  • secret-types_chora.deed
  • tests/workflows/governance_policy_test.sh

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Copy link
Copy Markdown
Owner Author

estate-rules is red here, but the failure comes from main, not from this change. main fails at "Use-this-template mint end to end": the inherited mint test re-mints this already-minted tree and stops on an unfilled {{OWNER}} token. #28 is the fix, a template sync. This PR only changes the deed's (canon) clause and the governance test's expected values, so it goes green on estate-rules once #28 merges.


Generated by Claude Code

@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

Hypatia grid orange

🟠 indeterminate · commit 402f898cdb8b · run 42629368287 · scope: this change (2 file(s))

Advisory: 11 row(s), worst 🔴 high (0 critical, 9 high) — reported, never grading the change.

Reporter Gate Status Critical High Medium Minor Since previous revision
Hypatia scan gating 🟠 indeterminate 0 0 0 0 — no comparable baseline
panic-attack assail advisory 🟢 clean 0 0 0 0 — no comparable baseline
pons asinorum advisory 🟢 clean 0 0 0 0 — no comparable baseline
finishingbot (release readiness) advisory 🔴 high 0 9 23 0 — no comparable baseline
glambot (presentation quality) advisory 🔵 minor 0 0 0 5 — no comparable baseline
rhodibot (RSR compliance) advisory 🟢 clean 0 0 0 0 — no comparable baseline
accessibilitybot advisory ⚪ not applicable 0 0 0 0 — no comparable baseline
cipherbot advisory ⚪ not applicable 0 0 0 0 — no comparable baseline
echidnabot advisory ⚪ not applicable 0 0 0 0 — no comparable baseline
panicbot advisory ⚪ not applicable 0 0 0 0 — no comparable baseline
seambot advisory ⚪ not applicable 0 0 0 0 — no comparable baseline
sustainabot advisory ⚪ not applicable 0 0 0 0 — no comparable baseline
Hypatia scan: error — the scanner produced no findings array
  • 🟠 indeterminate: the scanner produced no findings array
panic-attack assail: 14 finding(s)
  • 14 further finding(s) in files this change does not touch: reported, not graded (0 critical, 0 high).
pons asinorum: 9 finding(s)
  • 9 further finding(s) in files this change does not touch: reported, not graded (0 critical, 0 high).
finishingbot (release readiness): 173 finding(s)
  • high V1-DOC-ROADMAP.adoc — Required file ROADMAP.adoc not found (Project roadmap).
  • high TOOL-001 — .tool-versions file not found for asdf/mise version management.
  • high SCM-001-NEUROSYM.scm — Required SCM file NEUROSYM.scm not found (Neurosymbolic AI documentation).
  • high SCM-001-AGENTIC.scm — Required SCM file AGENTIC.scm not found (Agentic AI integration documentation).
  • high SCM-001-PLAYBOOK.scm — Required SCM file PLAYBOOK.scm not found (Operational playbooks and procedures).
  • high SCM-001-ECOSYSTEM.scm — Required SCM file ECOSYSTEM.scm not found (Project's place in the ecosystem).
  • high SCM-001-META.scm — Required SCM file META.scm not found (Meta-level information and architectural decisions).
  • high SCM-001-STATE.scm — Required SCM file STATE.scm not found (Project state and progress tracking).
  • high PH-100 — Found 124 placeholders, exceeds maximum allowed (0)
  • medium V1-COM-CONTRIBUTING.md — CONTRIBUTING.md file not found (Contribution guidelines).
  • medium V1-COM-CODE_OF_CONDUCT.md — CODE_OF_CONDUCT.md file not found (Code of conduct).
  • medium V1-SEC-001 — SECURITY.md not found for responsible disclosure.
  • medium TEST-001 — Could not determine if this is a Rust or Deno project.
  • medium REL-004 — No SECURITY.md file found
  • medium PH-004 — secret-types_chora.deed:943 — Found 'HACK' in: :marker-scan ("TODO" "FIXME" "XXX" "HACK" "STUB" "PARTIAL")
  • medium PH-003 — secret-types_chora.deed:943 — Found 'XXX' in: :marker-scan ("TODO" "FIXME" "XXX" "HACK" "STUB" "PARTIAL")
  • medium PH-002 — secret-types_chora.deed:943 — Found 'FIXME' in: :marker-scan ("TODO" "FIXME" "XXX" "HACK" "STUB" "PARTIAL")
  • medium PH-001 — secret-types_chora.deed:943 — Found 'TODO' in: :marker-scan ("TODO" "FIXME" "XXX" "HACK" "STUB" "PARTIAL")
  • medium PH-004 — secret-types_chora.deed:840 — Found 'HACK' in: :marker_scan_required ("TODO" "FIXME" "XXX" "HACK" "STUB" "PARTIAL")
  • medium PH-003 — secret-types_chora.deed:840 — Found 'XXX' in: :marker_scan_required ("TODO" "FIXME" "XXX" "HACK" "STUB" "PARTIAL")
  • 12 more graded finding(s); see the structured report in the artifact.
  • 141 further finding(s) in files this change does not touch: reported, not graded (0 critical, 3 high).
glambot (presentation quality): 93 finding(s)
  • info GS-001 — Install git-seo for comprehensive SEO analysis: https://github.com/hyperpolymath/git-seo
  • info MACH-007 — ECOSYSTEM.scm not found in .machine_readable/ directory.
  • info MACH-007 — META.scm not found in .machine_readable/ directory.
  • info MACH-007 — STATE.scm not found in .machine_readable/ directory.
  • info MACH-005 — No robots.txt found. Consider adding one for crawler control.
  • 88 further finding(s) in files this change does not touch: reported, not graded (0 critical, 2 high).
rhodibot (RSR compliance): 13 finding(s)
  • 13 further finding(s) in files this change does not touch: reported, not graded (0 critical, 12 high).
accessibilitybot: not_applicable — template default: enrol once the repository serves HTML
  • ⚪ not applicable: template default: enrol once the repository serves HTML
cipherbot: not_applicable — template default: enrol once the repository implements cryptography
  • ⚪ not applicable: template default: enrol once the repository implements cryptography
echidnabot: not_applicable — template default: enrol once the repository carries proofs and an ECHIDNA engine is configured
  • ⚪ not applicable: template default: enrol once the repository carries proofs and an ECHIDNA engine is configured
panicbot: not_applicable — panic-attack is already graded by the verdict grid's own panic-attack row, from static-analysis-gate.yml evidence; enrolling panicbot would report one scanner twice and give two rows that can disagree
  • ⚪ not applicable: panic-attack is already graded by the verdict grid's own panic-attack row, from static-analysis-gate.yml evidence; enrolling panicbot would report one scanner twice and give two rows that can disagree
seambot: not_applicable — template default: enrol once a seam register exists at spec/seams/seam-register.json
  • ⚪ not applicable: template default: enrol once a seam register exists at spec/seams/seam-register.json
sustainabot: not_applicable — reserved fleet slot; no adapter exists (gitbot-fleet bots/sustainabot/README.adoc)
  • ⚪ not applicable: reserved fleet slot; no adapter exists (gitbot-fleet bots/sustainabot/README.adoc)

Scope: static findings reported by each row's tool at the named commit. The table grades only findings in files this change touches, so the colour answers "does this change introduce anything?", not "what does the whole repository still carry?". Standing findings are counted in each accordion and in report.json; the baseline filter remains the place where acknowledged debt is recorded. The lane state is the worst GATING row; advisory rows are listed and counted but never set it. Purple, red, yellow and blue grade the worst GRADED finding present; orange is evidence missing, malformed or a scanner that did not run; grey is an explicit scope exclusion with its reason. No row is a security certification. report.json, badge.json and the raw findings are in the verdict-grid artifact on the linked run.

@hyperpolymath
hyperpolymath marked this pull request as ready for review November 9, 2026 15:46
@chatgpt-codex-connector

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ❌ Failed 2026-11-09T15:46:54.784377Z
We couldn’t complete this review. Comment @codex review to try again.
402f898 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

hyperpolymath added a commit that referenced this pull request Nov 9, 2026
…#28)

## Summary

**estate-rules is red on `main`.** Its step "Use-this-template mint end
to end" runs `tests/e2e/use_template_mint_test.sh` as inherited from
template `c481073`. That version re-mints this already-minted tree and
fails on an unfilled `{{OWNER}}` token. The template fixed this across
#275, #291, #293 and #294, and its current test self-skips in a minted
child.

I reproduced both sides: the `c481073` test fails on `main`, and the
current test passes on this branch.

## Changes

This is a three-way sync. The base is `c481073`, the commit this
repository was minted from, and the target is template `2be7b88`.

- **43 files** that this repository still held byte-identical to
`c481073` take the template's current version: mint machinery, hooks,
workflows, checks and tests.
- **9 new machinery files**: `chain-mint`, `replay-mint`,
`check-mint-drift` and `format-container-kyaml`, plus their tests. The
template's own diagnostic workflow (`oracle-segfault-diag.yml`) and its
lock record are left out.
- **Diverged files** were three-way merged. These stay as this
repository's own:
  - `governance.yml`, the reusable caller from #15;
  - `README.adoc`;
  - `mise.toml`, with `yq` added for `scripts/kyaml-format.sh`;
- the verdict-grid lane and the rule-order policy, kept at standards
`8e48b1c` because that renderer works and the template's `e064539` does
not;
  - the rule-order checker and its test, from #22;
- `CHANGELOG.adoc`, which gets one entry for this sync instead of the
template's release notes.
- **`secret-scanner.yml`** takes the template's inline three-scanner
workflow (rsr-template-repo#295: stable status contexts, no `secrets:
inherit`). Its lock record is updated and its contract test wired.
- **`non_interactive_mint_test.sh` and `chain_mint_test.sh`** carry
hyperpolymath/rsr-template-repo#300's guard. Without it, both tests fail
in any legacy minted child. In a repository minted without
`(mint-answers)`, the guard asserts that `repo-init` refuses to mint
again, by name.

## RSR Quality Checklist

### Required

- [x] Tests pass. Locally:
  - `check-lock-sync`: in sync.
- `check-workflow-edges`, `check-required-contexts`, `check-root-shape`:
pass.
  - `run-proven-suite.sh`: `ALL LANES PASSED`.
- Every single-line estate-rules lane: the same five fail as on
unmodified `main`. Four are environmental on this machine (asciidoctor,
this machine's `yq`) and pass in CI.
- [x] No banned language patterns
- [x] SPDX license headers present on all new/modified source files
- [x] No secrets, credentials, or `.env` files included

## Still red, and why

- **`governance_policy_test`** fails because the #15 governance caller's
`pull_request` trigger carries a branch filter, and the test also
expects the inline standards checkout. CI never reached this step
before, because the mint test failed first. Whether to keep the caller
or take the template's inline governance workflow is your call.
- **Canon lockstep**: fixed by #27.

---
_Generated by [Claude
Code](https://claude.ai/code/session_01BYbQRtNu216R13jtZLmoqs)_

---------

Co-authored-by: Claude <noreply@anthropic.com>
@hyperpolymath
hyperpolymath enabled auto-merge (squash) November 9, 2026 23:21
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
@hyperpolymath
hyperpolymath merged commit c4a8d88 into main Nov 10, 2026
59 of 61 checks passed
@hyperpolymath
hyperpolymath deleted the claude/canon-2.1.5 branch November 10, 2026 02:01
@sonarqubecloud

Copy link
Copy Markdown

hyperpolymath pushed a commit that referenced this pull request Nov 10, 2026
My earlier merge (ba2484f) took #32's head before #32 was updated
(3bf7f8e), because the local ref was stale. So this branch lacked main's
later changes (the template sync #28, canon 2.1.5 #27, https-only edges
#25) and kept some #26-only text. This merge corrects that.

Each conflicted file is a 3-way merge on 3bf7f8e (the #32 commit the
earlier merge used), so only this PR's legs changes are carried onto
main. Files the legs work does not own take main's version:
tests/workflows/governance_policy_test.sh, and docs/proof-debt.adoc
except its legs bullet (this restores #32's dated W-1 record). The
receipt is regenerated.

The diff against main is now the legs work: the Rocq and Lean sources,
check-legs.sh, the legs CI job, the receipt's (legs) block and RECONCILED
leg states (PWG-2ii derived), and the matching doc lines.

Checked with Agda 2.6.4.3, Coq 8.18.0 and Lean 4.24.0: check.sh,
minimal-laws.sh, check-legs.sh, grade-receipt.sh --check (15 modules),
check-escape-hatches.sh, the invisible-character scan and
tests/workflows/governance_policy_test.sh.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0136P7ZmAsYpFA9gxfQLF3F6
Signed-off-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants