Skip to content

runner-hook: a whole-mini claim names the hook that admitted the job - #1739

Merged
teamleaderleo merged 1 commit into
mainfrom
leo/hook-sha-attest
Oct 29, 2026
Merged

teamleaderleo merged 1 commit into
mainfrom
leo/hook-sha-attest

Conversation

@teamleaderleo

Copy link
Copy Markdown
Owner

Leo, 2026-10-28: the release signing jobs may run on owned Macs, on a mini the job "claims exclusively".

The exclusive class's leftover-process check (#1738) only holds on minis whose runner dirs carry the new hook; a runner dir still on an older hook admits a signing job without it. This makes the claim name the hook that granted it, so cmux's signing jobs can refuse themselves (and fall back to Blacksmith in the same run) when an older hook admitted them.

  • export_job_claim writes GLAEDA_HOOK_SHA256=<sha256 of this hook file> beside GLAEDA_JOB_CLAIM=exclusive.
  • A hook that cannot read itself writes the claim without a sha, so a job that needs one refuses itself.
  • Pins the hook's new sha256 (41e29cd9…) in glaeda-disk.

Before: $GITHUB_ENV gets GLAEDA_JOB_CLAIM=exclusive. After: it also gets GLAEDA_HOOK_SHA256=41e29cd9….

Tests: test_job_claim_names_only_a_whole_mini (both lines, and no sha for an unreadable hook) and test_a_signing_job_takes_the_whole_mini (an admitted signing job sees the sha) pass, as do the hook-pin and glaeda-disk hook tests.

Not in this PR: swapping a staged hook in at job start. It is left out on purpose.

Agent session: agent session

🤖 Generated with Claude Code

…(GLAEDA_HOOK_SHA256)

The exclusive claim in $GITHUB_ENV now carries this hook file's sha256 beside
GLAEDA_JOB_CLAIM=exclusive, so a signing job can refuse itself when an older
hook (one without the leftover-process check) admitted it. A hook that cannot
read itself writes no sha. Pins the hook's new sha256 in glaeda-disk.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-85ca59f74f02d81734c3
@teamleaderleo

Copy link
Copy Markdown
Owner Author

Owned by an agent session · session

@teamleaderleo
teamleaderleo merged commit ca221c3 into main Oct 29, 2026
19 checks passed
@teamleaderleo
teamleaderleo deleted the leo/hook-sha-attest branch October 29, 2026 08:52
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