Repository navigation
ci-target-graph: a test's .claude/.codex path is a home dir, not a repo read (fixes Tier routing base red) - #26248
Conversation
…po read The base autofix c14a002 (regenerating the graph after #26139) recorded ".claude/settings.json" as a CmuxNextAppTests read: CloudCredentialTransferTests names home.appendingPathComponent(".claude/settings.json"), and the repository happens to track its own .claude/settings.json. The cmux-next pull_request paths filter does not list .claude/, so test_cmux_next_route's test_every_routed_input_triggers_the_workflow failed on base. literal_reads now skips .claude and .codex alongside .git: those are the agent sessions' config, and a test naming them means a user's home. The base autofix reruns on a generator change and drops the read from the graph. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-cc8bff1c3ddb4ec353c5
|
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)
|
|
Owned by an agent session · session |
|
Found 2 test failures on Blacksmith runners: Failures
|
|
Bead |
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40537790758 at b0ec872 failed: cmux-next generated files. |
…e paths itself #26248 made ci-target-graph.py ignore .git, .claude and .codex paths a test names, so the one-literal form no longer routes CmuxNextAppTests on the repository's settings file. Back to the base's line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Shipped in:
|
* docs(next): the Cloud start-session highlight links its docs (release-notary red on base) test_the_repository_highlights_validate fails on every feat-cmux-next PR: the highlight from #25625 has no tryIt action or docs link. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(nightly): read the legacy publish job with its moved step scripts inline #25879 moved "Generate the old feed's appcast" into scripts/ci/nightly-steps/legacy-identity-appcast.sh, so test_the_appcast_comes_from_the_tested_plist no longer found its commands in nightly.yml (ValueError: substring not found) and release-notary went red on feat-cmux-next. Read the workflow through nightly_workflow_text.nightly_text(), as the other nightly workflow tests do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(nightly): leave test-execution.toml as on the base The pre-commit hook registered two base tests that this PR does not touch; keep this PR to the two red fixes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * release notes: two new fixed highlights get their Try it action (base red) home-composer-border (#26119) and selected-harness-start (#26106) landed with neither an action nor a docs link, which scripts/whats-new/validate.py requires, so release-notary's test_the_repository_highlights_validate is red on feat-cmux-next. The Chief field one opens Home; the harness one starts a new agent chat. Test: python3 scripts/whats-new/test_digest.py: 1 failure before, OK after. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * nightly: the Sparkle key test reads nightly.yml with its moved steps inline (base red) #26196 and #26210 moved two of the four SPARKLE_PRIVATE_KEY="$(./scripts/ci/nightly-sparkle-key.sh)" call sites into scripts/ci/nightly-steps/, so the raw workflow has two and tests/test_nightly_sparkle_key.sh (release-notary) fails its at-least-three check. It now greps nightly_workflow_text.nightly_text(), the expansion the other workflow tests read. Test: bash tests/test_nightly_sparkle_key.sh: FAIL on the base, PASS here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * cmux-next routing: a test's home-folder Claude settings path is not a repository read (base red) CloudCredentialTransferTests named ".claude/settings.json" under a temp home in one literal; ci-target-graph.py found the repository's own file at that path and listed it as a CmuxNextAppTests read (base autofix c14a002), which cmux-next.yml's pull_request paths do not cover, so Tier routing's test_every_routed_input_triggers_the_workflow is red on feat-cmux-next. The test builds the path from folder and file, and the graph loses the read (literal_reads recomputed: the target's other 14 reads are unchanged). Test: python3 tests/test_cmux_next_route.py: 1 failure on the base, OK here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * acpmux: the upload-link test names no literal ~/.acpmux state root (base red) Same change as #26087, combined here because each is red on the other's red: check-state-roots counts the inline test module's /home/me/.acpmux/... fixture (since #25840). upload_ids reads only the parent folder, so the test is the same. Test: bash scripts/cmux-next/check-state-roots.sh .: exit 1 on the base, ok here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * acpmux: collapse the Codex broker's account checks into let chains (clippy base red) #26191 nested two if-lets in codex_auth_broker.rs; clippy -D warnings (collapsible_if) fails on it for every PR that touches acpmux. Same checks, one let chain each. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * release notes: the compact thought-row highlight gets its Try it action (base red) #26270 added it with neither an action nor a docs link, so release-notary's test_the_repository_highlights_validate is red again. Test: python3 scripts/whats-new/test_digest.py: 1 failure before, OK after. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * tests: leave test-execution.toml as the base has it The pre-commit hook registered unrelated tests while committing the base merge. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * cmux-next tests: drop the settings-path split; the graph skips .claude paths itself #26248 made ci-target-graph.py ignore .git, .claude and .codex paths a test names, so the one-literal form no longer routes CmuxNextAppTests on the repository's settings file. Back to the base's line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(next): the Cloud start-session highlight links its docs (release-notary red on base) test_the_repository_highlights_validate fails on every feat-cmux-next PR: the highlight from #25625 has no tryIt action or docs link. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(next): give the two base highlights release-notary rejects a live action feat-cmux-next's inline-pr-pills and inspector-error-colours highlights have no action or docs line, so scripts/whats-new/test_digest.py (release-notary) fails on the base. Use existing palette actions rather than https://cmux.com/docs/agents, which returns 404. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(next): give the new Find in Chat highlight a live action (release-notary red on base since 93ff53c) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Leo <cheerleaderleo@outlook.com>
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Fixes the base red in "cmux-next checks" → "Tier routing":
tests/test_cmux_next_route.pytest_every_routed_input_triggers_the_workflowfails withAssertionError: False is not true : .claude/settings.json.Cause
c14a002 (the base autofix regenerating the CI target graph after #26139, "Cloud: confirmed owner-only provider credential transfer") recorded
.claude/settings.jsonas aCmuxNextAppTestsread.CloudCredentialTransferTestsnameshome.appendingPathComponent(provider == .claude ? ".claude/settings.json" : ".codex/auth.json"), a temp home dir.literal_readsmatched that literal against the repository's own tracked.claude/settings.json. Thecmux-next.ymlpull_requestpaths filter has no.claude/pattern, so the route test, which requires every routed input to trigger the workflow, failed.Fix
scripts/cmux-next/ci-target-graph.pyliteral_readsnow skips.claudeand.codex, the same way it already skips.git. Those directories hold the agent sessions' own config, and a test that names them means a user's home directory. Adding.claude/to the paths filter would also turn the check green, but the whole cmux-next workflow would then run on every hook edit, for a file no Swift test reads.The graph is bot-only (
generated_outputs.py), so this PR doesn't touch it. The base autofix workflow triggers onscripts/cmux-next/ci-target-graph.pyand regenerates the graph after merge. I reranliteral_readsfor every test target in the committed graph with this change. The only difference is that.claude/settings.jsondrops out ofCmuxNextAppTests. Until that regeneration lands, this PR's own Tier routing step stays red, the same failure base has.Test:
tests/test_ci_target_graph.pynow plants.claude/settings.jsonand.codex/hooks.jsonliterals. The test fails without the fix and passes with it.Risk: low. Only CI routing is affected. A Swift test that really read a repo file under
.claude/or.codex/would no longer route on it, and none does today.Review: an independent Codex review (gpt-6-astra, xhigh) returned SHIP at 4f92f35.
Agent session: agent session
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.