# Mixing Canon Surrogate Report

- date: 2026-05-25
- integrations_pr: 741
- integrations_release_pr: 742
- proof_packs_version: @riddledc/riddle-proof-packs@0.7.0
- lilarcade_pr: 525
- lilarcade_deploy_commit: f7607d2994e5294cba70fbe6b095d90fc3bd8692
- lilarcade_amplify_job: 703
- lilarcade_durable_promotion_pr: 526
- lilarcade_durable_promotion_commit: 0b4f724aa0fc2666d4babd183f781bf760533699
- lilarcade_durable_promotion_amplify_job: 704
- status: durable_deployed_and_current_target_proved

## Claim

Neon can convert a metric-supported guitar-down review candidate into a development-only approval surrogate with explicit checks before applying a one-candidate proof, while preserving the listening-review boundary.

## Catch

The approved-candidate flow could carry `mixing_canon_surrogate` as an approval mode, but the approval decision itself was not yet a first-class proof artifact.

That left an uncomfortable gap: the app could apply a selected candidate for development, but a reviewer could not quickly inspect why Codex was allowed to stand in for a human during iteration.

## Fix

Integrations PR #741 added `createMixingCanonSurrogateReview` to `@riddledc/riddle-proof-packs/audio-mix-review`.

The helper approves only conservative, reversible, metric-supported candidates when objective receipts pass:

- candidate packet is ready for listening review
- recommended action is `set_mixer_level`
- absolute level delta is at or below the configured conservative limit
- target movement matches the requested direction
- section-energy floors and guardrails are preserved
- clipping, headroom, low-level, and state-restoration checks pass
- ranking remains `review_order_only`
- proof/taste boundary is explicit

Release PR #742 published `@riddledc/riddle-proof-packs@0.7.0`.

LilArcade PR #525 then inserted the surrogate review step before approved-candidate application. The batch now writes `mixing-canon-surrogate-review.{json,md}` and propagates the evidence-backed approval basis into the generated approved-candidate profile and durable patch plan.

## Evidence

Validation passed:

- `pnpm --filter @riddledc/riddle-proof-packs test`
- trusted npm publish of `@riddledc/riddle-proof-packs@0.7.0`
- `npm view @riddledc/riddle-proof-packs version` returned `0.7.0`
- `node --test scripts/__tests__/neonRatchetBatch.test.mjs` with 25 passing tests
- `node --test src/proof/__tests__/neonProofContract.test.mjs` with 10 passing tests
- `npm run build`
- `npm run test:sequencer` with 149 passing tests
- local built-app proof returned `approved_for_development_application`
- Amplify job 703 deployed LilArcade PR #525
- production proof returned `approved_for_development_application` and `ready_for_durable_patch`
- LilArcade PR #526 applied the durable guitar `0.55` override
- Amplify job 704 deployed LilArcade PR #526
- production current-target proof returned `ready_for_promotion_review`

The production proof selected `guitar -0.05`, set guitar from `0.6` to `0.55`, passed 10 objective receipts, preserved section-energy guardrails, restored state, applied the one-candidate proof under `mixing_canon_surrogate`, and generated override id `monkberry-moon-delight-tab-guitar-06-to-055-approved-candidate`.

After the durable source promotion deployed, the current-target proof verified 2 active overrides with 0 findings. The new guitar override passed with `guitar: 0.55`, peak `0.7522`, RMS `0.0999`, no clipping, 2.47 dB headroom, and no low-level proof window.

## Boundary

This proves the development approval handoff is explicit, conservative, inspectable, and backed by objective receipts. It does not prove subjective mix quality, listener preference, or that the candidate is the best musical edit.
