Run artifact

workspace/targets/commonmark/ANALYSIS.md

Blueprint Analysis: CommonMark

Commander Expectations

Crew

CrewCharge
CommanderDefines intent and decides what done means.
Team LeadConfirms epic completeness and stakeholder expectations.
Planning CrewAuthors atomic specifications and the ordered Manifest.
Shipyard CrewBuilds the tickets without synchronous Commander access.

Story List

Feature: Parser Interface

IDStoryHigh-level AC
INTERFACE-001Provide the executable standard-input/standard-output interfaceAn executable commonmark accepts UTF-8 Markdown on standard input and writes HTML to standard output.

Feature: Block Parsing

IDStoryHigh-level AC
BLOCK-001Parse leaf blocksThe parser handles thematic breaks, ATX and setext headings, indented and fenced code blocks, HTML blocks, paragraphs, and link reference definitions.
BLOCK-002Parse block quotesThe parser handles block quote markers, nesting, blank lines, lazy continuation, and contained blocks.
BLOCK-003Parse listsThe parser handles bullet and ordered lists, nesting, continuation, laziness, empty items, tightness, and block content.

Feature: Inline Parsing

IDStoryHigh-level AC
INLINE-001Parse escapes, entities, code spans, and line breaksThe parser correctly renders backslash escapes, HTML entities, numeric references, code spans, hard breaks, soft breaks, and literal text.
INLINE-002Parse emphasis and strong emphasisThe parser applies the CommonMark delimiter-run algorithm, including nesting, intraword rules, delimiter precedence, and unmatched delimiters.
INLINE-003Parse links and imagesThe parser handles inline, full, collapsed, and shortcut references, destinations, titles, nested brackets, images, and link restrictions.
INLINE-004Parse autolinks and raw HTMLThe parser handles URI and email autolinks, raw HTML tags, comments, declarations, processing instructions, and CDATA.

Feature: Conformance Verification

IDStoryHigh-level AC
VERIFY-001Run the complete conformance suitesh sources/full_test.sh runs unfiltered and exits successfully only when every supplied case passes with zero failures and errors.

Surfaced Acceptance Criteria

None.

Source Inventory

PathContent kindDispositionReason
sources/INSTRUCTIONS.mdmarkdownanalyzedreadable UTF-8
sources/cmark.pycodeanalyzedreadable UTF-8
sources/full_test.shcodeanalyzedreadable UTF-8
sources/normalize.pycodeanalyzedreadable UTF-8
sources/spec.txttextchunkedsplit into 18 bounded chunks
sources/spec_tests.pycodeanalyzedreadable UTF-8

Relationship Model

Source or groupRelationship typeRelated source or groupEvidenceDelivery implication
sources/spec.txtnormative specification and conformance test suitesources/spec_tests.pyThe test runner extracts examples and expected HTML from the specification.Stories must follow the specification sections and use section-scoped checks.
sources/spec_tests.pytest-kit-to-implementationcommonmarkspec_tests.py invokes the supplied program through cmark.py.The executable interface must remain stable.
sources/cmark.pytest helpercommonmarkCMark(prog=...) pipes UTF-8 input to the program and captures output.Stage the helper and preserve standard streams.
sources/normalize.pytest helpersources/spec_tests.pyThe runner normalizes HTML before comparison.Stage the normalizer with the harness.
sources/full_test.shinstruction-to-testsources/spec_tests.pyThe supplied script invokes the unfiltered suite and checks the clean tally.The terminal verification story is the only full-suite story.
sources/INSTRUCTIONS.mdauthor intentall implementation storiesIt defines implementation order, prohibitions, interface, and acceptance structure.Use as planning context; do not stage it.

Source Roles

PathRolePlan dispositionBuild disposition
sources/INSTRUCTIONS.mdauthor intentcompassprompt-only
sources/spec.txtnormative specification and conformance test suitecontextstage
sources/spec_tests.pyconformance harnesscontextstage
sources/cmark.pytest helpercontextstage
sources/normalize.pytest helpercontextstage
sources/full_test.shconformance harnesscontextstage

Planning Instructions

Delivery Shape

The system is a command-line Markdown parser. It accepts UTF-8 Markdown through standard input, constructs block structure, parses inline content, and emits HTML through standard output. Delivery proceeds from the executable interface to block parsing, then inline parsing, followed by scoped specification checks and one terminal unfiltered conformance run.

Story Realization Map

Story IDBlueprint scopeEvidenceRelated filesDelivery type
INTERFACE-001Executable process boundary and UTF-8 streamssources/INSTRUCTIONS.md, sources/cmark.pysources/cmark.pycapability
BLOCK-001Leaf blocks and reference definitionssources/spec.txt sections Leaf blocks, Paragraphs, Link reference definitionssources/spec_tests.py, sources/normalize.pycapability and scoped harness
BLOCK-002Block quotessources/spec.txt section Block quotessources/spec_tests.pycapability and scoped harness
BLOCK-003Lists and tightnesssources/spec.txt sections List items, Listssources/spec_tests.pycapability and scoped harness
INLINE-001Escapes, entities, code spans, hard and soft breaks, textual contentsources/spec.txt sections Backslash escapes, Entity and numeric character references, Code spans, Hard line breaks, Soft line breakssources/spec_tests.pycapability and scoped harness
INLINE-002Emphasis and strong emphasissources/spec.txt section Emphasis and strong emphasissources/spec_tests.pycapability and scoped harness
INLINE-003Links and imagessources/spec.txt sections Links, Imagessources/spec_tests.pycapability and scoped harness
INLINE-004Autolinks and raw HTMLsources/spec.txt sections Autolinks, Raw HTMLsources/spec_tests.pycapability and scoped harness
VERIFY-001Complete supplied suite executionsources/full_test.shall staged runtime assets and commonmarkacceptance contract

Test and Acceptance Strategy

Implementation stories use spec_tests.py with explicit section selectors covering only their owned sections and declare Suite: scoped. The terminal verification story depends on every implementation story, declares Suite: full, and runs sh sources/full_test.sh. The supplied harness and its imported helpers are staged unchanged.

Sequencing and Dependencies

Build the executable interface first. Implement block parsing before inline parsing, with reference definitions available before inline rendering. Stage spec.txt, spec_tests.py, cmark.py, normalize.py, and full_test.sh before verification. Run scoped checks after each relevant parser capability; run the complete suite only in VERIFY-001.

Source Conflicts and Gaps

No conflicting product definitions were found. The sources do not specify a framework, persistence layer, deployment platform, authentication model, or interactive UI; these are not required for the described local CLI. The source does prohibit use of a public Markdown implementation and modification of supplied conformance assets.

Analysis Notes

generated: 2026-08-15 blueprint: /mnt/c/Users/barlo/projects/drydock/uat/Commonmark/runs/20260815.202344/workspace/targets/commonmark/blueprint

Quality: Questions blockers: 0 questions: 1 features: 4 stories: 9 stack: Python 3 and POSIX shell display_name: CommonMark short_description: A command-line CommonMark 0.31.2 parser that converts Markdown from standard input to HTML on standard output.

The identity questionnaire remains open because the project display name and short description were blank. No other human-owned planning decisions are required.