45ab3ad57f
When a child's final answer still missed its output_schema after the one bounded retry, the result entry flipped to status=failed with the error "Final answer does not satisfy the declared output_schema" — the completion line printed ✗ and orchestrators read a finished audit as a failure. Five audits of 413-4103 s were lost this way in the Sep 10-14 retrospective and the parent had to mine the live transcripts; in four of them the "violation" was a ```json fence around a valid array, which the candidate extractor sliced to its first..last object. Now: status stays completed, `summary` is the child's raw final text, `schema_valid: false` + `schema_errors` carry the verdict and a `schema_note` says the text is unvalidated; the sync completion line shows ⚠ with the reason. The extractor tries the earliest-opening bracket span and keeps the first that parses (fenced arrays validate). The OUTPUT CONTRACT the child sees now says "ONLY the JSON value — no prose, no code fence" and what a miss costs. One bounded retry is unchanged.