outcomeA file that carries no anchor is not read for citations
spec:extraction.entry-citations.unanchored-file-unreadPacks: 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.unanchored-file-unread.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 no anchor"} 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: 0} entry citations
the citation {recorded: "is not recorded"}Composing needs the script.
Intent
- Execute the anchored-file rule on a test file with no anchor that names a pinned declaration's address.
assumptions- The world writes the probe corpus of the test-title example and the same test file without its test anchor, derives the graph and reads the Spec context's entry citations.
Behavior
Examples
Given a probe corpus whose Spec pins the declaration {declaration: "spec:probe.one#design.typeOne"}
Given a source file that {anchored: "carries no anchor"} 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: 0} entry citations
Then the citation {recorded: "is not recorded"}Verification
Verifier bindings
- test:protocol.entry-citations.unanchored-file-unread · anchored · test anchor binding present ·
test/entry-citations.test.ts:201External 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.unanchored-file-unread: A file that carries no anchor is not read for citations · declared Spec
- spec:extraction.entry-citations: The graph records where anchored source cites an entry address · declared Spec
- test:protocol.entry-citations.unanchored-file-unread: test:protocol.entry-citations.unanchored-file-unread · anchored test binding · binding present ·
test/entry-citations.test.ts:201 - spec:extraction.entry-citations.unanchored-file-unread refines spec:extraction.entry-citations · declared
- spec:extraction.entry-citations.unanchored-file-unread verifies spec:extraction.entry-citations · declared
- test:protocol.entry-citations.unanchored-file-unread verifies spec:extraction.entry-citations.unanchored-file-unread · 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.unanchored-file-unread: A file that carries no anchor is not read for citations
- spec:extraction.entry-citations.unanchored-file-unread refines spec:extraction.entry-citations · declared
- spec:extraction.entry-citations.unanchored-file-unread 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 |
Bindings
Implementation binding: none
Design reference: none
Verifier binding: present
- test:protocol.entry-citations.unanchored-file-unread · anchored ·
test/entry-citations.test.ts:201· 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.