diff --git a/spec/functional/FR-001-parse-document-into-section-tree.md b/spec/functional/FR-001-parse-document-into-section-tree.md index 3632571..2bc768a 100644 --- a/spec/functional/FR-001-parse-document-into-section-tree.md +++ b/spec/functional/FR-001-parse-document-into-section-tree.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-001] Parse document into section tree +# FR-001: Parse document into section tree ## Description diff --git a/spec/functional/FR-002-section-query-by-heading.md b/spec/functional/FR-002-section-query-by-heading.md index e2cfa0f..26e386d 100644 --- a/spec/functional/FR-002-section-query-by-heading.md +++ b/spec/functional/FR-002-section-query-by-heading.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-002] Section query by heading +# FR-002: Section query by heading ## Description diff --git a/spec/functional/FR-003-table-extraction.md b/spec/functional/FR-003-table-extraction.md index 5d8eb6e..e7634cb 100644 --- a/spec/functional/FR-003-table-extraction.md +++ b/spec/functional/FR-003-table-extraction.md @@ -11,7 +11,7 @@ relationships: type: 'implements' --- -# [FR-003] Table extraction +# FR-003: Table extraction ## Description diff --git a/spec/functional/FR-004-structured-list-extraction.md b/spec/functional/FR-004-structured-list-extraction.md index dfc853d..2af4908 100644 --- a/spec/functional/FR-004-structured-list-extraction.md +++ b/spec/functional/FR-004-structured-list-extraction.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-004] Structured list extraction +# FR-004: Structured list extraction ## Description diff --git a/spec/functional/FR-005-frontmatter-extraction.md b/spec/functional/FR-005-frontmatter-extraction.md index fa6b5ee..a70e673 100644 --- a/spec/functional/FR-005-frontmatter-extraction.md +++ b/spec/functional/FR-005-frontmatter-extraction.md @@ -9,7 +9,7 @@ relationships: type: 'implements' --- -# [FR-005] Frontmatter extraction +# FR-005: Frontmatter extraction ## Description diff --git a/spec/functional/FR-006-diagram-extraction.md b/spec/functional/FR-006-diagram-extraction.md index 9d67524..fe4835e 100644 --- a/spec/functional/FR-006-diagram-extraction.md +++ b/spec/functional/FR-006-diagram-extraction.md @@ -9,7 +9,7 @@ relationships: type: 'implements' --- -# [FR-006] Diagram extraction with type tags +# FR-006: Diagram extraction with type tags ## Description diff --git a/spec/functional/FR-007-full-text-search.md b/spec/functional/FR-007-full-text-search.md index 2e38a64..6b667d9 100644 --- a/spec/functional/FR-007-full-text-search.md +++ b/spec/functional/FR-007-full-text-search.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-007] Full-text search across sections +# FR-007: Full-text search across sections ## Description diff --git a/spec/functional/FR-008-quireprovider-react-context.md b/spec/functional/FR-008-quireprovider-react-context.md index a01f1f5..6173d1e 100644 --- a/spec/functional/FR-008-quireprovider-react-context.md +++ b/spec/functional/FR-008-quireprovider-react-context.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-008] QuireProvider React context +# FR-008: QuireProvider React context ## Description diff --git a/spec/functional/FR-009-usesection-hook.md b/spec/functional/FR-009-usesection-hook.md index 7c3d864..6a5a123 100644 --- a/spec/functional/FR-009-usesection-hook.md +++ b/spec/functional/FR-009-usesection-hook.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-009] useSection hook +# FR-009: useSection hook ## Description diff --git a/spec/functional/FR-010-usetable-hook.md b/spec/functional/FR-010-usetable-hook.md index cd12364..9674a7a 100644 --- a/spec/functional/FR-010-usetable-hook.md +++ b/spec/functional/FR-010-usetable-hook.md @@ -9,7 +9,7 @@ relationships: type: 'implements' --- -# [FR-010] useTable hook +# FR-010: useTable hook ## Description diff --git a/spec/functional/FR-011-uselist-hook.md b/spec/functional/FR-011-uselist-hook.md index 851ca71..14c5eeb 100644 --- a/spec/functional/FR-011-uselist-hook.md +++ b/spec/functional/FR-011-uselist-hook.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-011] useList hook +# FR-011: useList hook ## Description diff --git a/spec/functional/FR-012-usefrontmatter-hook.md b/spec/functional/FR-012-usefrontmatter-hook.md index c3041f6..a39e028 100644 --- a/spec/functional/FR-012-usefrontmatter-hook.md +++ b/spec/functional/FR-012-usefrontmatter-hook.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-012] useFrontmatter hook +# FR-012: useFrontmatter hook ## Description diff --git a/spec/functional/FR-013-usediagram-hook.md b/spec/functional/FR-013-usediagram-hook.md index eccd7ce..2d55c40 100644 --- a/spec/functional/FR-013-usediagram-hook.md +++ b/spec/functional/FR-013-usediagram-hook.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-013] useDiagram hook +# FR-013: useDiagram hook ## Description diff --git a/spec/functional/FR-014-section-update-and-write-back.md b/spec/functional/FR-014-section-update-and-write-back.md index 2352e53..19b3dea 100644 --- a/spec/functional/FR-014-section-update-and-write-back.md +++ b/spec/functional/FR-014-section-update-and-write-back.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-014] Section update and write-back +# FR-014: Section update and write-back ## Description diff --git a/spec/functional/FR-015-sectioncard-component.md b/spec/functional/FR-015-sectioncard-component.md index 1513541..4c3d1af 100644 --- a/spec/functional/FR-015-sectioncard-component.md +++ b/spec/functional/FR-015-sectioncard-component.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-015] SectionCard component +# FR-015: SectionCard component ## Description diff --git a/spec/functional/FR-016-sectiontable-component.md b/spec/functional/FR-016-sectiontable-component.md index e5bed7e..7d1c741 100644 --- a/spec/functional/FR-016-sectiontable-component.md +++ b/spec/functional/FR-016-sectiontable-component.md @@ -9,7 +9,7 @@ relationships: type: 'implements' --- -# [FR-016] SectionTable component +# FR-016: SectionTable component ## Description diff --git a/spec/functional/FR-017-sectionlist-component.md b/spec/functional/FR-017-sectionlist-component.md index 67189b1..f4b4fe6 100644 --- a/spec/functional/FR-017-sectionlist-component.md +++ b/spec/functional/FR-017-sectionlist-component.md @@ -9,7 +9,7 @@ relationships: type: 'implements' --- -# [FR-017] SectionList component +# FR-017: SectionList component ## Description diff --git a/spec/functional/FR-018-autosections-component.md b/spec/functional/FR-018-autosections-component.md index ca0227c..1d9765a 100644 --- a/spec/functional/FR-018-autosections-component.md +++ b/spec/functional/FR-018-autosections-component.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-018] AutoSections component +# FR-018: AutoSections component ## Description diff --git a/spec/functional/FR-019-delegation-annotation-parsing.md b/spec/functional/FR-019-delegation-annotation-parsing.md index d75112c..f0d690b 100644 --- a/spec/functional/FR-019-delegation-annotation-parsing.md +++ b/spec/functional/FR-019-delegation-annotation-parsing.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-019] Delegation annotation parsing +# FR-019: Delegation annotation parsing ## Description diff --git a/spec/functional/FR-020-find-diagram-by-tag.md b/spec/functional/FR-020-find-diagram-by-tag.md index 953c743..e00e9bb 100644 --- a/spec/functional/FR-020-find-diagram-by-tag.md +++ b/spec/functional/FR-020-find-diagram-by-tag.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-020] Find diagram by tag +# FR-020: Find diagram by tag ## Description diff --git a/spec/functional/FR-021-standards-resolution-from-frontmatter.md b/spec/functional/FR-021-standards-resolution-from-frontmatter.md index 54fdc7c..3cff7fc 100644 --- a/spec/functional/FR-021-standards-resolution-from-frontmatter.md +++ b/spec/functional/FR-021-standards-resolution-from-frontmatter.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-021] Standards resolution from frontmatter +# FR-021: Standards resolution from frontmatter ## Description diff --git a/spec/functional/FR-022-adr-artifact-section-parser.md b/spec/functional/FR-022-adr-artifact-section-parser.md index 951bc41..73a2b0c 100644 --- a/spec/functional/FR-022-adr-artifact-section-parser.md +++ b/spec/functional/FR-022-adr-artifact-section-parser.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-022] ADR artifact section parser +# FR-022: ADR artifact section parser ## Description diff --git a/spec/functional/FR-023-grouped-dependency-renderer.md b/spec/functional/FR-023-grouped-dependency-renderer.md index e035035..e06750e 100644 --- a/spec/functional/FR-023-grouped-dependency-renderer.md +++ b/spec/functional/FR-023-grouped-dependency-renderer.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-023] Grouped dependency classification +# FR-023: Grouped dependency classification ## Description diff --git a/spec/functional/FR-024-extract-fr-process-diagrams.md b/spec/functional/FR-024-extract-fr-process-diagrams.md index 760f82c..940f085 100644 --- a/spec/functional/FR-024-extract-fr-process-diagrams.md +++ b/spec/functional/FR-024-extract-fr-process-diagrams.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-024] Extract FR process diagrams from artifacts +# FR-024: Extract FR process diagrams from artifacts ## Description diff --git a/spec/functional/FR-027-error-handling-and-edge-cases.md b/spec/functional/FR-027-error-handling-and-edge-cases.md index f16e931..86002b6 100644 --- a/spec/functional/FR-027-error-handling-and-edge-cases.md +++ b/spec/functional/FR-027-error-handling-and-edge-cases.md @@ -11,7 +11,7 @@ relationships: type: 'implements' --- -# [FR-027] Error handling and edge cases +# FR-027: Error handling and edge cases ## Description diff --git a/spec/functional/FR-028-render-error-boundaries.md b/spec/functional/FR-028-render-error-boundaries.md index e0f7695..7155aa8 100644 --- a/spec/functional/FR-028-render-error-boundaries.md +++ b/spec/functional/FR-028-render-error-boundaries.md @@ -7,7 +7,7 @@ relationships: type: 'implements' --- -# [FR-028] Render error boundaries +# FR-028: Render error boundaries ## Description diff --git a/spec/non-functional/NFR-001-parse-performance.md b/spec/non-functional/NFR-001-parse-performance.md index a4e186f..f070f1b 100644 --- a/spec/non-functional/NFR-001-parse-performance.md +++ b/spec/non-functional/NFR-001-parse-performance.md @@ -7,7 +7,7 @@ relationships: type: 'constrains' --- -# [NFR-001] Parse performance +# NFR-001: Parse performance ## Attribute diff --git a/spec/non-functional/NFR-002-round-trip-fidelity.md b/spec/non-functional/NFR-002-round-trip-fidelity.md index e34dd5d..2a109e4 100644 --- a/spec/non-functional/NFR-002-round-trip-fidelity.md +++ b/spec/non-functional/NFR-002-round-trip-fidelity.md @@ -7,7 +7,7 @@ relationships: type: 'constrains' --- -# [NFR-002] Round-trip fidelity +# NFR-002: Round-trip fidelity ## Attribute diff --git a/spec/non-functional/NFR-003-bundle-and-tree-shakeability.md b/spec/non-functional/NFR-003-bundle-and-tree-shakeability.md index 8919f43..8d01210 100644 --- a/spec/non-functional/NFR-003-bundle-and-tree-shakeability.md +++ b/spec/non-functional/NFR-003-bundle-and-tree-shakeability.md @@ -7,7 +7,7 @@ relationships: type: 'constrains' --- -# [NFR-003] Bundle size and tree-shakeability +# NFR-003: Bundle size and tree-shakeability ## Attribute diff --git a/spec/non-functional/NFR-004-theme-integration.md b/spec/non-functional/NFR-004-theme-integration.md index 4a90945..7787734 100644 --- a/spec/non-functional/NFR-004-theme-integration.md +++ b/spec/non-functional/NFR-004-theme-integration.md @@ -7,7 +7,7 @@ relationships: type: 'constrains' --- -# [NFR-004] Theme integration +# NFR-004: Theme integration ## Attribute diff --git a/spec/non-functional/NFR-005-test-coverage.md b/spec/non-functional/NFR-005-test-coverage.md index a96b89b..64ffd1d 100644 --- a/spec/non-functional/NFR-005-test-coverage.md +++ b/spec/non-functional/NFR-005-test-coverage.md @@ -7,7 +7,7 @@ relationships: type: 'constrains' --- -# [NFR-005] Test coverage +# NFR-005: Test coverage ## Attribute diff --git a/spec/stakeholder/StR-001-eliminate-parsing-duplication.md b/spec/stakeholder/StR-001-eliminate-parsing-duplication.md index 326e38f..c4a33f3 100644 --- a/spec/stakeholder/StR-001-eliminate-parsing-duplication.md +++ b/spec/stakeholder/StR-001-eliminate-parsing-duplication.md @@ -4,7 +4,7 @@ title: 'Eliminate parsing duplication' type: StR --- -# [StR-001] Eliminate parsing duplication +# StR-001: Eliminate parsing duplication ## Statement diff --git a/spec/stakeholder/StR-002-structured-document-interaction.md b/spec/stakeholder/StR-002-structured-document-interaction.md index ca384f9..40f6517 100644 --- a/spec/stakeholder/StR-002-structured-document-interaction.md +++ b/spec/stakeholder/StR-002-structured-document-interaction.md @@ -4,7 +4,7 @@ title: 'Structured document interaction' type: StR --- -# [StR-002] Structured document interaction +# StR-002: Structured document interaction ## Statement diff --git a/spec/usecase/US-001-parse-a-spec-into-sections.md b/spec/usecase/US-001-parse-a-spec-into-sections.md index a00971a..e09736a 100644 --- a/spec/usecase/US-001-parse-a-spec-into-sections.md +++ b/spec/usecase/US-001-parse-a-spec-into-sections.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-001] Parse a spec into sections +# US-001: Parse a spec into sections ## Story @@ -24,19 +24,19 @@ markdown. ## Acceptance Examples (Illustrative) -### [US-001-EX-1] Headings become sections +### US-001-EX-1: Headings become sections - **Given** a markdown string with `##` headings - **When** it is parsed - **Then** each heading becomes a named section with its content. -### [US-001-EX-2] Nested headings form a hierarchy +### US-001-EX-2: Nested headings form a hierarchy - **Given** nested headings (`##`, `###`, `####`) - **When** parsed - **Then** sub-sections nest under their parent. -### [US-001-EX-3] Empty input is safe +### US-001-EX-3: Empty input is safe - **Given** an empty string - **When** parsed diff --git a/spec/usecase/US-002-query-a-specific-section.md b/spec/usecase/US-002-query-a-specific-section.md index b025e7d..e5b26a1 100644 --- a/spec/usecase/US-002-query-a-specific-section.md +++ b/spec/usecase/US-002-query-a-specific-section.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-002] Query a specific section +# US-002: Query a specific section ## Story @@ -23,19 +23,19 @@ case-insensitive full-text search across all section content. ## Acceptance Examples (Illustrative) -### [US-002-EX-1] Heading lookup +### US-002-EX-1: Heading lookup - **Given** a parsed document - **When** I query `section("Purpose")` - **Then** I receive the `## Purpose` section. -### [US-002-EX-2] Missing heading +### US-002-EX-2: Missing heading - **Given** a heading that does not exist - **When** queried - **Then** I receive `null`. -### [US-002-EX-3] Numbered headings match +### US-002-EX-3: Numbered headings match - **Given** `## 2.1 In Scope` - **When** I query `section("In Scope")` diff --git a/spec/usecase/US-003-extract-tables-from-sections.md b/spec/usecase/US-003-extract-tables-from-sections.md index cb4a61a..397e7c1 100644 --- a/spec/usecase/US-003-extract-tables-from-sections.md +++ b/spec/usecase/US-003-extract-tables-from-sections.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-003] Extract tables from sections +# US-003: Extract tables from sections ## Story @@ -23,19 +23,19 @@ convenience that locates the section then parses its first table. ## Acceptance Examples (Illustrative) -### [US-003-EX-1] Table to rows +### US-003-EX-1: Table to rows - **Given** a section containing a markdown table - **When** I extract it - **Then** I receive header-stripped row arrays. -### [US-003-EX-2] No table +### US-003-EX-2: No table - **Given** a section with no table - **When** extracted - **Then** I receive empty headers and rows. -### [US-003-EX-3] Multiple tables +### US-003-EX-3: Multiple tables - **Given** a section with multiple tables - **When** I call `parseTables()` diff --git a/spec/usecase/US-004-extract-structured-lists.md b/spec/usecase/US-004-extract-structured-lists.md index 9a596eb..3e860e0 100644 --- a/spec/usecase/US-004-extract-structured-lists.md +++ b/spec/usecase/US-004-extract-structured-lists.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-004] Extract structured lists +# US-004: Extract structured lists ## Story @@ -23,13 +23,13 @@ description; plain items keep the full text as `title`. ## Acceptance Examples (Illustrative) -### [US-004-EX-1] Bold-description split +### US-004-EX-1: Bold-description split - **Given** `- **Auth** — Token-based authentication` - **When** parsed - **Then** `title` is "Auth" and `description` is "Token-based authentication". -### [US-004-EX-2] Plain item +### US-004-EX-2: Plain item - **Given** `- Simple item` - **When** parsed diff --git a/spec/usecase/US-005-react-context-for-document-state.md b/spec/usecase/US-005-react-context-for-document-state.md index aff4593..a61c481 100644 --- a/spec/usecase/US-005-react-context-for-document-state.md +++ b/spec/usecase/US-005-react-context-for-document-state.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-005] React context for document state +# US-005: React context for document state ## Story @@ -23,19 +23,19 @@ hooks (`useQuire`, `useSection`, `useTable`, `useList`, `useFrontmatter`, ## Acceptance Examples (Illustrative) -### [US-005-EX-1] Child reads a section +### US-005-EX-1: Child reads a section - **Given** `` - **When** a child calls `useSection("Purpose")` - **Then** it receives the section content. -### [US-005-EX-2] Re-parse on change +### US-005-EX-2: Re-parse on change - **Given** the `content` prop changes - **When** hooks read again - **Then** they reflect the new content. -### [US-005-EX-3] Hook outside provider +### US-005-EX-3: Hook outside provider - **Given** a hook called outside `` - **When** rendered diff --git a/spec/usecase/US-006-edit-a-section-and-write-back.md b/spec/usecase/US-006-edit-a-section-and-write-back.md index 2426bbb..81f3dbc 100644 --- a/spec/usecase/US-006-edit-a-section-and-write-back.md +++ b/spec/usecase/US-006-edit-a-section-and-write-back.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-006] Edit a section and write back +# US-006: Edit a section and write back ## Story @@ -24,13 +24,13 @@ provider's `onChange`. ## Acceptance Examples (Illustrative) -### [US-006-EX-1] Section replaced +### US-006-EX-1: Section replaced - **Given** a document - **When** I call `updateSection("Purpose", newContent)` - **Then** the returned markdown has the Purpose section replaced. -### [US-006-EX-2] Others unchanged +### US-006-EX-2: Others unchanged - **Given** the update above - **When** I inspect other sections and the frontmatter diff --git a/spec/usecase/US-007-extract-frontmatter.md b/spec/usecase/US-007-extract-frontmatter.md index 8a49ea9..184e57b 100644 --- a/spec/usecase/US-007-extract-frontmatter.md +++ b/spec/usecase/US-007-extract-frontmatter.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-007] Extract frontmatter +# US-007: Extract frontmatter ## Story @@ -24,19 +24,19 @@ nested objects and multi-line strings are out of scope. ## Acceptance Examples (Illustrative) -### [US-007-EX-1] Frontmatter parsed +### US-007-EX-1: Frontmatter parsed - **Given** a document with `---` delimited frontmatter - **When** parsed - **Then** frontmatter is available as a key-value object. -### [US-007-EX-2] No frontmatter +### US-007-EX-2: No frontmatter - **Given** no frontmatter - **When** parsed - **Then** `null` is returned and the body is the full input. -### [US-007-EX-3] Malformed YAML +### US-007-EX-3: Malformed YAML - **Given** malformed YAML - **When** parsed diff --git a/spec/usecase/US-008-render-section-cards-automatically.md b/spec/usecase/US-008-render-section-cards-automatically.md index 7b8b776..d12a1f1 100644 --- a/spec/usecase/US-008-render-section-cards-automatically.md +++ b/spec/usecase/US-008-render-section-cards-automatically.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-008] Render section cards automatically +# US-008: Render section cards automatically ## Story @@ -29,19 +29,19 @@ is resilient and falls back to a default rendering while logging the error ## Acceptance Examples (Illustrative) -### [US-008-EX-1] Card fallback +### US-008-EX-1: Card fallback - **Given** `` with no custom renderer - **When** rendered - **Then** the section content is shown in a themed card container. -### [US-008-EX-2] Auto-render +### US-008-EX-2: Auto-render - **Given** `` - **When** rendered - **Then** sections with a matching renderer use it; others fall back to the default. -### [US-008-EX-3] Renderer throws +### US-008-EX-3: Renderer throws - **Given** a custom renderer that throws - **When** rendered diff --git a/spec/usecase/US-010-extract-diagrams.md b/spec/usecase/US-010-extract-diagrams.md index 15d4d4b..e7d1302 100644 --- a/spec/usecase/US-010-extract-diagrams.md +++ b/spec/usecase/US-010-extract-diagrams.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-010] Extract diagrams +# US-010: Extract diagrams ## Story @@ -23,13 +23,13 @@ to one fence language. The `useDiagram(heading?)` hook surfaces this in React. ## Acceptance Examples (Illustrative) -### [US-010-EX-1] All diagrams +### US-010-EX-1: All diagrams - **Given** a document with mermaid fenced blocks - **When** I call `extractDiagrams(doc)` - **Then** I receive each block's source string. -### [US-010-EX-2] Per-section +### US-010-EX-2: Per-section - **Given** a diagram inside `## Architecture` - **When** I read `useDiagram("Architecture")` diff --git a/spec/usecase/US-011-render-api-endpoint-tables.md b/spec/usecase/US-011-render-api-endpoint-tables.md index 9a0e367..c16beb1 100644 --- a/spec/usecase/US-011-render-api-endpoint-tables.md +++ b/spec/usecase/US-011-render-api-endpoint-tables.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-011] Render API endpoint tables with custom cell renderers +# US-011: Render API endpoint tables with custom cell renderers ## Story @@ -27,13 +27,13 @@ itself — it supplies the parsed rows and the per-cell render hook. ## Acceptance Examples (Illustrative) -### [US-011-EX-1] Typed rows +### US-011-EX-1: Typed rows - **Given** a table under `## API Endpoints` - **When** parsed by `SectionTable` - **Then** rows are available to `cellRenderers` keyed by column. -### [US-011-EX-2] Custom cell +### US-011-EX-2: Custom cell - **Given** a `cellRenderers.Method` function - **When** the table renders diff --git a/spec/usecase/US-012-render-delegated-concerns.md b/spec/usecase/US-012-render-delegated-concerns.md index b7ba268..7ba09bb 100644 --- a/spec/usecase/US-012-render-delegated-concerns.md +++ b/spec/usecase/US-012-render-delegated-concerns.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-012] Parse delegation annotations from lists +# US-012: Parse delegation annotations from lists ## Story @@ -23,13 +23,13 @@ the `(handled by X)` / `(delegated to X)` annotation from `item` and capturing ## Acceptance Examples (Illustrative) -### [US-012-EX-1] Delegation captured +### US-012-EX-1: Delegation captured - **Given** `- Auth tokens (handled by auth-service)` - **When** parsed - **Then** `item` is "Auth tokens" and `delegation` is "auth-service". -### [US-012-EX-2] No annotation +### US-012-EX-2: No annotation - **Given** `- Simple item` - **When** parsed diff --git a/spec/usecase/US-013-render-grouped-dependencies.md b/spec/usecase/US-013-render-grouped-dependencies.md index 7962b24..da63a4f 100644 --- a/spec/usecase/US-013-render-grouped-dependencies.md +++ b/spec/usecase/US-013-render-grouped-dependencies.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-013] Group dependencies by type +# US-013: Group dependencies by type ## Story @@ -28,13 +28,13 @@ Filter errors are resilient: the item is excluded and the error logged ## Acceptance Examples (Illustrative) -### [US-013-EX-1] Grouped by filter +### US-013-EX-1: Grouped by filter - **Given** dependency summaries and group filters - **When** grouped - **Then** each dependency lands in the matching group. -### [US-013-EX-2] Filter throws +### US-013-EX-2: Filter throws - **Given** a filter that throws - **When** grouping runs diff --git a/spec/usecase/US-014-classify-mermaid-diagrams.md b/spec/usecase/US-014-classify-mermaid-diagrams.md index f59d3af..f09f3d2 100644 --- a/spec/usecase/US-014-classify-mermaid-diagrams.md +++ b/spec/usecase/US-014-classify-mermaid-diagrams.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-014] Tag and locate diagrams by type +# US-014: Tag and locate diagrams by type ## Story @@ -29,13 +29,13 @@ returns the first block with that tag. ## Acceptance Examples (Illustrative) -### [US-014-EX-1] Tag read +### US-014-EX-1: Tag read - **Given** a mermaid block containing `%% @type: deployment` - **When** extracted - **Then** the block's `tag` is "deployment". -### [US-014-EX-2] Find by tag +### US-014-EX-2: Find by tag - **Given** several diagrams - **When** I call `findDiagramByTag(blocks, "logical")` diff --git a/spec/usecase/US-015-resolve-standards-alignment.md b/spec/usecase/US-015-resolve-standards-alignment.md index ae32133..ff3767a 100644 --- a/spec/usecase/US-015-resolve-standards-alignment.md +++ b/spec/usecase/US-015-resolve-standards-alignment.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-015] Resolve standards alignment from frontmatter +# US-015: Resolve standards alignment from frontmatter ## Story @@ -24,13 +24,13 @@ slugified `name` (case-insensitive). Unresolved codes are returned with ## Acceptance Examples (Illustrative) -### [US-015-EX-1] Code list extracted +### US-015-EX-1: Code list extracted - **Given** frontmatter with `standards_alignment: [iso-iec-ieee-29148]` - **When** read - **Then** the code list is available. -### [US-015-EX-2] Resolved and unresolved +### US-015-EX-2: Resolved and unresolved - **Given** a standards list - **When** resolved diff --git a/spec/usecase/US-016-parse-requirement-summary-tables.md b/spec/usecase/US-016-parse-requirement-summary-tables.md index 74d0a09..9e9d4a4 100644 --- a/spec/usecase/US-016-parse-requirement-summary-tables.md +++ b/spec/usecase/US-016-parse-requirement-summary-tables.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-016] Parse requirement summary tables +# US-016: Parse requirement summary tables ## Story @@ -24,13 +24,13 @@ specific typed parser; the consumer maps the generic rows to its own shape. ## Acceptance Examples (Illustrative) -### [US-016-EX-1] Generic rows +### US-016-EX-1: Generic rows - **Given** a table under `## Functional Requirements` with `ID | Title | Type` - **When** read via `useTable` - **Then** I receive header-stripped rows the view can map to `{ id, title, type }`. -### [US-016-EX-2] Separators stripped +### US-016-EX-2: Separators stripped - **Given** a markdown table - **When** parsed diff --git a/spec/usecase/US-017-parse-adr-artifacts.md b/spec/usecase/US-017-parse-adr-artifacts.md index d25d2ac..46a8f52 100644 --- a/spec/usecase/US-017-parse-adr-artifacts.md +++ b/spec/usecase/US-017-parse-adr-artifacts.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-017] Parse ADR artifacts +# US-017: Parse ADR artifacts ## Story @@ -27,13 +27,13 @@ and collects embedded mermaid diagrams. It returns `null` for empty content. ## Acceptance Examples (Illustrative) -### [US-017-EX-1] Sections extracted +### US-017-EX-1: Sections extracted - **Given** an ADR with `## Context`, `## Decision`, `## Rationale` - **When** parsed - **Then** each section's content is extracted. -### [US-017-EX-2] Default status +### US-017-EX-2: Default status - **Given** no Status section - **When** parsed diff --git a/spec/usecase/US-018-extract-fr-process-diagrams.md b/spec/usecase/US-018-extract-fr-process-diagrams.md index f7ba7f3..e019ef1 100644 --- a/spec/usecase/US-018-extract-fr-process-diagrams.md +++ b/spec/usecase/US-018-extract-fr-process-diagrams.md @@ -7,7 +7,7 @@ relationships: type: 'traces_to' --- -# [US-018] Extract FR process diagrams from child artifacts +# US-018: Extract FR process diagrams from child artifacts ## Story @@ -23,7 +23,7 @@ found. ## Acceptance Examples (Illustrative) -### [US-018-EX-1] Diagrams extracted with FR identity +### US-018-EX-1: Diagrams extracted with FR identity - **Given** a list of FR artifacts, some containing mermaid blocks - **When** scanned