outcomeA test title in an anchored file cites a pinned declaration
spec:extraction.entry-citations.test-title-cites-declarationPacks: pack:adopter-speed-v1, pack:self-hosting-v1
Design: no design entries · no pinned declarations · no decisions
Findings: no errors, no warnings
specs/extraction/entry-citations.test-title-cites-declaration.sdp.md
No open questions and no blocking questions; implementation binding none, verifier binding present, and expected-outcome oracle none.
Given
a probe corpus whose Spec pins the declaration {declaration: "spec:probe.one#design.typeOne"}
a source file that {anchored: "carries a test anchor verifying the Spec"} and names the address {address: "spec:probe.one#design.typeOne"} on line {line: 9}When
the graph is derived
Then
the Spec context lists {citations: 1} entry citations
the citation {recorded: "resolves"}
the citing line reads as a test line: {testLine: true}
the shipped entry-citations file named as a rules file exits {exitCode: 0}Composing needs the script.
Intent
- Execute the citation record on a test file that carries a test anchor and names a pinned declaration's address as a test title.
assumptions- The world writes a probe corpus of one story-altitude behavior Spec stating
ideawith an Intent outcome and one Design entry,typeOne, whose value opens with the code spantype One = string. It writes a test file that carries a constant-form test anchor verifying that Spec and, on the line the step names, callstestwith the address as its title. It derives the graph, reads the Spec context's entry citations, the row'sresolvesand whether itstestAnchorsnames the file's anchor, then runssdp validateon the probe root withdist/recipes/51-entry-citations.jsnamed by--rules.
- The world writes a probe corpus of one story-altitude behavior Spec stating
Behavior
Examples
Given a probe corpus whose Spec pins the declaration {declaration: "spec:probe.one#design.typeOne"}
Given a source file that {anchored: "carries a test anchor verifying the Spec"} and names the address {address: "spec:probe.one#design.typeOne"} on line {line: 9}
When the graph is derived
Then the Spec context lists {citations: 1} entry citations
Then the citation {recorded: "resolves"}
Then the citing line reads as a test line: {testLine: true}
Then the shipped entry-citations file named as a rules file exits {exitCode: 0}Verification
Verifier bindings
- test:protocol.entry-citations.test-title-cites-declaration · anchored · test anchor binding present ·
test/entry-citations.test.ts:191External run evidence from
test/entry-citations.test.tsTest anchors:
test:protocol.entry-citations.code-comment-cites-declaration,test:protocol.entry-citations.test-title-cites-declaration,test:protocol.entry-citations.unanchored-file-unread,test:protocol.entry-citations.unresolved-citation. Specs verified by those bindings: spec:extraction.entry-citations, spec:extraction.entry-citations.code-comment-cites-declaration, spec:extraction.entry-citations.test-title-cites-declaration, spec:extraction.entry-citations.unanchored-file-unread, spec:extraction.entry-citations.unresolved-citation.Run 1: external run evidence from vitest 4.1.10
Build: CI 380 · Branch: feature/roadmap-and-slices-v0 · Commit: 34909918bf0be0e849959644401797191cae379f · Start: 2026-10-22T17:40:31.456Z · Stop: 2026-10-22T17:42:16.171Z
Name Suite Result Duration executes the bound example against a fresh world A test title in an anchored file cites a pinned declaration (spec:extraction.entry-citations.test-title-cites-declaration) passed 541.08 ms executes the bound example against a fresh world A code file's comment cites a declaration without reading as a test line (spec:extraction.entry-citations.code-comment-cites-declaration) passed 465.27 ms executes the bound example against a fresh world A file that carries no anchor is not read for citations (spec:extraction.entry-citations.unanchored-file-unread) passed 445.6 ms executes the bound example against a fresh world A citation of an entry its Spec lacks reports through the recipe, never as a Protocol finding (spec:extraction.entry-citations.unresolved-citation) passed 457.36 ms scans comments, strings and templates, deduplicates a line and keeps code-unit order entry citation extraction and reader passed 28.19 ms records no citation for a token continued by interpolation, even when its prefix parses entry citation extraction and reader passed 463.69 ms keeps a literal malformed token beside an interpolated token on the same line entry citation extraction and reader passed 0.39 ms keeps a malformed literal before a separate template interpolation entry citation extraction and reader passed 4.86 ms records no citation for a prefix with trailing punctuation before interpolation entry citation extraction and reader passed 0.32 ms does not report a computed order key as an unresolved citation in recipe 51 entry citation extraction and reader passed 473.68 ms recipe 51 locates a citation of the second keyed question entry citation extraction and reader passed 8.14 ms ends citation tokens at source escapes before checking for an address entry citation extraction and reader passed 4.29 ms sorts in-memory citations by address on a shared source line entry citation extraction and reader passed 3.29 ms sorts reader citations by address before file and line entry citation extraction and reader passed 3.62 ms rejects a crashed rules file even when its exit code matches the example entry citation extraction and reader passed 455.33 ms counts Unicode source line separators as TypeScript does entry citation extraction and reader passed 3.74 ms reads a file carrying only an identity anchor, and ignores carriers and unanchored sources entry citation extraction and reader passed 2.42 ms includes only tests in the citing file that verify directly or through an example entry citation extraction and reader passed 5.56 ms reads a newly shared term address through termKeys even without location rows entry citation extraction and reader passed 3.06 ms does not treat future address sections as Model terms entry citation extraction and reader passed 2.6 ms resolves UI, rules, flows and questions without depending on entry locations entry citation extraction and reader passed 3.18 ms
Design view
Requirement drawing
- Satisfying or referencing units: no recorded binding.
The diagram as text
- spec:extraction.entry-citations.test-title-cites-declaration: A test title in an anchored file cites a pinned declaration · declared Spec
- spec:extraction.entry-citations: The graph records where anchored source cites an entry address · declared Spec
- test:protocol.entry-citations.test-title-cites-declaration: test:protocol.entry-citations.test-title-cites-declaration · anchored test binding · binding present ·
test/entry-citations.test.ts:191 - spec:extraction.entry-citations.test-title-cites-declaration refines spec:extraction.entry-citations · declared
- spec:extraction.entry-citations.test-title-cites-declaration verifies spec:extraction.entry-citations · declared
- test:protocol.entry-citations.test-title-cites-declaration verifies spec:extraction.entry-citations.test-title-cites-declaration · anchored
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.
Decisions
No decision record named.
Runtime
No implementation neighborhood recorded.
Runtime observation: not tracked.
Evidence
Runtime observation: not tracked.
Build attestations: not tracked.
Deployments: not tracked.
Bills of materials: not tracked.
Impact
- E2: verifies · declared
The diagram as text
- spec:extraction.entry-citations: The graph records where anchored source cites an entry address
- spec:extraction.entry-citations.test-title-cites-declaration: A test title in an anchored file cites a pinned declaration
- spec:extraction.entry-citations.test-title-cites-declaration refines spec:extraction.entry-citations · declared
- spec:extraction.entry-citations.test-title-cites-declaration verifies spec:extraction.entry-citations · declared
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
Rests on
- refines · spec:extraction.entry-citations · stated ready, floor ready
Rested on by
No Spec rests on this Spec.
Relations
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| refines · outgoing | The graph records where anchored source cites an entry addressspec:extraction.entry-citations · resolves | declared | None | None |
| verifies · outgoing | The graph records where anchored source cites an entry addressspec:extraction.entry-citations · resolves | declared | None | anchoredFilesOnly, citationToken, citationRow, readerRows, declarationLines |
Bindings
Implementation binding: none
Design reference: none
Verifier binding: present
- test:protocol.entry-citations.test-title-cites-declaration · anchored ·
test/entry-citations.test.ts:191· test anchor
Expected-outcome oracle: none
Runtime observation: not tracked.
Run results: not recorded in the graph.
Findings
None.
Composing (0)
Composing needs the script.