Entry `closing-the-visual-contract`, source_commit d3cd688, covering the
decisions section 19 could not defer: the four system-level rows added to
the shared target-capability table and why no per-object property joins
them, the two automation declaration scopes and their time origins, the
spawn ceiling that refuses where the voice ceiling evicts, the
authoring-bound versus runtime-ceiling distinction behind the centralized
limit table, and the explicit reproducibility exemption for film grain.
The entry states plainly that every runtime ceiling value is an estimate
until the slice 4h benchmark runs, and that no renderer exists.
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01AzX3848PwqYwzdUCWvjegL
One entry for the visual contract milestone: why two documentation
slices precede the renderer, the decisions sections 17 and 18 fix, and
what is explicitly not claimed - no renderer, no schema definitions, no
visual fixture, and two user-observed gates still open at the end of
Phase 4.
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_019dTNHWyTdFobdevrKspoV6
- Record user evidence for directory fallback to complete GC1 (10/10 checks passed)
- Expand Format Specification 0.1 to Revision 0.2 with normative shared contracts
- Author JSON Schema Draft-07 at schema/xzbt-0.1.schema.json
- Implement zero-dependency semantic validator at tools/validate-exhibit.mjs
- Create 12-case conformance fixture suite and automated test runner (12/12 passing)
- Update implementation status, verification gates, and gap closure decisions
- Add devlog entry covering stall recovery and Phase 0 current state