Spec Studio

A file that carries no anchor is not read for citations

spec:extraction.entry-citations.unanchored-file-unreadExample / Scenario · storyready floor ready

Packs: 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.

Intent
outcome
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:201

    External run evidence from test/entry-citations.test.ts

    Test 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

    NameSuiteResultDuration
    executes the bound example against a fresh worldA test title in an anchored file cites a pinned declaration (spec:extraction.entry-citations.test-title-cites-declaration)passed541.08 ms
    executes the bound example against a fresh worldA code file's comment cites a declaration without reading as a test line (spec:extraction.entry-citations.code-comment-cites-declaration)passed465.27 ms
    executes the bound example against a fresh worldA file that carries no anchor is not read for citations (spec:extraction.entry-citations.unanchored-file-unread)passed445.6 ms
    executes the bound example against a fresh worldA citation of an entry its Spec lacks reports through the recipe, never as a Protocol finding (spec:extraction.entry-citations.unresolved-citation)passed457.36 ms
    scans comments, strings and templates, deduplicates a line and keeps code-unit orderentry citation extraction and readerpassed28.19 ms
    records no citation for a token continued by interpolation, even when its prefix parsesentry citation extraction and readerpassed463.69 ms
    keeps a literal malformed token beside an interpolated token on the same lineentry citation extraction and readerpassed0.39 ms
    keeps a malformed literal before a separate template interpolationentry citation extraction and readerpassed4.86 ms
    records no citation for a prefix with trailing punctuation before interpolationentry citation extraction and readerpassed0.32 ms
    does not report a computed order key as an unresolved citation in recipe 51entry citation extraction and readerpassed473.68 ms
    recipe 51 locates a citation of the second keyed questionentry citation extraction and readerpassed8.14 ms
    ends citation tokens at source escapes before checking for an addressentry citation extraction and readerpassed4.29 ms
    sorts in-memory citations by address on a shared source lineentry citation extraction and readerpassed3.29 ms
    sorts reader citations by address before file and lineentry citation extraction and readerpassed3.62 ms
    rejects a crashed rules file even when its exit code matches the exampleentry citation extraction and readerpassed455.33 ms
    counts Unicode source line separators as TypeScript doesentry citation extraction and readerpassed3.74 ms
    reads a file carrying only an identity anchor, and ignores carriers and unanchored sourcesentry citation extraction and readerpassed2.42 ms
    includes only tests in the citing file that verify directly or through an exampleentry citation extraction and readerpassed5.56 ms
    reads a newly shared term address through termKeys even without location rowsentry citation extraction and readerpassed3.06 ms
    does not treat future address sections as Model termsentry citation extraction and readerpassed2.6 ms
    resolves UI, rules, flows and questions without depending on entry locationsentry citation extraction and readerpassed3.18 ms
Design view

Requirement drawing

  • Satisfying or referencing units: no recorded binding.
Requirement drawing for spec:extraction.entry-citations.unanchored-file-unread
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
Relations of spec:extraction.entry-citations.unanchored-file-unread
  • 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

Rested on by

No Spec rests on this Spec.

Relations

Relation and directionOther endClaimReasonExercised keys
refines · outgoingThe graph records where anchored source cites an entry address
spec:extraction.entry-citations · resolves
declaredNoneNone
verifies · outgoingThe graph records where anchored source cites an entry address
spec:extraction.entry-citations · resolves
declaredNoneanchoredFilesOnly

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.