Skip to content

docs: move the ledger beside its pages and tag what each merge changed - #13

Merged
robrigo merged 3 commits into
mainfrom
docs/ledger-and-releases
Aug 18, 2026
Merged

docs: move the ledger beside its pages and tag what each merge changed#13
robrigo merged 3 commits into
mainfrom
docs/ledger-and-releases

Conversation

@robrigo

@robrigo robrigo commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Why

The provenance ledger lived at the repository root, where the site's include globs cannot admit it and where its grades were invisible beside the pages they cover, so it moves to reference/validation.md with every reference across the tree updated and the two CI scripts reading the new path. CHANGELOG.md opens with the record a returning reader needs first: what this series corrected, then what it added, re-verified, and removed, one sentence per entry naming the page. The release workflow tags each merge to main with the next YYYY.MM.PATCH, creates a Release in the same call so no tag can exist without one, and composes the body from the ledger's own pinned-baselines block, so the corpus states what it was read against on every release. The emulator testing guide's install line already names @atomichub/vert; the package is not on the public registry yet, so the page stays excluded from the site until that publish, which is the sibling effort's pin-bump call.

Notes for the maintainer

The first tag this workflow cuts is the merge of this pull request itself, 2026.08.0 if it lands this month. The changelog heading is written by hand and the tag is computed from the merge date, so a merge that slips a month boundary leaves the heading behind by one; reconciling the two automatically is an open choice. The commits are unsigned; the squash merge carries GitHub's signature.

Copilot AI 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.

Pull request overview

This PR reorganizes and operationalizes the documentation provenance system by relocating the validation ledger into the rendered reference/ tree, updating cross-references and CI checks accordingly, and adding automated tagging/releases plus a human-readable changelog.

Changes:

  • Move the provenance ledger to reference/validation.md and update references across docs, templates, and CI scripts.
  • Add CHANGELOG.md to summarize corpus changes per YYYY.MM.PATCH release tag.
  • Add an automated release workflow and a release-notes composer script that pulls pinned baselines from the ledger.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
skills/atomic-integration/SKILL.md Updates ledger reference to the new reference/validation.md location.
reference/validation.md Updates ledger frontmatter scope to match its broader “corpus” role and rendered placement.
README.md Points readers to reference/validation.md for provenance/tiers and updates an in-text reference.
learning/INSTRUCTIONS.md Updates tier/ledger references to the new ledger path.
CONTRIBUTING.md Updates contributor guidance to refer to reference/validation.md.
CHANGELOG.md Introduces a release-by-release change record for the corpus.
AGENTS.md Updates ledger reference to the new path in agent routing guidance.
.github/workflows/release.yml Adds an automated tag+GitHub Release workflow keyed off merges to main.
.github/scripts/lib/pages.mjs Adds a reusable section() helper used by CI/release scripts.
.github/scripts/compose-release-notes.mjs New script that composes Release notes from the ledger’s “Pinned baselines” section.
.github/scripts/check-validation-consistency.mjs Updates ledger path handling and reuses the shared section() helper.
.github/scripts/check-frontmatter.mjs Stops treating the old root ledger filename as a “root page” for frontmatter checks.
.github/PULL_REQUEST_TEMPLATE.md Updates template prompt to reference reference/validation.md.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread CHANGELOG.md Outdated
Comment thread .github/scripts/compose-release-notes.mjs Outdated
@robrigo
robrigo force-pushed the docs/ledger-and-releases branch from df20da3 to e873e8a Compare August 18, 2026 20:17
@robrigo
robrigo deployed to wax-testnet August 18, 2026 20:17 — with GitHub Actions Active
@robrigo
robrigo requested a lite review from Copilot August 18, 2026 20:17

Copilot AI 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.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.

The one page recording how every fact in this corpus was checked sat at
the repository root, which is the one place the docs site cannot serve
from: the include globs admit the four content trees, a root path
resolves to no route, and no cross-reference can target it. The page
that proves the corpus was the page a reader could not open.

Under reference/ an existing glob admits it, so it renders beside the
pages it grades and the sidebar can claim it. It takes no row of its own
in the table it carries, because it is the ledger. Its description moves
into the band a rendered page is held to, which is the only change the
file itself takes. Both checks read it by path, so both move with it.
A reader who acted on a page has no way to learn that the page was
wrong. Every fact here carries its source and nothing tracks a fact that
moved, so a correction reaches only the reader who happens to open the
same page again.

The file uses four section names in one order and no others. Corrected
leads every release, because a stated fact that turned out wrong is what
a returning reader has to see first. Fixed, Changed, and Deprecated stay
out: they describe code, and what ships here is claims. Each entry is
one sentence naming the page it applies to, so a reader scanning for the
page they depend on finds it without reading the release.
A corpus has no API surface to break, so a semantic major and minor
carry nothing a reader can act on. What a reader wants is recency and
the releases the pages were read against, which is why a tag is
YYYY.MM.PATCH and the Release body copies the pinned baselines out of
the ledger instead of restating them beside it.

The patch number comes from the tags already in the month and the merge
commit's own date, so nothing depends on the runner clock or on a date
library. A commit that already carries a tag cuts nothing, which makes a
re-run harmless, and the trigger is a branch push, so the tag this
workflow creates cannot start a second run. Creating the tag and the
Release in one call keeps a tag from standing with no Release behind it,
which is what the next run reads to find the highest patch.

The ledger check already cut a named section out of that file, so the
reader moves into the shared library rather than being written twice.
Its rewrite also fixes a section at the end of a page, which the regex
form could not reach.
@robrigo
robrigo force-pushed the docs/ledger-and-releases branch from e873e8a to 27cff53 Compare August 18, 2026 20:47
@robrigo
robrigo deployed to wax-testnet August 18, 2026 20:48 — with GitHub Actions Active
@robrigo
robrigo requested a lite review from Copilot August 18, 2026 20:48

Copilot AI 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.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.

@robrigo
robrigo merged commit f4b6fa7 into main Aug 18, 2026
11 checks passed
@robrigo
robrigo deleted the docs/ledger-and-releases branch August 18, 2026 20:53
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.

2 participants