Skip to content

Remove the Python divergence entries closed by idfkit#187 - #48

Merged
samuelduchesne merged 1 commit into
mainfrom
remove-idfkit-187-divergences
Oct 28, 2026
Merged

samuelduchesne merged 1 commit into
mainfrom
remove-idfkit-187-divergences

Conversation

@samuelduchesne

Copy link
Copy Markdown
Contributor

idfkit no longer drops an unterminated final object without a trace (idfkit/idfkit#187, fixed in idfkit/idfkit#243). That object is now a ParseError finding at its start line. Strict mode raises it, and load_idf_with_diagnostics returns it otherwise. The corpus (python) check on idfkit#243 fails at conformance-2026.20 only because three entries in this register are now stale. This PR removes them.

Changes (known-divergence.toml only)

  • Removes exactly three Python entries:
    • malformed-truncated-object / python / parse-outcome
    • malformed-truncated-object / python / diagnostics
    • preserve-unterminated-final / python / parse-outcome
  • Removes the two malformed section headers those entries leave empty, as Remove the Python divergence entries closed by idfkit#183 #47 did for the positional section.
  • Updates the commentary above the old preserve-unterminated-final entry to say 187 is fixed, in the style the file already uses for 185.
  • Recounts the header: 7 entries over 4 issues and 5 cases, 2 against python and 5 against typescript, on 74 cases and 226 assertions.
  • All TypeScript entries and the idfkit#186 encoding entries are unchanged.

No case inputs, expectations or case prose are changed. The "MAINTAINER WARNING" in cases/malformed-truncated-object/case.toml, about exponential backtracking, is untouched too. A separate change can update it now that #243 has fixed the pattern.

Verification

uv run --project ../idfkit python runners/run.py --library ../idfkit against idfkit fix/unterminated-final-object (7c55334, idfkit 1.1.1):

74 case(s), 226 assertion(s): 220 passed, 2 failed, 0 errored, 4 skipped; 2 outstanding exception(s); level conformance-2026.14; 2.79s
PASS

There are no stale exceptions and no unexpected failures. The two outstanding exceptions are the expected idfkit#186 encoding entries.

This repo's own checks, as governance.yml runs them, pass locally:

  • validate_governance, check_consumers and check_roster pass.
  • pytest tests runners/tests: 551 passed.
  • node --test on the four runner test files: 230 passed.
  • The manifest check loads 74 cases and 226 assertions.

After merge

Tag conformance-2026.21 on the merge commit. idfkit#243 will then pin that tag. This PR does not create or push a tag.


Generated by Claude Code

idfkit no longer drops an unterminated final object in silence (idfkit#187, idfkit#243): it is a ParseError finding at the object's start line, raised in strict mode and returned by load_idf_with_diagnostics otherwise. The python entries for malformed-truncated-object (parse-outcome, diagnostics) and preserve-unterminated-final (parse-outcome) are therefore stale and are removed, together with the two malformed sections they leave empty. The commentary above the preserve-unterminated-final entry now records 187 as fixed, as it already did for 185.

The register now holds 7 entries over 4 issues and 5 cases, 2 against python and 5 against typescript.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LQbHyrMxrueKhwRk34MetU
@samuelduchesne
samuelduchesne requested review from a team as code owners October 28, 2026 16:40
@samuelduchesne
samuelduchesne merged commit 8f17689 into main Oct 28, 2026
1 check 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