AntFleet

Disagreement · b1d71d08-openai-2

Undefined variables in templates (pct, owner, transition counts) make the spec incomplete/ambiguous

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

Primary finding

Undefined variables in templates (pct, owner, transition counts) make the spec incomplete/ambiguous

mediumdocs-gaphigh
  • skills/fleet-state/SKILL.md:201
  • skills/fleet-state/SKILL.md:344
  • skills/fleet-state/SKILL.md:174
  • skills/fleet-state/SKILL.md:351-354
The article and notification refer to variables not defined elsewhere in the steps: pct (running percentage), owner (for spotlight fallback), and counts for transitions (N_LEVELED_UP, N_REVIVED, N_WENT_STALE, N_NEW_ACTIVE). Missing definitions create ambiguity for implementers and may lead to runtime placeholders leaking into output or inconsistent calculations.

Recommendation

- Define and compute pct explicitly (e.g., pct=$(( N_TOTAL>0 ? (100*N_RUNNING+N_TOTAL/2)/N_TOTAL : 0 )) with integer rounding) and note formatting to avoid divide-by-zero. - Define ${owner} or remove it from the fallback line; if it should be spotlight operator handle, specify how to extract it from SPOTLIGHT_FORK or history fields. - In Step 6, specify collecting counts for each transition category (and define variable names) alongside the bullet extraction. - Ensure all variables appearing in templates are defined in preceding steps.

Counterpart finding

PARENT_REPO via gh api missing auth/error handling — failure silently empties PARENT_OWNER

lowbugmedium
  • skills/fleet-state/SKILL.md:70-76
  • skills/fleet-state/SKILL.md:343-348
If `gh repo view` or `gh api` fails (rate-limit, missing GH_TOKEN, offline run), PARENT_REPO becomes empty and PARENT_OWNER is empty. The subsequent parent-comparison logic ("If the state file's `parent` is set and differs from the resolved `PARENT_REPO` → clear snapshot + history") will treat "" as a different parent and *nuke 12 weeks of history*. This is a data-loss path triggered by a transient API failure. Also note: the constraints section says "never calls gh api on fork repos" but does call gh api on the current repo's nameWithOwner — minor; but a transient failure should not wipe history.

Recommendation

Validate `[ -n "$PARENT_REPO" ]` after the gh call; on failure, log `FLEET_STATE_PARENT_UNRESOLVED` and exit without touching state, OR fall back to the stored parent.

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.