Skip to content

docs: affirm state at 19f56818 - #121

Merged
hyperpolymath merged 1 commit into
mainfrom
docs/affirmation-2026-10-07
Oct 7, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
docs/affirmation-2026-10-07

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Adds an AFFIRMATION for git-reticulator at anchor 19f568189c465ba6666b6c26ece059d5871f58e1, per standards/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

  • 📖 Documentation

📌 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 --check rc=0; cargo build --features git-integration 0 warnings.
  • reticulate build --repo .: 262 nodes, 196 edges, acyclic.
  • idris2 --build git-reticulator-proofs.ipkg: 1/1 module; escape grep 0 hits (planted believe_me found).
  • The file: asciidoctor -S safe --failure-level=WARN rc=0; line 1 is the CC-BY-SA-4.0 SPDX header; the anchor equals this commit's parent.

Checklist

  • My commits are signed (git commit -S); the landing script checks %G? = G before pushing.
  • I ran the project's own checks locally and they pass (see above).
  • New files carry the correct SPDX-License-Identifier: CC-BY-SA-4.0 (prose). No existing file relicensed.
  • Docs are updated, and no public claim now overstates what the code does. That is this file's purpose.
  • No soundness hole introduced: documentation only.

Notes for reviewers

  • Changes: new AFFIRMATION.adoc (profile A; the repo had none).
  • The README points readers at the retired .machine_readable/6a2/*.a2ml as the "honest status".
  • The Idris proofs are not connected to the Rust graph. reticulate build --db exits 0 when it skips the DB write.
  • Merge form: please use a merge commit if the repo allows it. A squash replaces the signed commit, so the anchor is no longer the parent of a signed commit.

🤖 Generated with Claude Code

https://claude.ai/code/session_01X3hgXxWm6umMgZkjYyHnnm

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>
@coderabbitai

coderabbitai Bot commented Oct 7, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 21631677-a7c0-46f7-aad5-b76d150ac1ab
📥 Commits

Reviewing files that changed from the base of the PR and between 19f5681 and af902a7.

📒 Files selected for processing (1)
  • AFFIRMATION.adoc
 ________________________________________________________________________________________________________________________
< I've finally learned what 'upward compatible' means. It means we get to keep all our old mistakes. - Dennie van Tassel >
 ------------------------------------------------------------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Comment @coderabbitai help to get the list of available commands.

@hyperpolymath
hyperpolymath merged commit 5fc22cd into main Oct 7, 2026
33 of 35 checks passed
@hyperpolymath
hyperpolymath deleted the docs/affirmation-2026-10-07 branch October 7, 2026 16:42
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>
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.

1 participant