{"scenario_id": "s1-verified-grounded-chain", "title": "Verified: grounded accumulation chain inside the audited envelope", "system1": {"framing": "Claude/Fable-style System 1 proposal — static fixture payload; no model API was called and no network is used", "tool_call": {"name": "core.semantic_derivation.verify", "arguments": {"problem_text": "Sara has 32 dollars. Sara earns 15 dollars. She uses 21 dollars. How many dollars does Sara have left?", "domain_hint": "gsm8k_math", "request_id": "demo-s1", "return_trace": true}}}, "expected_status": "verified", "note": "Pool commits 26 dollars (gain+loss chain, every gate passes); the demo envelope authorizes it (gold-audited: evals/gsm8k_math/public/v1 case gma-141, expected 26)."}
{"scenario_id": "s2-refused-disagreement", "title": "Refused: two self-verifying readings disagree, so CORE will not guess", "system1": {"framing": "Claude/Fable-style System 1 proposal — static fixture payload; no model API was called and no network is used", "tool_call": {"name": "core.semantic_derivation.verify", "arguments": {"problem_text": "Tom’s cat is 8 years old.  His rabbit is half the age of his cat.  His dog is three times as old as his rabbit.  How old is the dog?", "domain_hint": "gsm8k_math", "request_id": "demo-s2", "return_trace": true}}}, "expected_status": "refused", "note": "Two complete readings derive 24 and 36; both are wrong (gold 12, holdout case gsm8k-holdout-dev-v1-0005). The disagreement rule refuses BOTH — exactly the wrong=0 behavior the demo exists to show."}
{"scenario_id": "s3-ask-missing-total", "title": "Ask: CORE asks for the missing datum instead of inventing it", "system1": {"framing": "Claude/Fable-style System 1 proposal — static fixture payload; no model API was called and no network is used", "tool_call": {"name": "core.semantic_derivation.verify", "arguments": {"problem_text": "Each large bus holds 50 students and each small bus holds 30 students. The buses carry 260 students in total. How many large buses are there?", "domain_hint": "gsm8k_math", "request_id": "demo-s3", "return_trace": true}}}, "expected_status": "ask", "note": "The pool refuses (an additive mis-read of 340 is blocked by a disagreeing rival reading); the R2 constraint organ identifies the missing total bus count (missing_total_count, evals/constraint_oracle/r2_gold.jsonl case r2-011-missing-total-count); the Q1 stack renders and serves a grounded question through the carried-handle seam."}
{"scenario_id": "s4-refused-outside-envelope", "title": "Refused: a pool commit outside the audited envelope is not served", "system1": {"framing": "Claude/Fable-style System 1 proposal — static fixture payload; no model API was called and no network is used", "tool_call": {"name": "core.semantic_derivation.verify", "arguments": {"problem_text": "Jack has 17 toy cars. His dad buys him 8 more. How many toy cars does Jack have?", "domain_hint": "gsm8k_math", "request_id": "demo-s4", "return_trace": true}}}, "expected_status": "refused", "note": "The pool commits 25 (which happens to match gold: evals/gsm8k_math/practice/v1 case gsm8k-practice-v1-0022, answer 25), but this problem is deliberately NOT in the demo envelope — the demo still refuses, because the off-serving derivation lane is not a wrong=0 oracle over arbitrary text and an unaudited commit must not be served as verified. No false epistemic status."}
{"scenario_id": "s5-invalid-answer-smuggling", "title": "Invalid: the proposer tries to smuggle an answer through the payload", "system1": {"framing": "Claude/Fable-style System 1 proposal — static fixture payload (deliberately malformed); no model API was called and no network is used", "tool_call": {"name": "core.semantic_derivation.verify", "arguments": {"problem_text": "Each large bus holds 50 students and each small bus holds 30 students. The buses carry 260 students in total. How many large buses are there?", "proposed_answer": 340, "confidence": "high", "request_id": "demo-s5"}}}, "expected_status": "invalid", "note": "additionalProperties is false: there is no field through which the proposer can assert an answer, a derivation, or an acceptance decision. The payload is rejected at the typed boundary and no derivation is executed."}
