Skip to content

Fail closed when merge settings coerce bool tunables - #142

Merged
cursor[bot] merged 2 commits into
mainfrom
cursor/merge-settings-numerics-2ccd
Sep 8, 2026
Merged

Fail closed when merge settings coerce bool tunables#142
cursor[bot] merged 2 commits into
mainfrom
cursor/merge-settings-numerics-2ccd

Conversation

@jmjava

@jmjava jmjava commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Config.from_yaml already requires YAML numbers for temperature / max_context_bytes (#117). The merge helpers still used float() / int() / str() on cfg.raw.

bool is a subclass of int: temperature: true became 1.0, max_context_bytes: true became a 1-byte window, model: true became "True".

Wizard generate-narration and scene-spec-generate both go through these merges.

This PR uses require_yaml_number / require_yaml_string. Missing/null still uses defaults. temperature: 0 still stays 0.

See milestones/merge-settings-numerics.md.

Open in Web Open in Cursor 

cursoragent and others added 2 commits September 8, 2026 00:37
Config.from_yaml already requires YAML numbers for temperature and
max_context_bytes. The merge helpers still used float()/int()/str(), so
true became temperature 1.0, a 1-byte context window, or model \"True\".

Use require_yaml_number / require_yaml_string so bools raise. Missing
values still use defaults; temperature 0 stays 0.

Co-authored-by: jmjava <jmjava@gmail.com>
ruff green; pytest 794 passed, 1 skipped; docgen benchmark meets baseline.

Co-authored-by: jmjava <jmjava@gmail.com>
@jmjava
jmjava marked this pull request as ready for review September 8, 2026 00:37
@cursor
cursor Bot merged commit 4921b3a into main Sep 8, 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