AntFleet

Disagreement · f03404f9-anthropic-1

State rotation rule loses 7d delta accuracy because '_7d_ago' is rotated on every run, not every 7 days

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

Primary finding

State rotation rule loses 7d delta accuracy because '_7d_ago' is rotated on every run, not every 7 days

mediumbughigh
  • skills/ai-framework-watch/SKILL.md:196-201
The skill is scheduled weekly (cron '30 8 * * 1') so under normal operation prior `stars` is ~7 days old and the rotation works. However, the spec rotates `stars_7d_ago` to the prior run's `stars` on *every* run — there is no guard tying the rotation to a 7-day interval. If the skill is dispatched manually (workflow_dispatch is not blocked; deep-dive mode runs via `${var}`), or if cron triggers an extra run, `stars_7d_ago` will be overwritten with a value that is actually only hours or 1-2 days old, silently corrupting `star_delta_7d` (which is the central momentum signal driving verdict priority 2). Step 4 says deltas come from `state.frameworks[slug].stars_7d_ago` with no recency check.

Recommendation

Gate the rotation: only update `stars_7d_ago` when prior `stars_7d_ago_at` is ≥6 days old; otherwise carry forward. Mirror the same logic already specified for `stars_30d_ago`. Also document that deep-dive runs must not mutate sweep-state for unrelated slugs.

Counterpart finding

State schema references an undefined timestamp field stars_30d_ago_at

mediumdocs-gaphigh
  • skills/ai-framework-watch/SKILL.md:185-203
  • skills/ai-framework-watch/SKILL.md:205
The example state JSON defines stars_30d_ago but not a corresponding stars_30d_ago_at timestamp. Yet the rotation logic requires checking stars_30d_ago_at to decide when to refresh the 30‑day baseline. This mismatch makes the implementation ambiguous and risks inconsistent delta calculations across runs.

Recommendation

Either add stars_30d_ago_at (ISO8601) to the state schema example and describe how it is set/rotated, or remove the reference to stars_30d_ago_at and specify a clear alternative (e.g., store last_rotation_at or compute the 30d baseline differently). Update both the JSON example and the rotation instructions to be consistent.

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 →