Skip to content

Fail closed when pipeline numeric tunables are not YAML numbers - #115

Merged
cursor[bot] merged 2 commits into
mainfrom
cursor/numeric-config-tunables-2ccd
Sep 7, 2026
Merged

cursor[bot] merged 2 commits into
mainfrom
cursor/numeric-config-tunables-2ccd

Conversation

@jmjava

@jmjava jmjava commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Problem

Config properties wrap timestamps / compose / manim / validation tunables in int() / float(). A YAML bool is a subclass of int, so:

  • compose.ffmpeg_timeout_sec: true became timeout 1 second
  • manim.min_font_size: true became font size 1
  • validation.max_freeze_ratio: true became 1.0 (allow a fully frozen video)

A YAML list or string raised TypeError / ValueError during timestamps, compose, or validate — not ConfigError at load.

Change

Present values of timestamps.silence_noise_db / min_silence_sec, manim.min_font_size, compose.ffmpeg_timeout_sec, and validation.max_drift_sec / max_freeze_ratio must be YAML numbers (int or float, not bool). Missing keys keep defaults.

Milestone: milestones/numeric-config-tunables.md

Tests

  • Bool ffmpeg_timeout_sec / min_font_size rejected
  • List silence_noise_db / max_drift_sec / max_freeze_ratio rejected
  • Quoted string min_silence_sec rejected
  • Valid numbers still load
Open in Web Open in Cursor 

cursoragent and others added 2 commits September 7, 2026 21:40
bool is a subclass of int, so compose.ffmpeg_timeout_sec: true became
timeout 1 and manim.min_font_size: true became font size 1. Lists and
strings TypeError'd later in timestamps/compose/validate.

Co-authored-by: jmjava <jmjava@gmail.com>
Record PR #115 and pytest / benchmark results on the milestone.

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