Skip to content

📦 WP-005 — ci(gates): golden harness and frozen-golden regression

Engineering log · Phase 0 — Foundation

🔗 Depends on WP-004 · Needed by WP-006

⬅️ WP-004 · Roadmap · WP-013 ➡️

WP-005 — goldens that survive a second machine

The first fixture golden byte-hashed the generated annotation JSON. Those hashes are per-platform stable only — see Float reproducibility — so they were replaced with structural metrics: exact integer counts (images, annotations, categories, polygon points) plus bbox area and coordinate sums pinned with a small absolute tolerance.

The split that has held ever since: integers exact, aggregates to tolerance. Counts are platform-stable by construction; sums of floats are not. Every golden this project has frozen follows it.