{"ok":true,"claimPolicy":{"schema":"odei.daorg.claim-policy.v1","version":"2026-05-15","self":"/api/daorg/runtime/claim-policy","state":"claims-guarded","productionComplete":false,"summary":"DAOrg claim policy keeps public copy honest while completion evidence, local proof, and DAOrg-native rewards remain staged.","authority":{"mode":"live","facadeMode":false,"source":"env"},"readiness":{"state":"live-ready","liveReady":true,"publicReadReady":true},"syncContract":{"status":"integration-in-progress","operationalComplete":false,"staged":["local-app-proof-producer","rewards-lane"],"blockers":[]},"promotionPlan":{"state":"staged","operationalComplete":false,"staged":["local-app-proof-producer","daorg-native-reward-receipt"],"blockers":[]},"actionQueue":{"schema":"odei.daorg.action-queue.v1","state":"staged","openItems":3,"readyToClose":false,"completionProgress":{"ready":0,"pending":3,"total":3,"label":"0/3 completion signals ready"},"closureDecision":{"state":"staged","readyToClose":false,"verdict":"close-blocked","checks":[{"id":"open-items-zero","label":"Open items","state":"staged","expected":"openItems=0","actual":"openItems=3","owner":"ODEI local app"},{"id":"completion-evidence-zero","label":"Completion evidence","state":"staged","expected":"completionProgress.pending=0","actual":"completionProgress.pending=3","owner":"ODEI local app"},{"id":"first-blocker-verifiable","label":"First blocker verify command","state":"staged","expected":"firstBlockerCommand resolves or no blocker remains","actual":"curl -fsS https://app.odei.ai/runtime-receipt.json","owner":"ODEI local app"},{"id":"production-claim-guard","label":"Production claim guard","state":"blocked","expected":"production-complete language allowed only after close-approved","actual":"close-blocked","owner":"DAOrg claim policy"}],"checkProgress":{"ready":0,"total":4,"blocked":1,"label":"0/4 closure checks pass"},"firstBlockerId":"local-proof","firstBlockerOwner":"ODEI local app","firstBlockerLabel":"Runtime receipt available","firstBlockerHref":"https://app.odei.ai/runtime-receipt.json","firstBlockerCommand":"curl -fsS https://app.odei.ai/runtime-receipt.json","summary":"ODEI local app must close Runtime receipt available before production-complete language is allowed.","closeRule":"Close only when openItems=0 and completionProgress.pending=0.","claimImpact":"Production-complete language remains blocked by action queue completion evidence."},"firstPendingEvidence":{"state":"staged","ready":false,"label":"Runtime receipt available","href":"https://app.odei.ai/runtime-receipt.json","publicUrl":"https://app.odei.ai/runtime-receipt.json","source":"local-runtime","requiredHash":true,"completionRule":"Runtime receipt or execution proof must be public-safe and hash-stable before this queue item is closed.","blockingReason":"Local runtime receipt is not available yet.","verification":{"method":"GET","publicUrl":"https://app.odei.ai/runtime-receipt.json","expectedSignal":"Runtime receipt JSON resolves with stable runtime id, receipt hash, and public-safe summary.","command":"curl -fsS https://app.odei.ai/runtime-receipt.json"},"operatorHandoff":{"owner":"ODEI local app","closeLabel":"Waiting on ODEI local app","nextAction":"Emit the local proof artifacts from the app release."}}},"claimVerifier":{"method":"POST","self":"/api/daorg/runtime/claim-policy","resultSchema":"odei.daorg.claim-verification.v1","mode":"fail-closed-public-claim-check","verdicts":{"pass":"claim_allowed","fail":"blocked_by_claim_policy","review":"needs_claim_scope_review"},"policyHash":"sha256:17e16026630601e7a9d28861c02dd2bd1d4cedc6ab65e7af897dcd21c1aa49ce","requiredChecks":["claim-present","citation-present","policy-hash","production-complete","passive-holder-rewards","specific-reward-finality-without-receipt","specific-reward-finality-verifier","no-token-key-shill","known-claim-scope"],"requestTemplate":{"policyHash":"sha256:17e16026630601e7a9d28861c02dd2bd1d4cedc6ab65e7af897dcd21c1aa49ce","claimId":"<registered-claim-id>","claim":"<public-safe-claim>","citations":["/api/daorg/runtime/claim-policy"]}},"allowed":[{"id":"public-read-ready","claim":"DAOrg is publicly readable.","state":"allowed","citation":"/api/daorg/runtime/readiness","rule":"Allowed when runtime readiness exposes publicReadReady=true."},{"id":"machine-contracts-published","claim":"DAOrg exposes machine-readable governance contracts.","state":"allowed","citation":"/api/daorg/contracts","rule":"Allowed because the registry, readiness, sync, route, promotion, claim, proof, and rewards endpoints are published."},{"id":"email-confirmation-not-required","claim":"DAOrg access does not require a confirmation email right now.","state":"allowed","citation":"/api/daorg/access","rule":"Allowed because the access contract defines Wallet Setup and ODEI App sessions as the active access paths."},{"id":"rewards-already-paid","claim":"$2,447 has already been settled in ETH through ODEI review.","state":"allowed","citation":"https://daorg.odei.ai/api/daorg/rewards/paid","rule":"Allowed only when citing the paid fact, not as a promise of passive holding rewards."}],"conditional":[{"id":"holder-writes-live","claim":"Verified holders can create motions and signal.","state":"allowed","citation":"/api/daorg/runtime/readiness","rule":"Allowed because runtime readiness is live-ready."},{"id":"local-proof-accepted","claim":"Local app execution proof is accepted into DAOrg.","state":"conditional","citation":"/api/daorg/runtime/local-proof-contract","rule":"Only say this after ODEI_LOCAL_PROOF_PRODUCER_STATUS resolves to pass."},{"id":"daorg-native-rewards-finality","claim":"DAOrg-native reward criteria are ready; each final reward still requires its specific receipt finality packet.","state":"conditional","citation":"https://daorg.odei.ai/api/daorg/rewards/receipts","rule":"Only say this after the first DAOrg-native contribution-to-reward receipt cycle is closed."}],"blocked":[{"id":"production-complete","claim":"DAOrg is production-complete or fully operational.","state":"blocked","citation":"/api/daorg/runtime/action-queue","rule":"Blocked until every promotion gate is pass, the sync contract is operational-complete, and the action queue has no pending completion evidence."},{"id":"action-queue-completion-evidence","claim":"DAOrg action queue is clear or all completion evidence is verified.","state":"blocked","citation":"/api/daorg/runtime/action-queue","rule":"Blocked until every action queue item is closed by public completion evidence or explicitly retired."},{"id":"local-app-proof-finality","claim":"Private local app execution should be treated as public proof without the local proof contract.","state":"blocked","citation":"/api/daorg/runtime/local-proof-contract","rule":"Blocked unless a public-safe local proof artifact, runtime receipt, or runtime heartbeat exists."}],"neverClaims":[{"id":"passive-holder-rewards","claim":"Holding alone earns guaranteed rewards.","state":"blocked","citation":"https://daorg.odei.ai/api/daorg/rewards/contract","rule":"Never allowed. Rewards require useful activity, accepted contribution proof, and review."},{"id":"specific-reward-finality-without-receipt","claim":"A specific DAOrg-native reward is final without its reward receipt finality packet.","state":"blocked","citation":"https://daorg.odei.ai/api/daorg/rewards/verifier","rule":"Never allowed. The global verifier only checks criteria; specific reward finality lives in rewardReceipt.finality.readyToFinalizeReward."}],"citationOrder":["/api/daorg/proof-graph","/api/daorg/runtime/claim-policy","/api/daorg/contracts","/api/daorg/access","/api/daorg/runtime/readiness","/api/daorg/runtime/sync-contract","/api/daorg/runtime/promotion-plan","/api/daorg/runtime/action-queue","/api/daorg/runtime/public-response-kit","/api/daorg/runtime/handoff-map","/api/daorg/runtime/local-proof-contract","https://daorg.odei.ai/api/daorg/rewards/paid","https://daorg.odei.ai/api/daorg/rewards/contract","https://daorg.odei.ai/api/daorg/rewards/verifier","https://daorg.odei.ai/api/daorg/rewards/receipts"],"responseRule":"When answering public readiness questions, state the allowed claims first, then staged lanes, then the exact blocker before using production-complete language.","routes":{"claimPolicy":"/api/daorg/runtime/claim-policy","contractRegistry":"/api/daorg/contracts","proofGraph":"/api/daorg/proof-graph","runtimeReadiness":"/api/daorg/runtime/readiness","runtimeSyncContract":"/api/daorg/runtime/sync-contract","promotionPlan":"/api/daorg/runtime/promotion-plan","actionQueue":"/api/daorg/runtime/action-queue","publicResponseKit":"/api/daorg/runtime/public-response-kit","handoffMap":"/api/daorg/runtime/handoff-map","localProofContract":"/api/daorg/runtime/local-proof-contract","rewardsPaid":"https://daorg.odei.ai/api/daorg/rewards/paid","rewardsContract":"https://daorg.odei.ai/api/daorg/rewards/contract","rewardFinalityVerifier":"https://daorg.odei.ai/api/daorg/rewards/verifier","rewardReceiptIndex":"https://daorg.odei.ai/api/daorg/rewards/receipts","rewardReceiptFinalityTemplate":"https://daorg.odei.ai/api/daorg/rewards/receipts/{tid}/finality"},"policyHash":"sha256:17e16026630601e7a9d28861c02dd2bd1d4cedc6ab65e7af897dcd21c1aa49ce"}}