{
  "version": "riddle.good-catch-lab.neon-smoke-loop.v1",
  "target": "https://riddlenode.com/neon-lab/",
  "sourcePr": "davisdiehl/lilarcade#534",
  "sourceCommit": "13c0d8b",
  "status": "smoke_loop_ready",
  "evidenceRolePattern": "interaction_snapshots",
  "catchCard": {
    "title": "Neon stopped making a long proof run look like a stuck deploy.",
    "summary": "The RiddleNode lane now has a one-intent smoke loop and heartbeat output, so agents can quickly prove the live Neon lab target before running the fuller intent matrix.",
    "whatWentWrong": "The fast loop had already moved off Amplify, but the single-browser intent matrix still ran several claim-candidate loops inside one Playwright call with no progress output until the browser returned.",
    "whatRiddleCaught": "The latest loop exposed the slow layer: the browser proof call, not RiddleNode publishing.",
    "whyItMatters": "Fast proof loops need operator confidence; a short smoke path proves the current target is live, instrumented, and producing review packets before a fuller matrix run.",
    "whatChanged": "LilArcade added intent-id filtering, a one-intent RiddleNode smoke script, and heartbeat progress messages for the single-browser runner.",
    "whatThisDoesNotProve": "It does not prove subjective mix quality, every intent, or that the candidate should be promoted.",
    "technicalReceipt": "intentCount=1; selected intent=guitar-down-little; ratchetMaxIterations=2; recommendation=guitar -0.02; supported=2; rejected=0; findings=0; surrogate review=approved_for_development_review."
  },
  "liveReceipt": {
    "intent": "guitar-down-little",
    "recommendation": "guitar -0.02",
    "supportedCandidates": 2,
    "rejectedCandidates": 0,
    "findings": 0,
    "surrogateReview": "approved_for_development_review",
    "heartbeatSeconds": [15, 30]
  },
  "validation": [
    "node --test scripts/__tests__/neonRatchetIntentMatrix.test.mjs passed: 9/9",
    "npm run proof:sequencer:riddlenode-smoke-loop passed against https://riddlenode.com/neon-lab/",
    "npm run test:neon passed: 107/107",
    "npm run build passed locally",
    "GitHub CI passed for LilArcade PR #534 at 13c0d8b"
  ],
  "doesNotProve": [
    "subjective mix quality",
    "that a human listener prefers the candidate",
    "every intent in the full matrix",
    "production promotion readiness"
  ],
  "artifacts": [
    "smoke-intent-matrix-summary.md",
    "smoke-intent-matrix-summary.json",
    "guitar-smoke-human-review-packet.md",
    "guitar-smoke-human-review-packet.json",
    "smoke-surrogate-review.md",
    "smoke-surrogate-review.json",
    "smoke-generated-profile.json",
    "smoke-intent-matrix.png"
  ],
  "boundary": "This is workflow proof and candidate-review proof. It shows the fast RiddleNode target can produce a compact, metric-supported review packet quickly and observably. It does not prove the candidate sounds better."
}
