# Neon Section-Energy Candidate Guard

- Run: `run_018_neon_section_energy_candidate_guard`
- Captured at: `2026-05-25T03:42:16.076Z`
- Target: `https://main.dlwavl00q582x.amplifyapp.com/games/drum-sequencer?song=monkberry-moon-delight-tab&mix=profile&view=trainer&instrument=bass`
- Profile: `lilarcade-neon-ratchet-loop-mix-level-search`
- Result: `passed`
- Ratchet status: `claim_candidate_supported`
- Published pack: `@riddledc/riddle-proof-packs@0.6.0`
- Deploy: Amplify job `694`, commit `a42609ce69d4a039c8ae4ce4ab08022f4655d4a7`, status `SUCCEED`

## Catch

The candidate loop produced five metric-supported candidates for review and rejected one candidate, `chord -0.10`.

The rejected edit looked small at the control level:

`chord 0.16 -> 0.06`

But the section-energy receipt showed that in the `Intro Bed` proof window, the required chord lane dropped below all configured floors:

| Metric | Baseline | Candidate | Floor |
| --- | ---: | ---: | ---: |
| RMS | 0.0022 | 0 | 0.0005 |
| Peak | 0.0079 | 0 | 0.001 |
| Total energy | 0.000001 | 0 | 0.000001 |

The failed receipts were:

- `required_instruments_preserved`
- `section_energy_floors_preserved`

The recommended candidate remained review-only: `bass 0.62 -> 0.44`. Its section energy floors and guardrails were preserved.

## Boundary

This does not prove the bass candidate sounds better. It proves the candidate packet can now reject a disappearing required lane, preserve guardrails, and rank remaining candidates for human review without treating loudness-style metrics as taste.
