# Neon profile pack sync

LilArcade's local Neon `.riddle-proof/profiles` had drifted from the reusable Neon Step Sequencer pack in `@riddledc/riddle-proof-packs`.

Before the fix:

- Local app profiles: 5
- Published pack profiles: 9
- Missing locally: `neon-explore-songs-and-mixes.json`, `neon-mobile-trainer-layout.json`, `neon-playback-sync.json`, `neon-source-readiness.json`
- Stale locally: `neon-fast-mix-health.json`, `neon-full-mix-health-matrix.json`, `neon-mix-change-before-after.json`, `neon-ratchet-loop-approved-candidate.json`, `neon-ratchet-loop-mix-level-search.json`

The fix added `scripts/syncNeonRiddleProfiles.mjs`, a focused test, and `proof:sequencer:check-profiles`. `npm test` now fails if the app-local Neon profile files are out of sync with the reusable pack.

Validation:

- `npm run proof:sequencer:check-profiles`: passed with 9 profiles and no drift
- `npm test`: passed, 103 tests
- `npm run build`: passed
- Local fast mix health proof: passed 7 checks, 9 setup actions, RMS 0.1236, peak 0.8356, clipping false, lowLevel false
- Local source-readiness proof: passed 4 checks, 5 setup actions, all required source states idle

This does not prove the mix sounds better. It proves the app's proof coverage is now synced to the reusable pack and guarded against silent drift.
