# Neon Route Intent Alignment Catch

- Run: `040`
- Date: `2026-05-26`
- Target: `https://riddlenode.com/neon-lab/`
- Pattern: `current_target` plus `claim_candidate_review_matrix`
- Status: `intent_matrix_ready_for_review`

## Plain-English Catch Card

**Title:** Neon stopped testing a guitar claim in a bass-focused route.

**Summary:** The fast RiddleNode smoke loop selected `guitar-down-little`, but the default browser route still focused the trainer on `instrument=bass`. The loop now aligns the default route to `instrument=guitar` for narrow single-intent runs.

**What went wrong:** The candidate proof could still exercise the mixer contract, but the browser/app context was less specific than the claim. A reviewer could read "turn the guitar part down" while the target URL still pointed at a bass trainer route.

**What Riddle caught:** The route/intent receipt now records `route_instrument_aligned_to_single_intent`, with requested route `instrument=bass`, effective route `instrument=guitar`, and inferred instrument `guitar`.

**Why it matters:** Claim-candidate proof should keep the target context aligned with the selected claim. Otherwise a fast smoke can pass while leaving subtle ambiguity about what the browser was showing.

**What changed:** LilArcade's Neon intent matrix now infers the route instrument from a single selected intent unless the user explicitly passes `--route`. Explicit routes and multi-intent shared routes are preserved.

**What this does not prove:** This does not prove the candidate sounds better, that a listener prefers it, or that the mix should be promoted automatically.

**Technical receipt:** `intent=guitar-down-little`; `routeIntentAlignment.status=route_instrument_aligned_to_single_intent`; `requestedRoute=instrument=bass`; `effectiveRoute=instrument=guitar`; `recommendation=guitar -0.02`; `supported=2`; `rejected=0`; `findings=0`; `surrogate=approved_for_development_review`.

## Evidence

- The generated matrix summary targets `https://riddlenode.com/neon-lab/games/drum-sequencer?...&instrument=guitar`.
- The route alignment section records the default requested route with `instrument=bass` and the effective route with `instrument=guitar`.
- The selected intent remains `guitar-down-little`.
- The selected intent row carries `level_change`, `subtle`, and `a little` metadata.
- The live smoke produced recommendation `guitar -0.02`.
- The live smoke reported 2 supported candidates, 0 rejected candidates, 0 review warnings, and 0 findings.
- The mixing-canon surrogate review returned `approved_for_development_review`.

## Validation

- `node --test scripts/__tests__/neonRatchetIntentMatrix.test.mjs`
- `npm run test:neon`
- `npm run proof:sequencer:riddlenode-smoke-loop`
- `npm run build`
- GitHub CI passed for LilArcade PR #534 commit `4a3108f`.

## Boundary

This is route/intent hygiene and objective claim-candidate evidence. It ranks a metric-supported, guardrail-preserving candidate for review; it does not prove subjective mix quality.
