Skip to content

fix: simplify native TOML config reading and restore error columns - #1085

Merged
kvlonge merged 6 commits into
mainfrom
fix/toml-error-locations
Oct 12, 2026
Merged

kvlonge merged 6 commits into
mainfrom
fix/toml-error-locations

Conversation

@kvlonge

@kvlonge kvlonge commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Why

The native TOML config reader carried about 700 lines of shims reproducing Python tomllib edge cases, and its errors had lost column locations and mentioned tomllib. This PR also carries the 0.156.0 release memory exception for the 3,000-model lineage guards, which missed #1086: the accepted lineage memory growth puts them at 130–137 MiB against a 128 MiB cap.

Changes

  • Report line and column for every TOML syntax error; a leading byte order mark is now accepted (also by the Python-side lint and skills readers).
  • Remove the namespace, large-integer and deep-nesting shims; integers beyond 64 bits and nesting past 64 levels get clear errors. TOML 1.1 syntax is still rejected.
  • Contract test: documents tomllib accepts still load identically; failure baselines updated.
  • Raise the four 3,000-model model-lineage fresh-process RSS caps from 128 to 160 MiB, marked temporary until after the 0.156.0 release.

Verification

  • Config crate tests, 10,000-document comparison, and CLI compile/format test with a BOM config pass.
  • Failure-corpus differential (348 projects) and make check-ci pass; fensu check passes after the test-case fix.

@kvlonge
kvlonge enabled auto-merge (squash) October 12, 2026 01:15
@kvlonge
kvlonge merged commit 00a533d into main Oct 12, 2026
40 checks passed
@kvlonge
kvlonge deleted the fix/toml-error-locations branch October 12, 2026 04:11
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.

1 participant