Skip to content

[bench] docs: add CHANGELOG.md; docstrings describe the code as it is (5.3) - #64

Merged
dburks-svg merged 2 commits into
mainfrom
bench/changelog
Sep 7, 2026
Merged

dburks-svg merged 2 commits into
mainfrom
bench/changelog

Conversation

@dburks-svg

@dburks-svg dburks-svg commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Roadmap v2.1, item 5.3. The last item before the release checks.

What

Docstrings argued with an imagined judge and cited ledger receipts by hash. Comments written to persuade the Oracle rot faster than comments written for a maintainer, and there was no changelog, so the history had nowhere else to live.

  • CHANGELOG.md, new. Keep a Changelog format covering 1.0.0 (2026-04-21), 1.1.0 (2026-07-12), 2.0.0 (2026-07-24), and 2.1.0 as unreleased, reconstructed from the tags and merge history. Every 2.1.0 entry names something that has merged. The 2.1.0 date is filled in at the R6 tag step.
  • Docstrings and comments describe current behavior. The chain module no longer narrates the array freeze; LedgerReadError states its invariant rather than the old bug; the relocation paragraph in resolve_ledger_path with its genesis hash is gone (CLAUDE.md keeps that record); the hook drops its ledger-entry citation and describes the fallback as it is; the three stage normalizers drop the dated receipts that motivated each repair and say what happens if the drift is left unrepaired; the sanitation module states the published-copy rule as a property rather than a story; the migration module and command describe clone states; the snapshot module explains why a deep copy will not do.
  • One date remains in source, at two sites in retire.py, both operational identifiers of the frozen 2026-07-24 anchor: the fixed value of the anchor's tool string, and the archive-path shape (a single file) the auditor must keep reading beside the directory shape new retirements write. The other two uses were narration and are now stated as rules.

Receipts

  • Repository audit across all source, tests excluded: no ledger hash citations, no migration or history phrasing, dates only at the two retirement identifiers above. Tests keep seven docstrings describing the regression each guards, left deliberately.
  • ruff check . clean; python -m mypy (strict, CI file set) clean.
  • Full suite: 1027 tests OK, 20 skipped. No behavior changed: twelve files, all prose.
  • Bench's own live chain verifies VALID; every hunk was governed, including the ones on the hook's execution path.
  • No em or en dashes in anything added (the chain module docstring's existing ones are gone).

Not in this PR

  • The CHANGELOG.md line in CLAUDE.md's Project Structure (owner-edited).
  • Release checks R2, R3, R5, R6 and the v2.1.0 tag.

Docstrings argued with an imagined judge and cited ledger receipts by
hash; comments written to persuade the Oracle rot faster than comments
written for a maintainer, and there was no changelog, so the history had
nowhere else to live.

CHANGELOG.md, new, covers 1.0.0 (2026-04-21), 1.1.0 (2026-07-12), 2.0.0
(2026-07-24), and 2.1.0 as unreleased, reconstructed from the tags and
merge history; every 2.1.0 entry names something that has merged.

Docstrings and comments across the source now describe current
behavior. The chain module no longer narrates the array freeze,
LedgerReadError states its invariant rather than the old bug, the
relocation paragraph in resolve_ledger_path with its genesis hash is
gone (CLAUDE.md keeps that record), the hook drops its ledger-entry
citation and describes the fallback as it is, the three stage
normalizers drop the dated receipts that motivated each repair and say
what happens if the drift is left unrepaired, the sanitation module
states the published-copy rule as a property rather than a story, the
migration module and command describe clone states, and the snapshot
module explains why a deep copy will not do.

One date remains in source, at two sites in retire.py, both operational
identifiers of the frozen 2026-07-24 anchor: the fixed value of the
anchor's tool string, and the archive-path shape the auditor must keep
reading beside the shape new retirements write. The other two uses were
narration and are now stated as rules.

Audit across all source, tests excluded: no ledger hash citations, no
history phrasing, dates only at those two sites. No behavior changed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0122bFBUvdtXT245QFoYDkMf
@dburks-svg

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: aa33995199

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
…rge property

Codex review on #64, four findings, all wording that overstated.

The receipts claim is qualified: verdicts have been recorded since
partway through 1.0.0, and the earliest work predates that. The
installer line carries the existing-hook caveat the README already
states: the guard is installed as the pre-commit hook only when the
project has none. The ledger line says what an entry holds, the change
up to the diff budget with binary and out-of-project content reduced to
metadata, rather than "the full diff body". And the branch-union claim
is gone: the ledger is untracked, so a git merge never touches it, and a
fork arises only when entry files reach one directory from more than one
source. That property predates the private ledger, and this PR had
restated it in the chain module docstring and the README carried it too;
both now say that a chain with two tips, however it came to have them,
is reconciled by the next governed edit.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0122bFBUvdtXT245QFoYDkMf
@sonarqubecloud

sonarqubecloud Bot commented Sep 7, 2026

Copy link
Copy Markdown

@dburks-svg
dburks-svg merged commit bdb8215 into main Sep 7, 2026
10 checks passed
@dburks-svg
dburks-svg deleted the bench/changelog branch September 7, 2026 06:07
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