Repository navigation
acpmux: ACPMUX_HARNESS_FIXTURE serves a capture fixture's harnesses and health - #26333
Conversation
…nd health A screenshot rig's before and after builds read the same harness catalog and health rows from a JSON file instead of this host's PATH, probes and registries; updates are refused and nothing is saved. Unset, nothing changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-85ca59f74f02d81734c3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-85ca59f74f02d81734c3
…s, the registry and an empty variable Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-85ca59f74f02d81734c3
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Owned by an agent session · session |
…Settings.fixture Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-85ca59f74f02d81734c3
|
Bead |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-85ca59f74f02d81734c3
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
|
|
Found 2 test failures on Blacksmith runners: Failures
|
|
Review (codex gpt-6-astra xhigh, next-review): SHIP at abb284d No blocking findings. Static review of the supplied diff and files; tests were not run. |
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40581569324 at afa75ae failed: cmux-next checks (god files, concurrency, crash safety, l10n). |
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
acpmux reads
ACPMUX_HARNESS_FIXTUREat start. It names a JSON file of harness profiles and health rows, and the daemon serves those in place of what it would find on the host, so a screenshot rig's before and after builds show the same Settings > Agents > Harnesses data on any machine.The ask, from Leo's standing order for the infra lane: "get the proper reasonable features in. Period." The concrete problem it fixes: live captures of a Harnesses change (cmux#26083) could not be matched. Each host listed its own harnesses, and the running daemon ignored a seeded
harness-health.jsonas soon as it ran its own check.What the variable does
The file looks like
{"harnesses": {ID: HarnessProfile}, "health": [HarnessHealth]}. With the variable set:~/.acpxand the cached ACP Registry). Profile files still join._acpmux/harness/healthserves the fixture's rows as every check, includingrefresh,checkLatestandrescan. Nothing is probed, fetched or saved._acpmux/harness/update, the cached update plan and update prepare._acpmux/registryand_acpmux/harness/add.O_NOFOLLOW. If the variable is set but empty, or the file is missing or unparsable, the daemon refuses to start, so a capture can never silently show the host's harnesses.Risk
Low. With the variable unset, every path runs as before. The one refactor is moving auto-default selection into
pick_auto_default, and its behaviour is unchanged. A signed app passes only an allowlist of variables to its daemon (AcpmuxDaemonLauncher.signedInheritedKeys), so only DEV builds and hand-run daemons can receive this one. A session the person starts on a fixture harness still runs that profile's argv; the rig never opens one.Evidence
tests/harness_fixture.rsdrives the real daemon binary: harnesses, health with and without refresh, a refused update, a refused registry read, the fixture harness never started, no health copy saved, and an empty or missing fixture stopping the start.e519622e(the merge's parent) and after isd65a93cf(the merge). Each capture ran with this change applied on top (refscapture-fixture/26083-beforeand-after). The rows match; the after adds the update cards cmux#26083 introduced.e519622e+ fixture)d65a93cf+ fixture)Companion rig change (the capture state's
harnessFixturefield): manaflow-ai/cmuxterm-hq.Agent session: agent session
🤖 Generated with Claude Code