AntFleet

Disagreement · 3cf9137d-openai-2

Stargazer field name mismatch between metadata and notification template

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

Primary finding

Stargazer field name mismatch between metadata and notification template

mediumdocs-gaphigh
  • skills/fork-first-run-alert/SKILL.md:159
  • skills/fork-first-run-alert/SKILL.md:182
The metadata section defines the field as stargazers_count, but the notification template references fork.stargazers. This inconsistency will produce empty/missing values in rendered notifications or lead to incorrect implementation mapping.

Recommendation

Use a single canonical name throughout. Prefer GitHub’s stargazers_count in both state and templates (e.g., "Stars: {fork.stargazers_count}") or rename everywhere to stargazers for consistency and map accordingly in code.

Counterpart finding

Backfill edge case contradicts 'cohort cache freshness' invariant on first-ever run

lowdocs-gapmedium
  • skills/fork-first-run-alert/SKILL.md:174-178
The edge case says to set announced_at to today for backfill entries. But the LRU-cap logic earlier says 'null announced_at goes last — those are unannounced dry-run entries and should not be re-alerted just because they were never notified.' If backfill entries get announced_at=today, they'll be evicted *first* under LRU pressure (oldest announced_at drops first), and once dropped they become eligible for re-alerting. Backfill should arguably use a distinct marker (e.g., backfilled_at) or null announced_at with a 'backfilled: true' flag, so they aren't both early-evicted AND re-alerted after eviction.

Recommendation

Either (a) keep backfilled forks pinned in seen-list (don't evict via LRU), or (b) add a 'backfilled: true' flag so eviction + re-alert logic can distinguish them from real announcements. Clarify intended semantics in the SKILL.md.

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 →