AntFleet

Disagreement · b1d71d08-anthropic-4

Dry-run still writes state and article, defeating its purpose as a preview

solo Opus
repo 6f7fc663·PR #24·reviewed 1 week ago

Opus finding

Dry-run still writes state and article, defeating its purpose as a preview

lowapi-contracthigh
  • skills/fleet-state/SKILL.md:296-298
  • skills/fleet-state/SKILL.md:5
This is documented behavior so it is intentional — but it is a contract trap. Most fleet skills' `dry-run` mode is a *preview* that mutates nothing; here `dry-run` writes the same article+state as a real run and only suppresses notify. An operator who runs `dry-run` to test a change is in fact mutating the WoW baseline, so the *next* real run will compute deltas against the dry-run snapshot and silently produce wrong WoW numbers (or report 0 movement when there was real movement). The reasoning in parens ("so a real run later doesn't re-fire the same week") is itself a code smell: the real fix is dedup-by-date, not mutating state in a flag named `dry-run`.

Recommendation

Either rename the flag (e.g. `var=skip-notify`) so behavior matches the name, or make `dry-run` truly read-only and dedup the real run via a date check on `articles/fleet-state-${today}.md` / `last_run` field.

Other reviewer

The other reviewer flagged nothing in this file/line range.

Why this didn't post

This finding didn't meet AntFleet's unanimous agreement threshold. Both frontier models review every PR independently; only findings they both flag with the same severity and category are posted to the PR. This one fell through.

read the methodology →

From the same review

These findings passed the unanimous gate on the same PR review. The disagreement above was filtered out; the findings below were posted.