Skip to content

sign-branch, branch-sweep: mint their own broker entries, not the board's - #143

Open
bdelanghe wants to merge 1 commit into
mainfrom
claude/session-root-dispatcher-export-emrnqk
Open

sign-branch, branch-sweep: mint their own broker entries, not the board's#143
bdelanghe wants to merge 1 commit into
mainfrom
claude/session-root-dispatcher-export-emrnqk

Conversation

@bdelanghe

Copy link
Copy Markdown
Contributor

Follow-up to #142, from its first two live dispatches.

What the dispatches showed

Cross-repo mint fails on scope, exactly as the preflight is designed to (run 31233034996): the fan-in front-desk App grants organization_projects, issues, pull_requests, metadata — no contents at all. It's the board door; ref writes were never its scope. The claim-ticket doctrine already answers this: each window mints its own broker entry, and the board app must not grow a scope because one window needs it.

Same-repo works end to end. The dry-run sweep of .github produced the intended table — 11 candidates (all no open PR, tips June–early July), 4 kept for age or open PRs, nothing protected touched. And sign-branch's already-verified guard fired correctly on its first dispatch.

Change

app: front-deskapp: front-desk-sign / app: front-desk-sweep, both require: contents, with the doctrine and the failing run recorded at the mint step. Until the broker registry (infra) carries the two entries pinned to these workflows at refs/heads/main, cross-repo dispatches keep failing at mint, naming the gap — the same designed interim claim-ticket ran under before its entry landed. Same-repo dispatches are unaffected.

195/195 tests pass.

What this unblocks, and what it still doesn't

  • After the infra entries land: branch-sweep on .github-private (prefix: tmp/) finally deletes tmp/api-mode-probe, and the 30-day sweep becomes available org-wide.
  • Until then, cross-repo signing/sweeping stays blocked at mint. (This branch's own commit is verified — the session's /tmp/code-sign shim signs locally, a capability discovered working mid-session after several avoidable laptop amends.)

Generated by Claude Code

…rd's

The first cross-repo dispatch (run 31233034996) failed at the mint
preflight: the fan-in `front-desk` app carries organization_projects,
issues, pull_requests, metadata — no `contents` at all. That is the
preflight working (#87/#93), and the fix is the doctrine claim-ticket.yml
already states: each window mints its own broker entry, and the board
app must not grow a scope because one window needs it.

So: `front-desk-sign` (sign-branch) and `front-desk-sweep` (branch-sweep),
both requiring `contents`. Until the broker registry (infra) carries the
two entries pinned to these workflows at refs/heads/main, cross-repo runs
keep failing at mint naming the gap — the designed interim, same as
claim-ticket before its entry landed — and same-repo runs are unaffected
(the first same-repo dry-run sweep ran green on the workflow's own token).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@bdelanghe
bdelanghe marked this pull request as ready for review August 8, 2026 02:22
@bdelanghe
bdelanghe requested a review from a team as a code owner August 8, 2026 02:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

2 participants