Skip to content

Fail closed when Manim layout check crashes - #97

Merged
cursor[bot] merged 1 commit into
mainfrom
cursor/layout-check-errors-2ccd
Sep 7, 2026
Merged

cursor[bot] merged 1 commit into
mainfrom
cursor/layout-check-errors-2ccd

Conversation

@jmjava

@jmjava jmjava commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Problem

Validator._check_layout skipped unexpected exceptions as success (passed=True, "Layout check error (skipped): …"). Stream and drift checks already fail on the same kind of crash. Layout is a --pre-push soft check, so a TypeError/KeyError from LayoutValidator still printed All checks passed.

Tesseract-not-installed remains a skip (same as OCR).

Change

  • Unexpected exceptions in _check_layout return passed=False.
  • Tests cover crash → fail, tesseract missing → skip, and a failed LayoutReport.

Milestone: milestones/layout-check-errors.md. Also marks manim-unsafe-unicode as shipped (#96).

Out of scope

  • Layout / OCR / av_sync stay soft on validate --pre-push.
  • av_sync swallowing unreadable *.scene.yaml is a separate hole.

Gates

  • ruff check src/ tests/
  • pytest tests/
  • docgen benchmark (no clock change; no --update-baseline)
Open in Web Open in Cursor 

Unexpected LayoutValidator exceptions were returned as passed=True
skips, so validate --pre-push still printed All checks passed.
Treat those errors like stream/drift failures (soft on pre-push).

Co-authored-by: jmjava <jmjava@gmail.com>
@jmjava
jmjava marked this pull request as ready for review September 7, 2026 20:19
@cursor
cursor Bot merged commit 1fcd386 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