{"caseId":"case-forfeit-roulette-launch-001","workspaceSlug":"launch-lab-private","subjectSlug":"forfeit-roulette","subjectName":"Forfeit Roulette","subjectType":"nockapp","customerLane":"builder-auditor","status":"verified","visibility":"public","createdAt":"2026-06-10T13:30:00.000Z","updatedAt":"2026-06-10T13:30:00.000Z","requestedBy":"nocksperimental","payment":{"status":"waived","rail":"none","amount":null,"currency":null,"reference":"poc-game-demo"},"evidenceIds":["evidence-forfeit-roulette-lab-001"],"reportSlug":"launch-forfeit-roulette-001","badgeId":"badge-forfeit-roulette-model-attested","sourceAnchor":{"commit":"33ba97b1e206dd89b15c61b72b7802caf2136c18","build":"build-33ba97b1e206dd89b15c61b72b7802caf2136c18"},"workspaceName":"Launch Lab Private","freshness":"fresh","submissions":[{"evidenceId":"evidence-forfeit-roulette-lab-001","caseId":"case-forfeit-roulette-launch-001","sourceKind":"lab","sourceUrl":"/api/reports/generated/forfeit-roulette-fairness","submittedAt":"2026-06-10T13:30:00.000Z","submittedBy":"nocklab","status":"verified","reportHash":"sha256:15971a243afdd65e7e4b78a59e7c108adb4c499e7373d9b9f17e7ab1f79750a6","snapshotRoot":"e530990846751537","receiptId":null,"redactionSummary":"Commitment-only peek surface; no server seed, client seed, or signing material referenced."}],"report":{"reportSlug":"launch-forfeit-roulette-001","caseId":"case-forfeit-roulette-launch-001","summaryStatus":"verified","score":97,"requiredChecks":[{"id":"lab-report-linked","label":"Lab fairness report linked","status":"pass","summary":"The forfeit-roulette-fairness lab report (hash + snapshot root) is attached to the case."},{"id":"fairness-invariants","label":"Provable-fairness invariants","status":"pass","summary":"Commitment-only peek, seed-hashlock (sha256(seed)==commit), and strictly increasing nonce all pass."},{"id":"secret-redaction","label":"Secret redaction","status":"pass","summary":"Peek surface and evidence reference no server seed, client seed, or signing material."}],"recommendedChecks":[{"id":"badge-ready","label":"Badge ready","status":"pass","summary":"Eligible for a public trust badge; badge-forfeit-roulette-model-attested is issued and signed by the active key."},{"id":"settlement-residual","label":"Settlement residual disclosed","status":"warn","summary":"Fairness is fully trustless; settlement is bonded-cooperative + timeout-forfeit (HTLC-grade), not contract-grade forced payout."}],"evidenceSummary":"Forfeit Roulette carries a passing two-sided commit-reveal fairness report with a commitment-only peek surface.","reviewerNotes":"Proves the fairness model and that the invariants are well-formed (model-attested; not the compiled kernel).","publicSummary":"Provably-fair European roulette: pocket = H(server‖client‖nonce‖draw) mod 37; either party recomputes it. Zero is the disclosed green/house edge.","generatedAt":"2026-06-10T13:30:00.000Z","reportHash":"sha256:launch-forfeit-roulette-001","snapshotRoot":"launch-forfeit-roulette-001-root"},"links":{"api":"/api/launch-evidence/case-forfeit-roulette-launch-001","page":"/launch-evidence/case-forfeit-roulette-launch-001","verifier":"/api/launch-evidence/verify?caseId=case-forfeit-roulette-launch-001&reportHash=sha256%3Alaunch-forfeit-roulette-001&snapshotRoot=launch-forfeit-roulette-001-root","workspace":"/workspaces/launch-lab-private","badge":"/trust/badges/badge-forfeit-roulette-model-attested"}}