{"title":"Ready means what?","description":"A lightweight spec → build → evaluate → handoff workflow, with a read-only checker that makes missing evidence visible.","theme":"rose","kind":"AI development lifecycle","cases":[{"id":"local","name":"Complete local manifest · fixture","title":"A handoff needs evidence, not a green badge.","unit":"Cumulative gate counts","parameter":"Gate inspected","x":[1,2,3,4,5,6,7,8],"series":[{"label":"Passing gates","values":[1,2,3,4,5,6,7,8]},{"label":"Unresolved gates","values":[0,0,0,0,0,0,0,0]}],"snapshots":[{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Pass","Nonempty evaluation artifact must resolve inside the declared project root."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Pass","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Pass","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."],["Recorded checks","Pass","Every declared check needs a name, passed status and a local evidence file; this checker does not rerun it."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Pass","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."],["Recorded checks","Pass","Every declared check needs a name, passed status and a local evidence file; this checker does not rerun it."],["Limitations","Pass","Record at least one explicit limitation."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Pass","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."],["Recorded checks","Pass","Every declared check needs a name, passed status and a local evidence file; this checker does not rerun it."],["Limitations","Pass","Record at least one explicit limitation."],["Target","Pass","Target must be local or public."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Pass","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."],["Recorded checks","Pass","Every declared check needs a name, passed status and a local evidence file; this checker does not rerun it."],["Limitations","Pass","Record at least one explicit limitation."],["Target","Pass","Target must be local or public."],["Approval record","Pass","Public intent requires an approval record; a file is not authentication or authority to publish."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."}],"columns":["Gate","State","Requirement"],"context":"Inspect the release conditions one by one. The checker reads local files and reports gaps; it never executes a command or publishes anything.","readout":"Eight explicit gates cover scope, spec, evaluation, runbook, recorded checks, limitations, target and an approval record. Use the CLI with your own manifest for an actual project.","note":""},{"id":"missing","name":"Missing evaluation · fixture","title":"A handoff needs evidence, not a green badge.","unit":"Cumulative gate counts","parameter":"Gate inspected","x":[1,2,3,4,5,6,7,8],"series":[{"label":"Passing gates","values":[1,2,2,3,3,4,5,6]},{"label":"Unresolved gates","values":[0,0,1,1,2,2,2,2]}],"snapshots":[{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Needs work","Nonempty evaluation artifact must resolve inside the declared project root."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Needs work","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Needs work","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."],["Recorded checks","Needs work","Every declared check needs a name, passed status and a local evidence file; this checker does not rerun it."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Needs work","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."],["Recorded checks","Needs work","Every declared check needs a name, passed status and a local evidence file; this checker does not rerun it."],["Limitations","Pass","Record at least one explicit limitation."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Needs work","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."],["Recorded checks","Needs work","Every declared check needs a name, passed status and a local evidence file; this checker does not rerun it."],["Limitations","Pass","Record at least one explicit limitation."],["Target","Pass","Target must be local or public."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Needs work","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."],["Recorded checks","Needs work","Every declared check needs a name, passed status and a local evidence file; this checker does not rerun it."],["Limitations","Pass","Record at least one explicit limitation."],["Target","Pass","Target must be local or public."],["Approval record","Pass","Public intent requires an approval record; a file is not authentication or authority to publish."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."}],"columns":["Gate","State","Requirement"],"context":"Inspect the release conditions one by one. The checker reads local files and reports gaps; it never executes a command or publishes anything.","readout":"Eight explicit gates cover scope, spec, evaluation, runbook, recorded checks, limitations, target and an approval record. Use the CLI with your own manifest for an actual project.","note":""},{"id":"public","name":"Public intent without approval · fixture","title":"A handoff needs evidence, not a green badge.","unit":"Cumulative gate counts","parameter":"Gate inspected","x":[1,2,3,4,5,6,7,8],"series":[{"label":"Passing gates","values":[1,2,3,4,5,6,7,7]},{"label":"Unresolved gates","values":[0,0,0,0,0,0,0,1]}],"snapshots":[{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Pass","Nonempty evaluation artifact must resolve inside the declared project root."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Pass","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Pass","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."],["Recorded checks","Pass","Every declared check needs a name, passed status and a local evidence file; this checker does not rerun it."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Pass","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."],["Recorded checks","Pass","Every declared check needs a name, passed status and a local evidence file; this checker does not rerun it."],["Limitations","Pass","Record at least one explicit limitation."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Pass","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."],["Recorded checks","Pass","Every declared check needs a name, passed status and a local evidence file; this checker does not rerun it."],["Limitations","Pass","Record at least one explicit limitation."],["Target","Pass","Target must be local or public."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."},{"rows":[["Scope","Pass","A concrete scope of at least 20 characters is required."],["Spec","Pass","Nonempty spec artifact must resolve inside the declared project root."],["Evaluation","Pass","Nonempty evaluation artifact must resolve inside the declared project root."],["Runbook","Pass","Nonempty runbook artifact must resolve inside the declared project root."],["Recorded checks","Pass","Every declared check needs a name, passed status and a local evidence file; this checker does not rerun it."],["Limitations","Pass","Record at least one explicit limitation."],["Target","Pass","Target must be local or public."],["Approval record","Needs work","Public intent requires an approval record; a file is not authentication or authority to publish."]],"note":"These are intentionally synthetic records evaluated by the actual checker. Passing validates manifest structure and file presence—not implementation quality, evidence freshness or authority to deploy."}],"columns":["Gate","State","Requirement"],"context":"Inspect the release conditions one by one. The checker reads local files and reports gaps; it never executes a command or publishes anything.","readout":"Eight explicit gates cover scope, spec, evaluation, runbook, recorded checks, limitations, target and an approval record. Use the CLI with your own manifest for an actual project.","note":""}],"config":{"fixtures":true,"gates":8,"writes":false},"method":["Each scenario is a labelled fixture manifest passed through release_check.py. Gate results are computed, not hard-coded success labels.","Paths must resolve to nonempty files within the project root. Missing artifacts, pending checks, blank limitations and public intent without an approval record fail their corresponding checks.","WORKFLOW.md provides the personal lifecycle. templates/release.json starts pending so copying the template cannot automatically certify a release."],"limits":["This is a manifest linter, not CI, a cryptographic attestation, an evaluator of LLM quality or authorization to perform actions.","The fixture evidence deliberately contains no real test certification. Use genuine dated outputs for a real project, and review their contents and freshness."],"references":[],"provenance":{"python":"3.13.0","numpy":"2.4.6","sourceSha256":{"showcase_benchmark.py":"3177c61fa0edd4a7989eb8ee58c7533162add26638150aaeee5727149a2d6b3a","release_check.py":"abe4bb9da0fafc234516ce381badc7c21fced6ead232e0a5453ec7e727be1b5b"}}}
