Spec Studio

A pinned declaration shows the test line that cites it

spec:consumers.spec-studio.spec-page.cited-declarationExample / Scenario · storyready floor ready

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

Intent
outcome
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 specTest anchor 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.
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:139

    External run evidence from test/studio-s2.test.ts

    Test 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 380 · Branch: feature/roadmap-and-slices-v0 · Commit: 34909918bf0be0e849959644401797191cae379f · Start: 2026-10-22T17:40:31.456Z · Stop: 2026-10-22T17:42:16.171Z

    NameSuiteResultDuration
    marks every displayed file and line across the Studio page set for source linksnot recordedpassed191.23 ms
    renders citation labels consistently on Spec and declaration pagesnot recordedpassed84.44 ms
    executes the bound example against a fresh worldA pinned declaration shows the test line that cites it (spec:consumers.spec-studio.spec-page.cited-declaration)passed9.52 ms
    executes the bound example against a fresh worldEach keyed rule shows the examples that exercise it, or that none does (spec:consumers.spec-studio.verification-panels.rule-coverage)passed14.24 ms
    renders the five open panels in order, the space, bound values, absent evidence, and empty composing slotsSpec panelspassed9.37 ms
    gives keyed terms address ids, source lines, and citations while hiding termKeys metadataSpec panelspassed6.44 ms
    places resolved Pack members in stated/floor cells in authored orderSpec panelspassed26.08 ms
    keeps the maturity heading and axis explanations inside the embeddable elementSpec panelspassed24.34 ms
    distinguishes test lines from citations by files with unrelated anchorsSpec panelspassed27.53 ms
    renders composing slots beside unkeyed questions using the Spec scopeSpec panelspassed12.6 ms
    keeps the unbound-verifier sentence to graph bindings without run inputSpec panelspassed16.48 ms
    renders source locations, component links, decisions and transitive impact by distanceStructural panels and targetspassed42.86 ms
    states absence on unwritten examples and unset constraint targetsStructural panels and targetspassed20.73 ms
    labels a keyed rule's unbound example as not enabledStructural panels and targetspassed16.54 ms
    renders structure from recipe answers and reader records without exposing raw graph dataStructural panels and targetspassed18.79 ms
    renders verifying examples for a Model without Behavior and keeps short cards to their summarynot recordedpassed10.89 ms
    keeps example steps and composing actions outside a short Spec cardnot recordedpassed17.12 ms
    keeps trace and requirement description and arrow ids distinct for one Spec subjectnot recordedpassed11.12 ms
Design view

Requirement drawing

  • Satisfying or referencing units: no recorded binding.
Requirement drawing for spec:consumers.spec-studio.spec-page.cited-declaration
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
Relations of spec:consumers.spec-studio.spec-page.cited-declaration
  • 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

Rested on by

No Spec rests on this Spec.

Relations

Relation and directionOther endClaimReasonExercised keys
refines · outgoingA Spec page shows one Spec in collapsible panels, in a fixed order
spec:consumers.spec-studio.spec-page · resolves
declaredNoneNone
verifies · outgoingA Spec page shows one Spec in collapsible panels, in a fixed order
spec:consumers.spec-studio.spec-page · resolves
declaredNonecitations

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.