Skip to content

Dependency intake 2026-09-01 — the three genuinely new bumps #340

Description

@bdelanghe

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions