Skip to content

P0-10: Evaluate markdown-it-py for PTT and hypothesis parsing in shadow mode #136

Description

Backlog metadata


Summary

From the 20 September 2026 Violin dev duplication/library review, baseline 5ca0d9d6767b91fe809b2e4996c85ac65ba9e962. Priority: P0. Source locations and measurements describe the review baseline.

Scope

Add a bounded markdown-it-py proof of concept with table support alongside existing core/ptt.py and core/hypotheses.py readers. Use heading/table/list tokens and source maps to extract typed domain records. Compare old and new records on sanitized engagement fixtures before switching any writes.

Acceptance criteria

  • Cover escaped pipes, extra table columns, heading variations, comments, malformed records, prose and all protected template sections.
  • Report every parser disagreement with source positions; document accepted grammar and resolution.
  • Existing writer remains authoritative; no production dual-write or security-policy change.
  • Declare/pin dependency appropriately only with demonstrated grammar support and maintenance benefit.

Dependencies / related work

Sequence after #132.

No existing open issue covers structural Markdown parser migration.

Verification

Working branch: codex/review-markdown-shadow, based on dev. Future PRs target dev; follow AGENTS.md and preserve fail-closed policy. Rebase dependent branches onto updated dev before implementation.

Implementation must pass uv run pytest, uv run ruff check ., uv run ruff format --check . and uv run python scripts/violin_guard.py check-release, plus the focused checks above. No implementation or test rerun is claimed by this tracking issue.

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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions