Spec Studio

A concept recorded only inside a Spec's sections is still reached, and the field is named

spec:consumers.reader.concept-entryExample / Scenario · storyready floor ready

Packs: pack:self-hosting-v1

Design: no design entries · no pinned declarations · no decisions

Findings: no errors, no warnings

specs/consumers/reader.sdp.gherkin

No open questions and no blocking questions; implementation binding none, verifier binding present, and expected-outcome oracle none.

Intent
outcome
Execute the string entry against the case a title-and-id lookup would miss, and read back the field the match was recorded in.
Behavior

Examples

Given a reader built over the graph a real extraction derives from the probe root
Given the concept {concept: "backorder"} appears in the corpus only inside the recorded context of {conceptSpecId: "spec:orders.order-management"}
When the reader answers the {entry: "concept"} entry
Then the reader names {matchedId: "spec:orders.order-management"} as a match on the field {matchedField: "sections.behavior"}
Then the reader names {matchCount: 1} matches in all
Verification

Verifier bindings

  • test:protocol.reader.concept-entry · the concept-entry point verifies the string bridge and the field it names · anchored · test anchor binding present · test/self-hosting-consumers.test.ts:498

    External run evidence from test/self-hosting-consumers.test.ts

    Test anchors: test:protocol.agent-surface.demand-map-entries, test:protocol.agent-surface.scripted-context-body, test:protocol.reader.changeset-entry, test:protocol.reader.concept-entry, test:protocol.reader.file-entry. Specs verified by those bindings: spec:consumers.agent-surface, spec:consumers.agent-surface.demand-map-entries, spec:consumers.agent-surface.scripted-context-body, spec:consumers.reader, spec:consumers.reader.changeset-entry, spec:consumers.reader.concept-entry, spec:consumers.reader.file-entry.

    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 scripted body returns claim-decoded context, pre-shaped by the body (spec:consumers.agent-surface.scripted-context-body)passed55.03 ms
    executes the bound example against a fresh worldOne body reaches every entry point the demand map names, and no symbol entry (spec:consumers.agent-surface.demand-map-entries)passed23.29 ms
    executes the bound example against a fresh worldA concept recorded only inside a Spec's sections is still reached, and the field is named (spec:consumers.reader.concept-entry)passed12.65 ms
    executes the bound example against a fresh worldA source file reaches the Spec its binding names, and a carrier reaches its own Spec (spec:consumers.reader.file-entry)passed11.95 ms
    executes the bound example against a fresh worldA changeset names what it reaches, why, and what it cannot see (spec:consumers.reader.changeset-entry)passed18.11 ms
Design view

Requirement drawing

  • Satisfying or referencing units: no recorded binding.
Requirement drawing for spec:consumers.reader.concept-entry
The diagram as text
  • spec:consumers.reader.concept-entry: A concept recorded only inside a Spec's sections is still reached, and the field is named · declared Spec
  • spec:consumers.reader: The reader bridges agent entry points to composable graph context · declared Spec
  • test:protocol.reader.concept-entry: the concept-entry point verifies the string bridge and the field it names · anchored test binding · binding present · test/self-hosting-consumers.test.ts:498
  • spec:consumers.reader.concept-entry refines spec:consumers.reader · declared
  • spec:consumers.reader.concept-entry verifies spec:consumers.reader · declared
  • test:protocol.reader.concept-entry verifies spec:consumers.reader.concept-entry · 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.reader.concept-entry
  • E2: verifies · declared
The diagram as text
  • spec:consumers.reader: The reader bridges agent entry points to composable graph context
  • spec:consumers.reader.concept-entry: A concept recorded only inside a Spec's sections is still reached, and the field is named
  • spec:consumers.reader.concept-entry refines spec:consumers.reader · declared
  • spec:consumers.reader.concept-entry verifies spec:consumers.reader · 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 reader bridges agent entry points to composable graph context
spec:consumers.reader · resolves
declaredNoneNone
verifies · outgoingThe reader bridges agent entry points to composable graph context
spec:consumers.reader · resolves
declaredNoneconceptEntry

Bindings

Implementation binding: none

Design reference: none

Verifier binding: present

  • test:protocol.reader.concept-entry · the concept-entry point verifies the string bridge and the field it names · anchored · test/self-hosting-consumers.test.ts:498 · 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.