You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
glaeda pins these runner hooks (glaeda-disk's CMUX_NEXT_DRAIN_HOOK_SHA256), and scripts/ci/glaeda-signing-hooks.txt does not list them yet. Until it does, owned-Mac signing jobs on minis that run them fail their claim gate, and each run's Blacksmith twin signs.
Check before landing: each sha is the sha256 of scripts/glaeda-cmux-runner-hook at a reviewed glaeda main commit, and that hook still waits out an earlier job's leftover processes and gives signing jobs the exclusive claim. tests/test_ci_signing_owned_mac.py checks that every listed sha is a glaeda pin.
Written by cmuxterm-hq .github/workflows/fleet-reconciler-glaeda-signing-hooks.yml (tools/fleet-reconcilers/glaeda_signing_hooks_sync.py). It updates this branch when glaeda pins another hook, and never merges.
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Adds the glaeda runner hook df0e90b4 (glaeda 548d71ae) to scripts/ci/glaeda-signing-hooks.txt so owned-Mac signing jobs that run it pass their claim gate instead of failing and letting each run's Blacksmith twin sign.
The hook resets a borrower whose repack finds its store damaged, allowing it to borrow once more.
Written for commit 5758129. Summary will update on new commits.
Review (independent subagent, Opus 5.5 claude-opus-5-5): SHIP at 5758129
Base red: feat-cmux-next's own guards push runs 41200287738, 41199731009 and 41199330679 fail SigningHooksInStepWithGlaedaTests.test_every_listed_hook_is_one_glaeda_released_with_the_check, because glaeda's newest hook df0e90b4 is not listed. This PR clears that red.
Red first: at origin/feat-cmux-next 3bcae6c, python3 tests/test_ci_signing_owned_mac.py SigningHooksInStepWithGlaedaTests fails (1 failure). At this head it passes, and the full file passes 19/19 (Linux VM, portable Python).
The reviewer checked independently: the sha256 of scripts/glaeda-cmux-runner-hook at glaeda 548d71ae9c86 is df0e90b4, and it is the last entry in glaeda main's CMUX_NEXT_DRAIN_HOOK_SHA256. The previous hook (parent 1cd373c3) hashes to 49b5d9f5. The hook diff changes only borrow_mirror (job-completed store reset and one retry). The leftover-process wait, the exclusive claim, and the GLAEDA_JOB_CLAIM/GLAEDA_HOOK_SHA256 exports did not change. No workflow names the sha.
Note for glaeda (non-blocking): the reset_damaged_borrower docstring says "store whole on OSError". That is not true when there are no submodule stores (rmtree comes before git init).
No compile is needed: this PR changes only a data file that the claim gates read.
Fleet compile at the exact head 5758129: cmux-ci compile-check --app --ref 57581293c6fba73fabb339a4d508f25810f72763. Job 1cf8f9823586f46bbe7ab33f: compile check app: passed (81 s). The risk:high evidence is now complete: the independent receipt (comment above) and a green compile at this head.
What the PR does: it adds one line to scripts/ci/glaeda-signing-hooks.txt (line 24), so that owned-Mac signing jobs trust the glaeda runner hook df0e90b4... (glaeda 548d71ae, #1770).
What I checked:
The sha is correct. I downloaded scripts/glaeda-cmux-runner-hook at glaeda 548d71ae9c8648d38e1904bdc838610d6179be61 and its sha256 is df0e90b42c73838e01855a51636b7ed5c47fd918faf76ab815b5ce78aec54e57. That commit is the current glaeda main tip.
glaeda pins it: scripts/glaeda-disk at that commit lists the sha in CMUX_NEXT_DRAIN_HOOK_SHA256 (line 861).
The hook change is safe for signing. The diff from the last trusted hook (1cd373c3, Allow configurable tab/surface label font size #1768) to 548d71ae changes only borrow_mirror: on a repack error that names an unreadable object, it resets the checkout's git store and borrows one more time. The reset runs inside the existing try/except Exception of borrow_mirror, so it cannot fail a job. The exclusive whole-mini claim (export_job_claim, GLAEDA_JOB_CLAIM, GLAEDA_HOOK_SHA256), the signing-hooks pre-check and the leftover-process wait are not changed.
python3 tests/test_ci_signing_owned_mac.py at this head: 19 tests, OK (run locally; it is a Python test).
PR checks on this head: no failed check. tooling-tests, risk evidence, signing runner variables are ephemeral and the nightly guards pass; the rest skip for a data-only change; next-autoland / verdict is pending.
risk:high compile: fleet compile check job 09e070c29d7fa7ad63e22f51 at this exact head passed (CmuxNext 223 s, app 89 s, cmux-tui 11 s).
The rules for Swift and UI (main thread, motion, dialogs, keys, fonts, try!) do not apply: no code changes in this repo. No BSL server directory changes. It is not a bug fix, so no red-first test is needed.
What I did not check:
I did not run a real signing job on an owned Mac with this hook.
I did not review the whole glaeda hook, only the change since the last trusted hook.
lawrencecchen
added
ready-to-land
Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds
and removed
ready-to-land
Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds
labels
Oct 31, 2026
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
ready-to-landReviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base redsrisk:highRisk tier (docs/ci/risk-tiers.md)
1 participant
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.
glaeda pins these runner hooks (glaeda-disk's
CMUX_NEXT_DRAIN_HOOK_SHA256), andscripts/ci/glaeda-signing-hooks.txtdoes not list them yet. Until it does, owned-Mac signing jobs on minis that run them fail their claim gate, and each run's Blacksmith twin signs.df0e90b42c73838e01855a51636b7ed5c47fd918faf76ab815b5ce78aec54e57: glaeda 548d71ae: runner hook: a borrower whose repack finds its store damaged is reset and borrows again once (fix(keyboard): support CJK input methods for custom shortcuts #1770)Check before landing: each sha is the sha256 of
scripts/glaeda-cmux-runner-hookat a reviewed glaeda main commit, and that hook still waits out an earlier job's leftover processes and gives signing jobs the exclusive claim.tests/test_ci_signing_owned_mac.pychecks that every listed sha is a glaeda pin.Written by cmuxterm-hq
.github/workflows/fleet-reconciler-glaeda-signing-hooks.yml(tools/fleet-reconcilers/glaeda_signing_hooks_sync.py). It updates this branch when glaeda pins another hook, and never merges.Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Adds the glaeda runner hook
df0e90b4(glaeda 548d71ae) toscripts/ci/glaeda-signing-hooks.txtso owned-Mac signing jobs that run it pass their claim gate instead of failing and letting each run's Blacksmith twin sign.The hook resets a borrower whose repack finds its store damaged, allowing it to borrow once more.
Written for commit 5758129. Summary will update on new commits.