# Output Contract Spec

## Workflow and owner
- Workflow name:
- Owner:
- Review date:
- Reviewer:

## Task framing
- User intent:
- System objective:
- Downstream consumer:
- Why free-form text is unsafe here:

## Contract shape
| Field | Type | Required | Allowed values | Notes |
| --- | --- | --- | --- | --- |
|  |  |  |  |  |

## Validation rules
- Required fields:
- Type constraints:
- Enum constraints:
- Length constraints:
- Cross-field constraints:

## Failure policy
- What counts as invalid output:
- What the model should do if confidence is low:
- What the system should do if validation fails:
- Whether retry is allowed:

## Tool vs data decision
- Why this should be structured output instead of free text:
- If function calling is more appropriate, why:

## Sample cases
| Input | Expected output shape | Failure risk |
| --- | --- | --- |
|  |  |  |

## Final decision
- Ready / needs revision / blocked
- Notes:
