docs: the roadmap describes the product that shipped, and a gate so its version cannot rot again - #328
Merged
Conversation
…ts version cannot rot again
ROADMAP.md opened on "Solo-maintained and moving fast (v0.1)" while
v1.0.0-rc.13 was cut, and named "the brain's API is the boundary" as the
guiding invariant of a product whose brain was demoted to optional Tier-2 on
2026-09-04. `corral review` and the ledger branch — the two things the
homepage, both videos, the Show HN post and the launch all lead with — did
not appear in Shipped at all.
What changed:
- Header: the version, and the arc rewritten as what corral is (an auditing
engine with two extensions), with the invariant restated as the rule that
actually holds — the one who wrote the code does not judge it.
- A note saying plainly that the brain-era detail below is kept as history
and read "the brain" as "the optional daemon", rather than deleting work
that did ship.
- Two new Shipped sections: The record (orphan branch, DuckDB in place,
ledger verify + Rekor, priors, brief/scans/verify --db) and The review
(demote-only tiers, challenger and verifier seats, human adjudication
outranking both, models rank).
- The substrate block marked Tier-2 and frozen.
- The through-line no longer claims brain-mediation.
- The shared-corpus item says what the docs must: no audit reads shared
memory or skills today.
The file already carried a paragraph, written in August, about a stale
roadmap line misleading further than a stale line anywhere else, ending
"edit it in the SAME pull request, because nothing downstream will." That
rule was stated in one place and enforced at no door, and the whole document
then went stale the same way. It now says so.
The gate: TestDocsNeverDescribeCorralAsAnOlderSeries refuses any tracked doc
that describes corral in the present tense as a major series older than the
newest cut tag. Deliberately the weakest true rule, so historical mentions
and changelog tags stay legal; floored so an empty walk fails.
Its first draft was VACUOUS — the regex excluded newlines and the header it
polices wraps between "moving fast" and the version, so it passed both on the
correct string and on a restored "(v0.1)". Caught by its negative control,
which is recorded in the comment.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011NgkB3eLPBhgfqU1XopR1V
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
ROADMAP.mdopened on "Solo-maintained and moving fast (v0.1)" whilev1.0.0-rc.13was cut — and that was the smallest of three problems.What was actually stale
(v0.1)certifyandreviewovertook itcorral reviewand the ledger branch — absent from Shipped entirelySomeone reading the roadmap to find out what corral is would have missed the two things it now leads with.
What this does
ledger verify+ Rekor, priors,brief/scans/verify --db) and The review (demote-only tiers, challenger and verifier seats, a human adjudication outranking both,models rank).The part worth reading
The file already carried this, written in August after a stale line had made outside reviewers name an already-shipped feature as corral's top remaining task:
That rule was stated in one place and enforced at no door, and the whole document then went stale the same way — the same defect as today's field note, at larger blast radius. The paragraph now says so.
The gate
TestDocsNeverDescribeCorralAsAnOlderSeriesrefuses any tracked doc describing corral, in the present tense, as a major series older than the newest cut tag.TestDocsPinTheNewestCutTagcould not catch this:(v0.1)is not a ref a reader installs, it is corral describing itself in prose. Deliberately the weakest true rule so historical mentions and changelog tags stay legal; floored so an empty walk fails.Its first draft was vacuous. The regex excluded newlines, and the header it polices wraps between "moving fast" and the version — so it matched nothing and passed both on the correct string and on a restored
(v0.1). The negative control caught it; the fix and the reason are in the comment. Verified failing on(v0.1)and passing on rc.13.Also updated outside this PR, at your ask: the GitHub About blurb, which described only
certify— now leads with the auditing engine and namesreviewand the branch-as-record. Topics gainedduckdb,motherduck,sigstore,code-review,auditing.🤖 Generated with Claude Code
https://claude.ai/code/session_011NgkB3eLPBhgfqU1XopR1V