Status: Shipped
PR: #89
Depends on: milestones/wizard-narration-paths.md (PR #81)
Wizard timestamps already refuse to overwrite a corrupt timing.json. Compile
and validate still swallowed JSONDecodeError and treated the file as missing
words. Paced compile then failed with a “run timestamps” message; pace: none
specs compiled as if there were no timing file.
One loader: missing file → {}; garbage JSON or a non-object root → error.
-
load_bundle_timingintimestamps.py - scene-compile /
linted_class_block_from_specraiseSceneGenerationError - validate
timing_sync/story_end/av_syncfail with the parse error -
scene_asset_validateand wizard timestamps reuse the loader - Tests: corrupt JSON and list-root, including
pace: none -
ruff check src/ tests/ -
pytest tests/ -
docgen benchmark(no clock change)
- Empty
segments.allstill leavestiming.jsonunchanged (#78) - Missing
timing.jsonstill means empty words (paced compile already fails)