{
  "version": "lilarcade.neon-intent-matrix-mixing-canon-surrogate-review.v1",
  "kind": "mixing_canon_surrogate_review_matrix",
  "ok": true,
  "status": "approved_for_development_review",
  "outputDir": "[local-home]/lilarcade/test-results/riddle-proof/neon-riddlenode-intent-smoke/mixing-canon-surrogate-review",
  "approvedCount": 1,
  "needsHumanReviewCount": 0,
  "recommendationRole": "most_conservative_surrogate_approved_candidate_for_development_review",
  "recommendedDevelopmentCandidate": {
    "intentId": "guitar-down-little",
    "intent": "turn the guitar part down a little",
    "label": "guitar -0.02",
    "action": {
      "type": "set_mixer_level",
      "track": "guitar",
      "from": 0.51,
      "to": 0.49,
      "delta": -0.02
    },
    "approval": {
      "mode": "mixing_canon_surrogate",
      "approvedBy": "codex",
      "basis": "Conservative mixing-canon development surrogate: review candidate guitar -0.02 sets guitar from 0.51 to 0.49 with absolute level delta <= 0.12 after objective receipts, section-energy guardrails, clipping/headroom/low-level checks, and state-restoration checks passed. This keeps development moving and still requires listening review before treating the result as a subjective mix preference."
    }
  },
  "reviews": [
    {
      "intentId": "guitar-down-little",
      "intent": "turn the guitar part down a little",
      "ok": true,
      "status": "approved_for_development_application",
      "candidate": {
        "label": "guitar -0.02",
        "action": {
          "type": "set_mixer_level",
          "track": "guitar",
          "from": 0.51,
          "to": 0.49,
          "delta": -0.02
        }
      },
      "approval": {
        "mode": "mixing_canon_surrogate",
        "approvedBy": "codex",
        "basis": "Conservative mixing-canon development surrogate: review candidate guitar -0.02 sets guitar from 0.51 to 0.49 with absolute level delta <= 0.12 after objective receipts, section-energy guardrails, clipping/headroom/low-level checks, and state-restoration checks passed. This keeps development moving and still requires listening review before treating the result as a subjective mix preference."
      },
      "failedChecks": [],
      "packetJsonPath": "[local-home]/lilarcade/test-results/riddle-proof/neon-riddlenode-intent-smoke/intents/guitar-down-little/human-review-packet/human-review-packet.json",
      "reviewJsonPath": "[local-home]/lilarcade/test-results/riddle-proof/neon-riddlenode-intent-smoke/mixing-canon-surrogate-review/guitar-down-little.json",
      "reviewMarkdownPath": "[local-home]/lilarcade/test-results/riddle-proof/neon-riddlenode-intent-smoke/mixing-canon-surrogate-review/guitar-down-little.md",
      "boundary": "A mixing-canon surrogate can approve a conservative candidate for development application only after objective receipts pass. It does not prove subjective mix quality."
    }
  ],
  "boundary": "A mixing-canon surrogate can approve conservative development candidates after objective receipts pass. It does not prove subjective mix quality or listener preference, and it does not apply candidates automatically.",
  "caveats": [
    "This approval surrogate is not a real listener preference.",
    "Use it to keep development moving with reversible, conservative candidates.",
    "A human should still listen before treating any candidate as a preferred mix."
  ],
  "doesNotProve": [
    "subjective mix quality",
    "that a human listener prefers any candidate",
    "that the recommended development candidate is the best musical choice",
    "that any candidate should be promoted automatically"
  ]
}
