Repository navigation
docs: affirm state at 19f56818 - #121
Merged
Merged
Conversation
Drafted by Claude from local runs at the anchor; affirmed by the owner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X3hgXxWm6umMgZkjYyHnnm Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (1)
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. Comment |
Merged
7 of 13 tasks
hyperpolymath
added a commit
to hyperpolymath/standards
that referenced
this pull request
Oct 9, 2026
) ## Summary Amends `docs/AFFIRMATION-STANDARD.adoc` (v1.0 → v1.1) so an affirmation can be anchored in a repository that only allows squash merges. Owner ruling 2026-10-07: amend the standard rather than relax `required_linear_history` or bypass with direct pushes. The old rule ("the anchor SHA matches the parent of the signed commit that lands the file") cannot be met where `required_linear_history` holds: a squash creates a new commit signed by the forge, not the owner. That covers 8 of the 9 repos in the 2026-10-07 affirmation round. The new `<<linear-history>>` section says a squash-landed affirmation is anchored when: 1. the PR head `S` is owner-signed and its parent is the anchor `A`; 2. the squash commit `M` is on the default branch and its first parent is `A` (merge only while main is still at `A`); 3. `tree(M) == tree(S)`; 4. `refs/pull/<N>/head` still resolves to `S`. A new anti-pattern entry warns against squashing after main has moved. `scripts/verify-affirmation-anchor.sh <owner/repo> <PR>` checks all four and exits non-zero on any failure. Closes: no issue. ## Type of change - [ ] 🐛 Bug fix - [x] ✨ New feature: `scripts/verify-affirmation-anchor.sh` - [ ] 💥 Breaking change: no; merge-commit landings still satisfy the rule unchanged - [ ] 🕳️ Soundness fix - [x] 📖 Documentation: one new section and one anti-pattern line in AFFIRMATION-STANDARD - [ ] 🧹 Refactor / tech debt - [ ] ⚡ Performance - [ ] 🔧 Build / CI / tooling ## 📌 New pins **Head: `c3d315160cc57d52e5ee18153100b8649a0a3ae5`.** No new or changed pins: no `uses:` SHA, `actions.lock` entry, lockfile record or container digest is touched. ## How has this been verified? ``` scripts/verify-affirmation-anchor.sh <repo> <PR> # on the 8 affirmation PRs merged 2026-10-07 ``` | PR | Result | |---|---| | hyperpolymath/network-outpost#33 | ANCHORED | | hyperpolymath/git-reticulator#121 | ANCHORED | | hyperpolymath/gitbot-fleet#602 | ANCHORED | | metadatastician/_pathroot#40 | ANCHORED | | metadatastician/marid#79 | ANCHORED | | metadatastician/harvard-dehallucinator#27 | ANCHORED | | metadatastician/ziz#15 | ANCHORED | | metadatastician/burble#241 | **DRAFT**, rc=1. The head `7db18c34` is a "Merge branch 'main'" update commit, and the squash's parent is `5cd5a951`, not the anchor `308c118a`. | burble is the negative control: it shows the script fails a real non-conforming landing. `bash -n` and `shellcheck` are clean, and `.githooks/docstring-scan.sh --worktree --check` gives 3/3 documented. ## Checklist - [x] My commit is **signed** (`git commit -S`). - [x] I ran the relevant check (above). - [x] New files carry the correct SPDX. The script is `MPL-2.0`, like the other `scripts/*.sh`. - [x] Docs are updated, and no claim overstates what was measured. - [x] No soundness hole introduced. Condition 3 (tree equality) is what keeps the squash from smuggling in content the owner did not sign. ## Notes for reviewers Out of scope: `metadatastician/boj-server-mk2#14` (the 9th affirmation) is open and BLOCKED for a separate reason. That repo is private, Code Security is disabled, and the org `EstateBranching` ruleset's `code_scanning` rule can therefore never be satisfied. Recorded in dev-notes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01X3hgXxWm6umMgZkjYyHnnm Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
Summary
Adds an AFFIRMATION for
git-reticulatorat anchor19f568189c465ba6666b6c26ece059d5871f58e1, perstandards/docs/AFFIRMATION-STANDARD.adoc. Claude ran the repo's own checks at that anchor on 2026-10-07 and drafted the file. The owner affirms it with the signed commit in this PR, whose parent is the anchor.Type of change
📌 New pins
Head SHA: af902a7 (the owner's signed commit, the one CI runs on). No action, lockfile or container pins are added or changed.
How has this been verified?
cargo test --locked: 38 passed, 0 failed;--features git-integration: 39/0.cargo fmt --all --checkrc=0;cargo build --features git-integration0 warnings.reticulate build --repo .: 262 nodes, 196 edges, acyclic.idris2 --build git-reticulator-proofs.ipkg: 1/1 module; escape grep 0 hits (plantedbelieve_mefound).asciidoctor -S safe --failure-level=WARNrc=0; line 1 is the CC-BY-SA-4.0 SPDX header; the anchor equals this commit's parent.Checklist
git commit -S); the landing script checks%G?= G before pushing.SPDX-License-Identifier: CC-BY-SA-4.0 (prose). No existing file relicensed.Notes for reviewers
AFFIRMATION.adoc(profile A; the repo had none)..machine_readable/6a2/*.a2mlas the "honest status".reticulate build --dbexits 0 when it skips the DB write.🤖 Generated with Claude Code
https://claude.ai/code/session_01X3hgXxWm6umMgZkjYyHnnm