test: run the base Repair step with its real base-autofix-repair.sh
Fixes the Companion workflows red in cmux-next checks on feat-cmux-next.
What broke
#23315 (95a43f86c9ae) moved the base autofix's Repair step into scripts/cmux-next/base-autofix-repair.sh. The step now calls that script by relative path, and the script reads the Mac exports from EXPORTS_DIR. tests/test_cmux_next_pr_autofix_settings.py runs that step in a scratch tree that holds only a base-autofix.sh stub and sets no EXPORTS_DIR. Its three SettingsOnlyArtifactLeavesTheActionFollowers base subtests (job='autofix') failed at repair_args, line 109:
AssertionError: 127 != 0 : bash: line 2: scripts/cmux-next/base-autofix-repair.sh: No such file or directory
The fix
The scratch tree now holds the real base-autofix-repair.sh next to the stub, and the test sets the step's EXPORTS_DIR ($RUNNER_TEMP/action-exports, as the workflow does). The base subtests now run the repair script itself, which had no other test. The PR-autofix subtests are unchanged.
The pre-commit hook also registered tests/test_crash_class_fast_gate.py (added unregistered by #23331) in tests/test-execution.toml. An unregistered test file is a base red of its own, and the hook adds it to every commit.
Changelog
none
Observed / Not run
- Observed (base, CI):
cmux-next checksat 5a721f661b failsCompanion workflowswith the three failures above. - Observed:
prepush-gate.pyreports no new violations. - Not run locally: the test itself (no test runs on this Mac). The
Companion workflowsstep of this PR'scmux-next checksruns it; its result is recorded below once it reports.
🤖 Generated with Claude Code
Agent session: cosmic-gray
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes the Companion workflows test failures in cmux-next checks after #23315 moved the base autofix Repair step into scripts/cmux-next/base-autofix-repair.sh.
The settings-artifact test now runs the real repair script in its scratch tree (instead of a stub) and sets the step's EXPORTS_DIR, so the three base subtests no longer fail with exit 127. Also registers tests/test_crash_class_fast_gate.py in tests/test-execution.toml, which was previously added unregistered.