fix: verify a first report against git, and report every 8 hours - #2
Merged
Conversation
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>
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
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