Handbook
Artifact `ValidationFailure` v1
Structured failure emitted when the source-ingest runtime rejects a mechanics spec, an action sequence, or post-conditions after deterministic checks. LCDL tasks may consume this shape to refine hints or propose repairs.
Updated
Artifact ValidationFailure v1
Summary
Structured failure emitted when the source-ingest runtime rejects a mechanics spec, an action sequence, or post-conditions after deterministic checks. LCDL tasks may consume this shape to refine hints or propose repairs.
Root object
| Field | Type | Required | Notes |
|---|---|---|---|
schema_version |
string | yes | Must be exactly validation_failure_v1. |
code |
string | yes | Stable machine code (e.g. unsupported_action, schema_invalid, grading_mismatch). |
message |
string | yes | Human-readable summary (no secrets). |
detail |
string | no | Extra context; keep short. |
action_index |
integer | no | Index of offending action when applicable. |
expected |
string | no | Short description of what was expected. |
actual |
string | no | Short description of what was observed. |
Policy
- Do not include raw HTTP bodies, cookies, or API keys in
message,detail,actual.
Inputs
This artifact is emitted by the runtime and consumed by LCDL tasks as an object matching contract.json (fields in Root object above).
Output
Same as the Root object shape—serialized JSON with schema_version validation_failure_v1.
Failure modes
Not applicable as an interchange DTO; downstream tasks map codes to SchemaFailure / retry policies.
Verification
Deterministic JSON checks in consumers; never log secrets in message / detail.
Examples
{
"schema_version": "validation_failure_v1",
"code": "unsupported_action",
"message": "Action kind not allowed",
"detail": "",
"action_index": 0,
"expected": "click",
"actual": "eval"
}
Changelog
- v1 — Initial validation failure interchange contract.