X_REFERENCE_APP_PIN_STALE
Means
a step pinned as failing in the app's expectedRed now passes
Typical cause
the app was repaired and the pin was not lowered — the ratchet only shrinks. As of 2026-11, both tracked apps' tables are empty; neither app currently has a pin to remove
Fix
bun run scripts/reference-app-gate.ts --unpin <app>:<step>[,<step>] — retained for future pins: if a pinned step passes, fix carries the exact line. It edits scripts/lib/gated-apps.ts, refuses nonexistent entries before file access, and refuses rather than guess if that file no longer reads as the pin table