The tree is not clean under ward exec cargo-fmt #82
Labels
No labels
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/factory-game-v3#82
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
cargo fmt --all -- --config tab_spaces=2, the exact command behindward exec cargo-fmt, rewrites five committed files that no current work touched. Against668c1ad:Eight sites in five files. The committed code was formatted under narrower line breaking than the verb produces, so the declared format verb and the committed tree disagree.
Why it is worth fixing rather than tolerating
Running the repo's own format verb currently makes the repo's own test gate fail.
ward exec cargo-fmtrejoinsplayer.rs:575into a 100-char line, andward exec testthen fails on thecode-commentshook for that line. An agent that formats before committing produces unrelated churn in four files plus a red gate, and the natural recovery is to hand-revert files it did not mean to touch.The hook side of that collision is a false positive: the checker reads the leading
*dereference as a block-comment continuation. That is tracked upstream incoilyco-flight-deck/agentic-os#961, since agentic-os owns the validator. This issue is the local half.Acceptance
cargo fmt --all -- --config tab_spaces=2 --checkexits clean onmain.ward exec testpasses afterward. If it still fails oncode-commentsfor the rejoinedplayer.rsline, this issue is blocked on agentic-os#961 rather than worked around by reshaping the statement to dodge the checker.cargo-fmtverb's flags unless a deliberate width decision is recorded in the same commit.Provenance
Found while landing #81. Unrelated to that change and reproduces on
mainwithout it.Investigated on
mainatbde07f6. Still reproduces, still blocked, and the blocker has moved.Reproduction
cargo fmt --all -- --config tab_spaces=2now rewrites six files, not five.crates/factory_content/src/lib.rsjoined the set since668c1ad.--checkis clean afterward, so the churn is a one-time convergence, not an oscillation, andcargo test --workspacepasses with 98 tests.The collision is exactly as described. Formatting rejoins
player.rsinto one 100-char line, now at:644:Running the gate on the formatted tree in
agentic-os:release,code-commentsis the only failure out of 34 hook results:Run against the fixed checker from agentic-os
main, the same tree reportscode-comments check: OK. So the formatting is correct and complete, and the false positive is the only thing standing in the way.The blocker is no longer the validator
agentic-os#961 was fixed on 2026-08-06 at
3a6fe4ad. Nothing this repo consumes carries that fix:v0.265.0points at a commit from 2026-08-06T19:34Z. The fix landed at 20:31Z.release,latest, andv0.265.0images were all published at 2026-08-06T19:53:32Z, 38 minutes before the fix.Bumping the pinned
revdoes not help either. Pinned toaos-precommit-v0.15.0, which does carry the fix, the hook still fails in the CI image with the identical message. The image setsPYTHONPATH=/opt/agentic-os/python, which shadows the pinned checkout with its own baked copy, sorevis ignored in CI. That is agentic-os#971.docker/dev-base/full/Dockerfile:119copiesagentic_osinto the image, anddev-base-publishtriggers only on pushes toreleasetouchingdocker/**. A pure-Python validator fix therefore never triggers a rebuild, so it cannot reach CI until some unrelateddocker/**change forces one.What unblocks this
An
agentic-os:releaseimage that carries3a6fe4ad. No change inside this repo can substitute, and the issue rules out reshaping the statement.Artifact
The formatting is committed and pushed as
fix/82-cargo-fmt-clean(ff39384) rather than left local. It is deliberately not onmain: landing it now would redden the gate that #87 just turned green. Once the image ships the fix, that branch should go green as-is and can land direct-to-main.