outcomeA pinned declaration shows the test line that cites it
spec:consumers.spec-studio.spec-page.cited-declarationPacks: pack:self-hosting-v1, pack:spec-studio-v1
Design: no design entries · no pinned declarations · no decisions
Findings: no errors, no warnings
specs/consumers/spec-studio.spec-page.cited-declaration.sdp.md
No open questions and no blocking questions; implementation binding none, verifier binding present, and expected-outcome oracle none.
Given
a Spec with two pinned declarations, the first of which an anchored test file {file: "test/orders.test.ts"} cites at line {line: 12}When
the build renders the Spec's page
Then
beside the first declaration the page lists {cited: "test/orders.test.ts:12"}
beside the second declaration the page reads {uncited: "no citation recorded"}Composing needs the script.
Intent
- Execute the citations beside pinned declarations: a cited declaration lists its citing file and line, and an uncited one says so.
assumptions- The world writes a root with one Spec whose Design section holds two keyed entries, each opening with a code span, and a test file that holds a
specTestanchor and writes the first entry's address on its twelfth line, in the form the extractor records as a citation; it builds the page set and reads the Spec page under each declaration.
- The world writes a root with one Spec whose Design section holds two keyed entries, each opening with a code span, and a test file that holds a
Behavior
Examples
Given a Spec with two pinned declarations, the first of which an anchored test file {file: "test/orders.test.ts"} cites at line {line: 12}
When the build renders the Spec's page
Then beside the first declaration the page lists {cited: "test/orders.test.ts:12"}
Then beside the second declaration the page reads {uncited: "no citation recorded"}Verification
Verifier bindings
- test:protocol.studio-cited-declaration · anchored · test anchor binding present ·
test/studio-s2.test.ts:139External run evidence from
test/studio-s2.test.tsTest anchors:
test:protocol.studio-cited-declaration,test:protocol.studio-panels,test:protocol.studio-rule-coverage. Specs verified by those bindings: spec:consumers.spec-studio.pack-page.maturity-map, spec:consumers.spec-studio.spec-page, spec:consumers.spec-studio.spec-page.cited-declaration, spec:consumers.spec-studio.verification-panels, spec:consumers.spec-studio.verification-panels.rule-coverage.Run 1: external run evidence from vitest 4.1.10
Build: CI 391 · Branch: cursor/media-plan-and-articles-09b1 · Commit: 076cd4f1f85640d8236e5cca1bffffa68ab79a33 · Start: 2026-10-31T15:32:20.471Z · Stop: 2026-10-31T15:34:02.073Z
Name Suite Result Duration marks every displayed file and line across the Studio page set for source links not recorded passed 109.94 ms renders citation labels consistently on Spec and declaration pages not recorded passed 39.55 ms executes the bound example against a fresh world A pinned declaration shows the test line that cites it (spec:consumers.spec-studio.spec-page.cited-declaration) passed 12.75 ms executes the bound example against a fresh world Each keyed rule shows the examples that exercise it, or that none does (spec:consumers.spec-studio.verification-panels.rule-coverage) passed 16.15 ms renders the five open panels in order, the space, bound values, absent evidence, and empty composing slots Spec panels passed 14.06 ms gives keyed terms address ids, source lines, and citations while hiding termKeys metadata Spec panels passed 15.16 ms places resolved Pack members in stated/floor cells in authored order Spec panels passed 22.35 ms keeps the maturity heading and axis explanations inside the embeddable element Spec panels passed 20.36 ms distinguishes test lines from citations by files with unrelated anchors Spec panels passed 21.31 ms renders composing slots beside unkeyed questions using the Spec scope Spec panels passed 14.33 ms keeps the unbound-verifier sentence to graph bindings without run input Spec panels passed 19.45 ms renders source locations, component links, decisions and transitive impact by distance Structural panels and targets passed 30.62 ms states absence on unwritten examples and unset constraint targets Structural panels and targets passed 22.85 ms labels a keyed rule's unbound example as not enabled Structural panels and targets passed 10.05 ms renders structure from recipe answers and reader records without exposing raw graph data Structural panels and targets passed 19.72 ms renders verifying examples for a Model without Behavior and keeps short cards to their summary not recorded passed 10.67 ms keeps example steps and composing actions outside a short Spec card not recorded passed 18.09 ms keeps trace and requirement description and arrow ids distinct for one Spec subject not recorded passed 15.14 ms
Design view
Requirement drawing
- Satisfying or referencing units: no recorded binding.
The diagram as text
- spec:consumers.spec-studio.spec-page.cited-declaration: A pinned declaration shows the test line that cites it · declared Spec
- spec:consumers.spec-studio.spec-page: A Spec page shows one Spec in collapsible panels, in a fixed order · declared Spec
- test:protocol.studio-cited-declaration: test:protocol.studio-cited-declaration · anchored test binding · binding present ·
test/studio-s2.test.ts:139 - spec:consumers.spec-studio.spec-page.cited-declaration refines spec:consumers.spec-studio.spec-page · declared
- spec:consumers.spec-studio.spec-page.cited-declaration verifies spec:consumers.spec-studio.spec-page · declared
- test:protocol.studio-cited-declaration verifies spec:consumers.spec-studio.spec-page.cited-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:consumers.spec-studio.spec-page: A Spec page shows one Spec in collapsible panels, in a fixed order
- spec:consumers.spec-studio.spec-page.cited-declaration: A pinned declaration shows the test line that cites it
- spec:consumers.spec-studio.spec-page.cited-declaration refines spec:consumers.spec-studio.spec-page · declared
- spec:consumers.spec-studio.spec-page.cited-declaration verifies spec:consumers.spec-studio.spec-page · 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:consumers.spec-studio.spec-page · 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 | A Spec page shows one Spec in collapsible panels, in a fixed orderspec:consumers.spec-studio.spec-page · resolves | declared | None | None |
| verifies · outgoing | A Spec page shows one Spec in collapsible panels, in a fixed orderspec:consumers.spec-studio.spec-page · resolves | declared | None | citations |
Bindings
Implementation binding: none
Design reference: none
Verifier binding: present
- test:protocol.studio-cited-declaration · anchored ·
test/studio-s2.test.ts:139· 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.