Repository navigation
ci(cmux-next): a target the manifest declares passes graph coverage until the base autofix adds it - #23364
Conversation
…eclares until the base autofix adds it The target graph is bot-only (#21946), so a pull request that adds a SwiftPM target cannot add it to ci-target-graph.json. GraphCoversThePackage then failed Tier routing on every such PR (e.g. #21818, CmuxNextAgentIntegrations). A target directory the manifest declares now passes until the base autofix regenerates the graph; a directory the manifest does not declare still fails. A second test keeps the manifest reader honest against the graph. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cfc-663f-7650-b9f7-64d198c6b88b&host=cosmic-gray
|
Owned by orphan-sweep on cosmic-gray · session |
|
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)
|
|
Review (claude-opus review subagent): SHIP at 3c14380 I read the diff, 1. The reasoning holds.
2. It doesn't hide a real failure on base.
3. The regex is correct for this manifest.
4. The test is correct and in the file's style. It uses Non-blocking nits:
5. It doesn't duplicate an open PR. #23354 moves the graph regeneration to its own Linux job in the base autofix, which shortens the stale window. It doesn't touch this test, so the two PRs complement each other. I found no other open PR that changes |
…target Review nit: Tests/Foo passed when Foo was a regular target. The manifest reader now returns each target's default path, Tests/<name> for a test target and Sources/<name> otherwise, and both tests compare paths. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cfc-663f-7650-b9f7-64d198c6b88b&host=cosmic-gray
|
Found 5 test failures on Blacksmith runners: Failures
|
|
Review (claude-opus review subagent): SHIP at 33cd7d9 I reviewed the diff since 3c14380. Only
Still open, and non-blocking: a commented-out |
|
Bead |
|
Shipped in:
|
The target graph
Packages/macOS/CmuxNext/ci-target-graph.jsonis bot-only (#21946). A pull request can't commit it, and the base autofix regenerates it after the merge. ButGraphCoversThePackage.test_every_source_and_test_directory_is_a_targetrequires every target directory to already be in the graph. So every PR that adds a SwiftPM target failscmux-next checks(Tier routing) with a red it can't fix. #21818 is one example: it addsCmuxNextAgentIntegrationsandCmuxNextAgentIntegrationsTests.What changes:
Package.swiftdeclares but the graph doesn't list yet now passes. The docs already say a manifest change routes every tier, so such a PR isn't under-tested in the meantime.test_the_manifest_reader_finds_the_graph_targets: the manifest reader must find every graph target whose directory exists. This keeps the allowance from quietly letting directories through if the regex breaks.Only
tests/test_cmux_next_route.pychanges. I didn't run it on cosmic-gray; CI'scmux-next checksruns it. I checked by hand that the regex finds 121 of the graph's 122 targets. The one it misses is the binary targetCCmuxAppFFI, which has no path and is skipped.No capture: CI test only, no UI.
Agent session: cosmic-gray
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes
cmux-nextTier routing so PRs that add a SwiftPM target toPackage.swiftno longer fail the graph coverage check.ci-target-graph.jsonis bot-only (#21946): a PR can't commit it, and the base autofix regenerates it after merge, so every manifest-changing PR like #21818 went red with no way to fix it. A target the manifest declares now passes until the autofix adds it, while a directory the manifest doesn't declare still fails. The allowance mapsTests/<name>to test targets andSources/<name>to others, so a test directory can't pass for a regular target or vice versa. A companion test verifies the manifest reader finds every graph target whose directory exists, keeping the allowance from quietly letting stray directories through.Written for commit 33cd7d9. Summary will update on new commits.