Skip to content

Slice A v3 — manual-source backlog

Generated 2026-06-18 after Slice A v3 round-4 ship.

Why this list exists

During Marko's round-4 manual rescue pass, several gallery slots were "approved" not because the proposed image was a true hero — but because the auto-pipeline had nothing better. The dropped-pool alternatives for these slots were random off-topic content (cars, horses, houses, trees, etc., surfaced via fuzzy NASA Images query matches). Marko picked the duplicate-of-another-slot as the least-bad option so the gallery isn't blank on the live site, with the explicit understanding that these slots need hand-sourcing later.

The underlying cause: the slice-a-*-dryrun.json files were generated before commit 20f3016ac (Stage 2 — resolver per-pick dedup across dry-run). Inside a single dryrun the resolver returned the same top-1 candidate for every slot of a given mission. The next pipeline iteration regenerates the dry-runs through the diversified resolver, which will give multi-slot missions a fighting chance at distinct candidates — but until then, the slots listed below are knowingly populated with duplicates.

The allowlists are in scripts/validate-image-dupes.ts under the ALLOWLIST_AUTHORIZED (2026-06-18) — Slice A v3 round-4 rescue ship comment block. Removing entries from there once the slots have proper hand-sourced replacements lands as part of the cleanup.

Items needing hand-sourcing

MissionSlotsSame byte SHARationale
a7l (A7L spacesuit)03, 04, 05eada8e1cSuit lineage gallery; 3 slots show the same suit photo
aces (ACES launch/entry suit)02, 03, 04, 05702fcc41All 4 gallery slots collapsed to one image
cygnus-standard02, 03, 0578248fa6Cygnus cargo fleet gallery; 3 slots same image
emu (Extravehicular Mobility Unit)02, 03, 04, 050028195cEVA suit gallery; all 4 slots one image
lc-34 (Launch Complex 34)03, 04, 057dacaa15Apollo-era pad; gallery shows same pad shot 3×
lunar-prospector01, 045671243eHero AND gallery slot 04 are the same image
maven01, 04d79e07aeHero AND gallery slot 04 are the same image
MissionSlotsSame byte SHARationale
dart01, 0512042c1fDART hero + slot 05 share the same image
freedom-703, 05730db1bdTwo gallery slots show same image
friendship-701, 025faf9c60Hero + gallery slot 02 are the same image
mercury-atlas-903, 05f2730ab6Two gallery slots show same image
mercury-redstone-301, 04de85acebHero + gallery slot 04 are the same image
spirit01, 02ff4e464cHero + gallery slot 02 are the same image

Suggested hand-sourcing priority

  1. Hero+slot dupes (lunar-prospector, maven, dart, friendship-7, mercury-redstone-3, spirit) — these create a "the hero is the same as one gallery slot" visual repeat that's especially obvious on the site. Sourcing distinct slot images first removes the most visible collisions.
  2. Long galleries with single image (aces 02-05, emu 02-05) — these show "1 image pretending to be 4" which is the worst UX. Even 1 alternative per slot would help.
  3. Spacesuit gallery slots (a7l 03-05) — lower priority because the suit hardware is consistent across photos; less "obvious copy" feel.
  4. Pad/launch-site galleries (lc-34 03-05) — same shot from different angles is plausible; lower visual impact.

When sourcing replacements

For each slot above:

  1. Find a candidate image via the Wikimedia Commons / NASA Images / agency archive that's distinct from the existing slot 01 of that mission.
  2. Drop the file at static/images/<surface>/<missionId>/<slot>.jpg replacing the duplicate.
  3. Update the matching sidecar entry in static/data/fleet-image-sources.json or static/data/mission-image-sources.json with the new source metadata (source_type, image_url, credit, license).
  4. Remove the corresponding SHA from scripts/validate-image-dupes.ts ALLOWLIST so the byte-dupe gate re-engages.
  5. Re-run npm run build-image-provenance and the byte/phash validators to confirm clean.

Counts

  • Items in this backlog: 13 dupe groups spanning 33 image files.
  • Each group has 2–4 slots collapsed to a single image.
  • Total cleanup work: ~33 hand-sourced replacements + 13 allowlist entries to retire.

Orrery — architecture documentation · MIT · No tracking