Skip to content

fix: verify a first report against git, and report every 8 hours - #2

Merged
kim-em merged 2 commits into
mainfrom
fix/auto-bootstrap-and-cadence
Jul 31, 2026
Merged

fix: verify a first report against git, and report every 8 hours#2
kim-em merged 2 commits into
mainfrom
fix/auto-bootstrap-and-cadence

Conversation

@kim-em

@kim-em kim-em commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Two changes, one of which reverses a retreat.

Bootstraps merge again. The previous commit refused a roadmap's first
report because verifying its starting point is a question about position on the
first-parent chain, and three attempts to answer it through the REST API had all
been wrong. That conclusion was right about the API and wrong about the options:
the collector can clone the code repository and ask git. A blobless,
no-checkout, single-branch clone costs about a second and three megabytes, since
only commit subjects are read, and it lets the gate call the SAME functions the
planner uses over the same data -- so the two agree by construction rather than
by luck, which is exactly what the API attempts kept getting wrong. Checked
against all fourteen roadmaps: identical cursors, no mismatches.

This does not weaken the rule that keeps the gate safe. That rule is that no
pull-request content is ever checked out or executed. This clones the upstream
code repository; nothing from the pull request reaches it, and nothing in it
runs.

The cadence drops to 8 hours so more reports can be watched in, with the
per-roadmap server-side gap dropping to 6 so it never refuses a report the
planner considered due. A test now ties the two together, since a gap above the
cadence would generate reports and then refuse them.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

🤖 Prepared with Claude Code

kim-em and others added 2 commits July 31, 2026 11:28
Two changes, one of which reverses a retreat.

**Bootstraps merge again.** The previous commit refused a roadmap's first
report because verifying its starting point is a question about position on the
first-parent chain, and three attempts to answer it through the REST API had all
been wrong. That conclusion was right about the API and wrong about the options:
the collector can clone the code repository and ask git. A blobless,
no-checkout, single-branch clone costs about a second and three megabytes, since
only commit subjects are read, and it lets the gate call the SAME functions the
planner uses over the same data -- so the two agree by construction rather than
by luck, which is exactly what the API attempts kept getting wrong. Checked
against all fourteen roadmaps: identical cursors, no mismatches.

This does not weaken the rule that keeps the gate safe. That rule is that no
pull-request content is ever checked out or executed. This clones the upstream
code repository; nothing from the pull request reaches it, and nothing in it
runs.

**The cadence drops to 8 hours** so more reports can be watched in, with the
per-roadmap server-side gap dropping to 6 so it never refuses a report the
planner considered due. A test now ties the two together, since a gap above the
cadence would generate reports and then refuse them.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…in history

Review of this branch found the one hazard the clone did not remove.
`earliest_merged` locates pull requests by matching their number in commit
subjects, so a labelled pull request whose merge subject omits its number is
invisible -- and the starting point would then be computed from a later merge,
skipping it permanently. That the planner and the gate agree proves nothing
here, because both share the omission. Three earlier versions of this check
passed review the same way while being wrong.

Both sides now call one helper that resolves every labelled pull request the
subject scan missed, asks GitHub for its merge commit, and tests whether that
commit is actually in the documented history. Missing because it merged after
the documented tip is benign and stays silent; missing while genuinely present
refuses, and the roadmap waits for a human.

Only unrecognised pull requests are looked up, which for a bootstrap is the
handful merged since the last documentation build. Live today: three, five and
zero for ReductiveGroups, RepresentationTheory and PDE, all post-tip, so
nothing is flagged and no cursor moves.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@kim-em
kim-em merged commit 0da572f into main Jul 31, 2026
1 check passed
@kim-em
kim-em deleted the fix/auto-bootstrap-and-cadence branch July 31, 2026 11: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.

1 participant