Skip to content

test: cross-binding parity gaps — type_mismatch (napi) + @extends merged-FM (python) #164

Description

@dean0x

Reference-corrected 2026-08-26 against main @ 6d41777. (a) has landed; (b)'s stated blocker is obsolete but its deliverable remains open.

Deferred (pre-existing) finding from the PR #161 code review — surfaced by the python reviewer. The two binding parity suites have drifted. Two follow-up gaps:

(a) napi parity: mds::type_mismatch

-> LANDED. Verified done at 6d41777; no work remains.

crates/mds-napi/__test__/index.spec.mjs:402-416 — test 'D2: type_mismatch from @if cross-type comparison carries a non-null span' — compiles '---\nx: 3\n---\n@if x == "3":\nyes\n@end\n' and asserts err.code === 'mds::type_mismatch' plus span offset/length/line/column. Mirrors the Python case at crates/mds-python/tests/test_parity.py:127-128 (NAPI_ERROR_PARITY). Landed in PR #196 (3aef465, 2026-07-19) — ten days after this issue was filed (2026-07-09), which is why it went unnoticed.

(b) python parity: @extends merged frontmatter — STILL OPEN, rationale obsolete

The stated blocker no longer exists. This issue says the Python binding "lacks compile_virtual plumbing". It does not — compile_virtual is fully plumbed:

  • crates/mds-python/src/lib.rs:1446-1458 (implementation)
  • crates/mds-python/python/markdown_script/__init__.py:37, :69 (export)
  • crates/mds-python/python/markdown_script/_markdown_script.pyi:225 (stub)
  • exercised at crates/mds-python/tests/test_functional.py:136, :159 and tests/test_source_map.py

The deliverable is still missing. There is no @extends merged-frontmatter parity case in the Python suite. grep '@extends' crates/mds-python/tests/*.py returns only test_parity.py:123 (a stray-@extends error-code case) and test_concurrency.py:161 (malformed-input fuzz). Nothing exercises #154 deep-merged frontmatter through inheritance.

Rescoped ask: add an @extends merged-FM parity case to the Python suite using the now-available compile_virtual. Model it on the napi inheritance coverage at crates/mds-napi/__test__/index.spec.mjs:613-690 (INH-1/INH-2).

Notes

Reference-corrected 2026-08-26 against main @ 6d41777 — locations and completion state only; scope and acceptance criteria unchanged.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ecosystemBindings, packages, and integrationstech-debtTechnical debt

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions