Skip to content

Fail closed when Manim timing helpers see corrupt timing.json - #130

Merged
cursor[bot] merged 2 commits into
mainfrom
cursor/bootstrap-timing-helpers-2ccd
Sep 7, 2026
Merged

cursor[bot] merged 2 commits into
mainfrom
cursor/bootstrap-timing-helpers-2ccd

Conversation

@jmjava

@jmjava jmjava commented Sep 7, 2026 •

Copy link
Copy Markdown
Owner

Problem

Library load_bundle_timing now rejects non-object stems and non-array words / segments. Compiled scenes.py still used data.get(segment_key, {}).get("segments", []), so a list stem raised AttributeError at Manim construct(). scene-compile did not refresh those helpers.

Change

Bootstrap _load_timing / _load_timing_words raise TypeError on corrupt stem / inner types. Missing file or missing stem still returns [].

refresh_bootstrap_helpers and helper_api_violations treat the old bodies as stale so docgen scene-compile upgrades consumer scenes.py.

Tests

Local: ruff check src/ tests/ green; pytest tests/ 750 passed, 1 skipped; docgen benchmark meets src/docgen/benchmark_data/baseline.json (helper change, no --update-baseline).

  • Executed helpers reject list stems and non-array inner fields
  • Helpers still return object rows and [] for a missing stem
  • Refresh rewrites stale loaders
  • Scene-asset validate flags stale loaders

Out of scope

  • Requiring numeric start / end on every word row
Open in Web Open in Cursor 

cursoragent and others added 2 commits September 7, 2026 23:17
Compiled scenes.py still used .get(stem, {}).get(segments) so a list
stem raised AttributeError at construct(). Type-check stem objects and
words/segments arrays; refresh stale loaders on scene-compile.

Co-authored-by: jmjava <jmjava@gmail.com>
Co-authored-by: jmjava <jmjava@gmail.com>
@jmjava
jmjava marked this pull request as ready for review September 7, 2026 23:18
@cursor
cursor Bot merged commit 30ab82e into main Sep 7, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants