t1-p3-03draft4–6h

Structured output enforcement with bounded retry

requires: t1-p3-02

Force the final answer into a JSON schema - answer, confidence_score, sources[], suggested_follow_up - validating and rejecting malformed output with automatic retry, at most twice. Commit the schema at contracts/answer.schema.json.

Anything downstream of an LLM needs a shape it can rely on. Bounding retries at two is the lesson: unbounded retry converts a formatting bug into a cost incident.

No result yet. Run `learn verify t1-p3-03` locally, or push to trigger CI.

contractcontract: t1_p3_03_structured_output
unrun
artifactartifact: contracts/answer.schema.json
unrun