earth-objects hero audit — 2026-06-15
Generated by scripts/audit-heroes.ts (#5 Phase 1). Rubric locked in chat 2026-06-12; see commit footer for the principles.
Summary
- ✓ clean: 3
- ⇄ swap proposals: 1
- ⊘ needs sourcing: 20
- ✋ accepted overrides: 0
⇄ Swap proposals
Each entry's 01.jpg is currently flagged by the rubric AND an alternate slot in the same gallery scored cleanly. Review then apply (script TBD in Phase 4).
| id | hero reasons | propose → | alt rationale |
|---|---|---|---|
| xmm | subject names a different entity than xmm | 05.jpg | score 9 · zero rubric flags |
⊘ Needs sourcing
Hero is flagged by the rubric and no clean alternate exists in the gallery. Either source a better image (agency-first fetcher pattern) or add an explicit entry to static/data/earth-objects-hero-overrides.json if the current pick is genuinely the canonical option (Soviet-era / crashed-mission cohort).
| id | reasons |
|---|---|
| iss | subject names a different entity than iss |
| tiangong | vision-rejected: score-below-threshold |
| gps | vision-rejected: score-below-threshold; subject names a different entity than gps |
| galileo | subject: matches \bon (?:museum )?display |
| glonass | subject: matches mock[-\s]?up |
| beidou | subject: matches mock[-\s]?up |
| geo | vision-rejected: score-below-threshold; subject names a different entity than geo |
| change2 | not-scored |
| jwst | subject names a different entity than jwst |
| starlink | not-scored |
| oneweb | not-scored |
| iridium-next | not-scored |
| kuiper | not-scored |
| planet-labs | not-scored |
| sentinel-copernicus | not-scored |
| landsat | not-scored |
| goes | not-scored |
| inmarsat | not-scored |
| tundra-molniya | not-scored |
| o3b | not-scored |
✋ Accepted overrides
None. When you decide a hero is the canonical pick despite the rubric flagging it, add it to static/data/earth-objects-hero-overrides.json with a short reason. Overrides win over rubric output silently — the audit lists them here so the override list stays visible + reviewable.
✓ Clean
3 entries currently pass the rubric. Not enumerated here — they're the silent majority. Run with --list-clean if you want them.