Repository navigation
cmux-runner-hook: classify cmux-next frame-pacing's build and bench - #1383
Merged
Merged
Conversation
cmux's nightly cmux-next-frame-pacing.yml (cmux#16511) runs reload-build's `build` and a `bench` job on the side lane. The hook does not know either under that workflow, so both fall to the compile class. Fails until the classes land. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RYQHfug1ZVQDp4eWgwVUtD
cmux-next-frame-pacing.yml (cmux#16511) calls reload-build.yml for its `build`, which is the same isolated workspace Debug build under the caller's workflow name. Its `bench` takes the gui token itself with take-gui before the console steps, so it is gui-step, as test-e2e's `test` is. Without these, both fell to the compile class and held the persistent DerivedData and a canonical root they never use. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RYQHfug1ZVQDp4eWgwVUtD
Owner
Author
|
Subagent review at ff9608f: APPROVE. build resolves to (cmux-next-frame-pacing.yml, build) via the caller's GITHUB_WORKFLOW_REF, like cmux-tui's build; gui-step admission plus the workflow's take-gui 0|2 handling never runs the bench without the gui token, and has no root/gui lock-order deadlock. Non-blocking: on a one-root mini the bench holds the root it doesn't use (nightly, quiet hour); a locked console refuses the job at job-started (red, not skipped). |
This was referenced Oct 1, 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
cmux's nightly
cmux-next-frame-pacing.yml(manaflow-ai/cmux#16511, merged as f204ade4df3) runs two jobs on the side lane. The hook didn't recognize either of them under that workflow, so both fell back to the compile class. That class takes the persistent-dd token and a canonical root, and neither job uses them.buildcallsreload-build.ymlthrough workflow_call. Inside a called workflow,GITHUB_WORKFLOW_REFnames the caller, so the hook sees(cmux-next-frame-pacing.yml, build). The work is reload-build's Debug build into the workspace, so it is isolated, matching(reload-build.yml, build).benchunpacks the app into$RUNNER_TEMPand drives the console session. Before those steps it takes the gui token itself withglaeda-canonical-root take-gui --wait 900, the same way test-e2e'stestdoes, so it is gui-step. It restores no product into a canonical root. On a one-root mini, gui-step takes gui and the root when the job starts, take-gui is then a no-op, and the workflow accepts exit 0 or 2.Commits: a71b1d3 adds the failing test, ff9608f adds the classes.
Red (a71b1d3):
python3 scripts/test-glaeda-cmux-runner.py HookTest.test_job_class_keys_on_workflow_file_and_job_idfailed with('compile', True) != ('isolated', False).Green (ff9608f): the same command passes.
-k gui_stepandNoEmDashTestalso pass.Rollout: job-started.sh runs the staged hook fresh for each job, but the minis only pick up this change after a
glaeda-cmux-runner-fleet --apply(or OTA). That rollout is not part of this PR.🤖 Generated with Claude Code
https://claude.ai/code/session_01RYQHfug1ZVQDp4eWgwVUtD