AntFleet

Disagreement · 1939cc1e-openai-1

Undefined variable pct used in article and notification templates

mismatch
repo 6f7fc663·PR #32·reviewed 1 week ago

Primary finding

Undefined variable pct used in article and notification templates

mediumbughigh
  • skills/fleet-state/SKILL.md:200-203
  • skills/fleet-state/SKILL.md:361-363
The spec never defines or computes pct. Implementations following the template will render a literal ${pct} or fail template interpolation. The notification and article would contain incorrect placeholders.

Recommendation

Define pct as the percentage of running forks: e.g., pct=$(awk "BEGIN { if ($N_TOTAL==0) print 0; else printf \"%.1f\", (100.0*$N_RUNNING/$N_TOTAL) }") and ensure it is set before writing the article/notification. Handle N_TOTAL=0 to avoid division by zero.

Counterpart finding

`history` rotation evicts entries by run_date sort but the dedup contract is unspecified — duplicate same-day runs corrupt the 12-week trend

lowdata-lossmedium
  • skills/fleet-state/SKILL.md:196-206
If the skill is re-run on the same UTC day (manual rerun after a transient failure, or dry-run followed by execute), a second entry with the same `run_date` is appended. `sort_by(.run_date)` is stable but does not dedup, so the 12-entry window fills with same-day duplicates and oldest legitimate weekly rows get evicted prematurely. The spec also says history is the longitudinal record for 3-month trend lines — duplicate runs silently shorten the trend.

Recommendation

Add a dedup step: `| group_by(.run_date) | map(.[-1]) | sort_by(.run_date) | .[-12:]` so the latest same-day entry replaces any prior same-day entry.

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.