Third run of bounded-systems/infra#560's intake shape. Small, and prepared so the claim is the only step left.
Approving a claim on this issue is approving these three bumps. Each is pinned to its head commit; a force-push after approval changes the commit and this list stops describing it. The injector re-checks every head_sha immediately before writing a trailer and skips any that moved.
| repo |
PR |
head_sha |
bump |
| bounded.tools |
#70 |
da7e6082 |
ci: bump the actions group with 5 updates |
| front-desk-scheduler |
#194 |
5f1355f1 |
chore(deps): bump the npm group with 2 updates |
| front-desk-scheduler |
#195 |
50964367 |
ci: bump the actions group with 6 updates |
Re-pinned 2026-09-02 — two of the three moved before anyone tapped
The table above is not the one this issue was opened with. Between opening and the claim, Dependabot rebased two of the three:
| PR |
pinned at open |
now |
| bounded.tools#70 |
ee07079b |
da7e6082 |
| front-desk-scheduler#194 |
5f1355f1 |
5f1355f1 (unchanged) |
| front-desk-scheduler#195 |
05860d20 |
50964367 |
The cause is known and benign: the org-wide pr-claim roll landed bounded-systems/.github main at 63715f9, and Dependabot regenerated the two action-group PRs against it. Both now bump their .github pins to 63715f9 — i.e. they adopt the repaired pr-claim caller, which is the change we wanted rolled anyway.
Stated rather than silently corrected, because the failure this guards against is exactly the one that just happened. Had the tap landed against the old table, intake-inject.mjs's head_sha re-check would have refused two of the three — correctly, and confusingly. What is being approved is the table at the top, as of this edit.
Note also that #194 is behind rather than blocked: its required checks read as expected, not absent. It needs its base merged in before it can go green — staleness disguised as absence, per the note in .github-private#850.
The count was verified, not carried
Earlier in this workstream the figure "7 newer Dependabot PRs" was quoted from memory and never checked. It was wrong.
GET /orgs/bounded-systems/repos answers 403 from a session, so the org cannot be enumerated the obvious way. Instead all 46 known repo names (from the two prior intake plans plus the attached set) were probed individually — all 46 readable, none skipped. Result: 5 open Dependabot PRs, two of which are hooksmith#134 and #135, already handled under #324.
So three are genuinely new. If a repo exists outside those 46 names, it is not in this denominator — stated because a coverage number over an unstated set is the failure .github-private#368 is about.
Why these are not being folded into #324
#324 is open and claimed, and it would be trivial to point these three at it. That would be wrong. #324 authorizes the repairs surfaced by the intake — it is not a standing licence for unrelated new work.
pr-claim cannot tell the difference: it verifies that a PR names an open, claimed issue, and it says so about itself —
A green pr-claim means "an open, claimed issue was named", and no more — an author can name any claimed issue, including someone else's. Do not cite this check as authorization.
Which makes reusing #324 here precisely the weakness the check documents, exploited by the one party who knows better. Hence a fresh claim.
What a claim on this establishes, and what it does not
Does: a human authorized, with a passkey, that this claimant may merge these three bumps — with all three commits on the page when they did.
Does not: bind those commits cryptographically. claim-ceremony.mjs still mints bounded.claim-request.v1, whose signed fields are coordinates, not content. bounded.claim-request.v2 and the keeper's resolveSubject seam exist (#312, #315, infra#562/#563) but the door has not been wired to mint v2, so this list is displayed rather than signed. The re-pin above is the concrete cost of that gap: the displayed list drifted, and only a hand check caught it.
Once claimed
docs/handoffs/scripts/intake-inject.mjs (merged in .github-private#841) is the lane now — not the throwaway script the last two runs used. It verifies each write by reading the PR back rather than trusting the API's response, which is the defect that let hooksmith#136 come out of intake #317 reported ok with no trailer on it at all.
And canCloseIntake refuses to close this issue while any listed PR is still open — the other half of the #317 incident, where closing the batch orphaned four still-open PRs and flipped them red with no change to the PRs themselves.
Related: infra#560 (the shape) · #316, #317 (prior runs) · #327 (the three injector failure modes) · .github-private#841, #850
Third run of
bounded-systems/infra#560's intake shape. Small, and prepared so the claim is the only step left.Approving a claim on this issue is approving these three bumps. Each is pinned to its head commit; a force-push after approval changes the commit and this list stops describing it. The injector re-checks every
head_shaimmediately before writing a trailer and skips any that moved.da7e60825f1355f150964367Re-pinned 2026-09-02 — two of the three moved before anyone tapped
The table above is not the one this issue was opened with. Between opening and the claim, Dependabot rebased two of the three:
ee07079bda7e60825f1355f15f1355f1(unchanged)05860d2050964367The cause is known and benign: the org-wide
pr-claimroll landedbounded-systems/.githubmain at63715f9, and Dependabot regenerated the two action-group PRs against it. Both now bump their.githubpins to63715f9— i.e. they adopt the repairedpr-claimcaller, which is the change we wanted rolled anyway.Stated rather than silently corrected, because the failure this guards against is exactly the one that just happened. Had the tap landed against the old table,
intake-inject.mjs'shead_share-check would have refused two of the three — correctly, and confusingly. What is being approved is the table at the top, as of this edit.Note also that #194 is
behindrather thanblocked: its required checks read as expected, not absent. It needs its base merged in before it can go green — staleness disguised as absence, per the note in.github-private#850.The count was verified, not carried
Earlier in this workstream the figure "7 newer Dependabot PRs" was quoted from memory and never checked. It was wrong.
GET /orgs/bounded-systems/reposanswers 403 from a session, so the org cannot be enumerated the obvious way. Instead all 46 known repo names (from the two prior intake plans plus the attached set) were probed individually — all 46 readable, none skipped. Result: 5 open Dependabot PRs, two of which arehooksmith#134 and #135, already handled under #324.So three are genuinely new. If a repo exists outside those 46 names, it is not in this denominator — stated because a coverage number over an unstated set is the failure
.github-private#368 is about.Why these are not being folded into #324
#324 is open and claimed, and it would be trivial to point these three at it. That would be wrong. #324 authorizes the repairs surfaced by the intake — it is not a standing licence for unrelated new work.
pr-claimcannot tell the difference: it verifies that a PR names an open, claimed issue, and it says so about itself —Which makes reusing #324 here precisely the weakness the check documents, exploited by the one party who knows better. Hence a fresh claim.
What a claim on this establishes, and what it does not
Does: a human authorized, with a passkey, that this claimant may merge these three bumps — with all three commits on the page when they did.
Does not: bind those commits cryptographically.
claim-ceremony.mjsstill mintsbounded.claim-request.v1, whose signed fields are coordinates, not content.bounded.claim-request.v2and the keeper'sresolveSubjectseam exist (#312, #315,infra#562/#563) but the door has not been wired to mint v2, so this list is displayed rather than signed. The re-pin above is the concrete cost of that gap: the displayed list drifted, and only a hand check caught it.Once claimed
docs/handoffs/scripts/intake-inject.mjs(merged in.github-private#841) is the lane now — not the throwaway script the last two runs used. It verifies each write by reading the PR back rather than trusting the API's response, which is the defect that lethooksmith#136 come out of intake #317 reportedokwith no trailer on it at all.And
canCloseIntakerefuses to close this issue while any listed PR is still open — the other half of the #317 incident, where closing the batch orphaned four still-open PRs and flipped them red with no change to the PRs themselves.Related:
infra#560 (the shape) · #316, #317 (prior runs) · #327 (the three injector failure modes) ·.github-private#841, #850