outcomeFive lenses read the graph as Packs, capabilities, architecture, tests and evidence
spec:consumers.spec-studio.lensesPacks: pack:self-hosting-v1, pack:spec-studio-v1
Design: 1 design entry · no pinned declarations · no decisions
Findings: no errors, no warnings
specs/consumers/spec-studio.lenses.sdp.md
No open questions and no blocking questions; implementation binding present, verifier binding present, and expected-outcome oracle none.
Each lens is a page with a Spec of its own, so each builds on the graph it reads today: the Packs, capabilities, architecture and tests lenses read what the graph records, and the evidence lens reads not tracked until the graph records an observation. This Spec keeps what the five share.
Intent
- Let a person see the graph five ways, by Pack, by capability, by architecture, by verification and by evidence, from one top navigation.
Behavior
rule.orderline 18 ·specs/consumers/spec-studio.lenses.sdp.md:18- The lenses are pages of the page set, reached from the top navigation in the order Packs, capabilities, architecture, tests, evidence; the index page is the Packs lens and the default landing page.
no example exercises it
rule.lensValuesline 19 ·specs/consumers/spec-studio.lenses.sdp.md:19- A lens renders reader values and the recipe answers its own Spec names, and computes none of them in the page.
no example exercises it
rule.readOnlyline 20 ·specs/consumers/spec-studio.lenses.sdp.md:20- A lens writes nothing and states nothing: it lists, groups, draws and links, and a change a person wants from it leaves through the composing panel as scoped intent.
no example exercises it
0 unkeyed rules.
UI
lensPagesline 23 ·specs/consumers/spec-studio.lenses.sdp.md:23index.htmlfor the Packs lens,capabilities.htmlfor the capabilities lens,architecture.html,tests.htmlandevidence.html, each opening with its name and one sentence saying what it reads.
Verification
Verifier bindings
- test:protocol.studio-lenses · anchored · test anchor binding present ·
test/studio-s1.test.ts:273External run evidence from
test/studio-s1.test.tsTest anchors:
test:protocol.studio-architecture-planned-apart,test:protocol.studio-coverage-literal,test:protocol.studio-coverage-number,test:protocol.studio-diagram-folds-context,test:protocol.studio-diagram-folds-layer,test:protocol.studio-diagram-within-bound,test:protocol.studio-lenses,test:protocol.studio-tests-coverage-row. Specs verified by those bindings: spec:consumers.agent-surface.example-space-coverage, spec:consumers.agent-surface.example-space-coverage.number-not-enumerable, spec:consumers.agent-surface.example-space-coverage.uncovered-literal, spec:consumers.spec-studio.data.recipe-answers, spec:consumers.spec-studio.diagrams, spec:consumers.spec-studio.diagrams.folds-by-context, spec:consumers.spec-studio.diagrams.folds-by-layer, spec:consumers.spec-studio.diagrams.within-bound, spec:consumers.spec-studio.lenses, spec:consumers.spec-studio.lenses.architecture, spec:consumers.spec-studio.lenses.architecture.planned-apart, spec:consumers.spec-studio.lenses.evidence, spec:consumers.spec-studio.lenses.packs, spec:consumers.spec-studio.lenses.tests, spec:consumers.spec-studio.lenses.tests.coverage-row.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 bounds and folds 12 components Studio diagrams passed 30.61 ms bounds and folds 45 components Studio diagrams passed 7.71 ms bounds and folds 50 components Studio diagrams passed 18.03 ms keeps every edge in an open text fallback Studio diagrams passed 2.56 ms orders grid contexts and layers and wraps cells within the fixed width budget Studio diagrams passed 4.7 ms draws planned-use edges dashed independently of planned box outlines Studio diagrams passed 0.78 ms checks the edge bound even when boxes fit Studio diagrams passed 0.69 ms places folded contexts and layers in their own bands below the grid Studio diagrams passed 4.25 ms places outgoing relation bands above the subject and folds ties in relation order Studio diagrams passed 10.09 ms folds trace relation groups and leaves member overflow as text Studio diagrams passed 3.04 ms keeps recipe and diagram edges in code-unit order under forced Czech collation Studio lenses passed 129.74 ms publishes all five ordered lenses and honest evidence without script Studio lenses passed 41.5 ms reads verifier binding from the delivery fact and gives absent coverage its own filter value Studio lenses passed 17.84 ms labels a primitive-only space with no examples not measurable and hides it under covered Studio lenses passed 27.26 ms classifies 'number' with points [ '1' ] and mixed=false as 'not-measurable' Studio lenses passed 17.82 ms classifies 'string' with points [ '"a"' ] and mixed=false as 'not-measurable' Studio lenses passed 11.69 ms classifies 'boolean' with points [ 'true' ] and mixed=false as 'not-measurable' Studio lenses passed 13.27 ms classifies '"a"|"b"' with points [] and mixed=false as 'uncovered' Studio lenses passed 6.82 ms classifies '"a"|"b"' with points [ '"a"' ] and mixed=false as 'uncovered' Studio lenses passed 7.04 ms classifies '"a"|"b"' with points [ '"a"', '"b"' ] and mixed=false as 'covered' Studio lenses passed 20.44 ms classifies '"a"|"b"' with points [ '"a"' ] and mixed=true as 'uncovered' Studio lenses passed 19.79 ms classifies '"a"|"b"' with points [ '"a"', '"b"' ] and mixed=true as 'covered' Studio lenses passed 23.06 ms renders member subjects, code spans, used-by counts, differences and empty components Studio lenses passed 16.1 ms describes evidence sources as not tracked Studio lenses passed 2.69 ms executes the bound example against a fresh world An architecture within the bound draws in one diagram, the same bytes twice (spec:consumers.spec-studio.diagrams.within-bound) passed 18.43 ms executes the bound example against a fresh world An architecture over the bound folds by context (spec:consumers.spec-studio.diagrams.folds-by-context) passed 11.36 ms executes the bound example against a fresh world One context over the bound folds by layer (spec:consumers.spec-studio.diagrams.folds-by-layer) passed 11.28 ms executes the bound example against a fresh world A component design no anchor realizes draws planned beside the built one (spec:consumers.spec-studio.lenses.architecture.planned-apart) passed 21.54 ms executes the bound example against a fresh world A Spec's row on the tests lens counts its exercised keyed rules (spec:consumers.spec-studio.lenses.tests.coverage-row) passed 20.54 ms executes the bound example against a fresh world A literal no example binds is reported uncovered, and an unbound child is named (spec:consumers.agent-surface.example-space-coverage.uncovered-literal) passed 5.25 ms executes the bound example against a fresh world A number slot is not enumerable and reports no uncovered value (spec:consumers.agent-surface.example-space-coverage.number-not-enumerable) passed 3.13 ms reuses the build's reader and validation findings during Studio recipe evaluation not recorded passed 3.65 ms documents the component and member fields recipe 17 adds not recorded passed 1.47 ms evaluates each shipped recipe once for its assigned parameters and shares Pack totals, with base false not recorded passed 18.31 ms evaluates each shipped recipe once for its assigned parameters and shares Pack totals, with base true not recorded passed 15.91 ms keeps label lines bounded and orders member depths numerically with outside units last not recorded passed 1.76 ms labels planned uses, reports unreadable designs and keeps unknown structure visible not recorded passed 9.16 ms gives unstated context and layer folds addressable text descriptions not recorded passed 1.11 ms names a single edge relation once in the legend and preserves its text equivalent not recorded passed 1.76 ms names solid and planned uses once without repeating edge labels not recorded passed 0.58 ms
Design view
Requirement drawing
The diagram as text
- spec:consumers.spec-studio.lenses: Five lenses read the graph as Packs, capabilities, architecture, tests and evidence · declared Spec
- spec:consumers.spec-studio.capability-map-page: The capability map page makes refinement readable by epic · declared Spec
- spec:consumers.spec-studio.lenses.architecture: The architecture lens draws components by context and layer, the planned beside the built · declared Spec
- spec:consumers.spec-studio.lenses.evidence: The evidence lens names each source of runtime evidence and reads it as not tracked · declared Spec
- spec:consumers.spec-studio.lenses.packs: The Packs lens groups every Spec by the Packs that hold it · declared Spec
- spec:consumers.spec-studio.lenses.tests: The tests lens shows how far each Spec's verification reaches · declared Spec
- spec:consumers.spec-studio.lenses.architecture.planned-apart: A component design no anchor realizes draws planned beside the built one · declared Spec
- spec:consumers.spec-studio.lenses.tests.coverage-row: A Spec's row on the tests lens counts its exercised keyed rules · declared Spec
- spec:consumers.capability-map: The capability map reads every epic and its refinement descendants · declared Spec
- spec:consumers.spec-studio.index-page: The index says where the corpus stands and narrows every Spec · declared Spec
- spec:consumers.spec-studio: The Spec Studio is a static HTML workbench over the one graph · declared Spec
- spec:consumers.spec-studio.lenses.architecture.unit-register: The architecture page lists each component's significant units by role · declared Spec
- impl:protocol.studio-architecture-lens: renders recipe component rows and planned designs as architecture and member diagrams · anchored code ·
src/projections/studio/pages/architecture-page.ts:50 - impl:protocol.studio-capabilities-page: renders epic evidence, refinement and unreached Specs from the capability map · anchored code ·
src/projections/studio/pages/capabilities-page.ts:78 - impl:protocol.studio-evidence-lens: names the four evidence sources and what would bring each into the Studio · anchored code ·
src/projections/studio/pages/evidence-page.ts:3 - impl:protocol.studio-filter: filters build-rendered rows through their recorded attributes · anchored code ·
src/studio-elements/filter.ts:25 - impl:protocol.studio-frame: renders Studio navigation, page rails and composing controls · anchored code ·
src/projections/studio/pages/frame.ts:6 - impl:protocol.studio-index-page: renders Pack disclosures and filterable Spec rows · anchored code ·
src/projections/studio/pages/index-page.ts:8 - impl:protocol.studio-tests-lens: renders shared rule and example-space coverage with filters and verifier bindings · anchored code ·
src/projections/studio/pages/tests-page.ts:34 - oracle:protocol.studio-architecture: oracle:protocol.studio-architecture · anchored oracle binding ·
test/studio-s1.test.ts:707 - oracle:protocol.studio-tests: oracle:protocol.studio-tests · anchored oracle binding ·
test/studio-s1.test.ts:760 - test:protocol.studio-architecture-maturity-requirement: test:protocol.studio-architecture-maturity-requirement · anchored test binding · binding present ·
test/studio-panels.test.ts:35 - test:protocol.studio-architecture-planned-apart: test:protocol.studio-architecture-planned-apart · anchored test binding · binding present ·
test/studio-s1.test.ts:716 - test:protocol.studio-capabilities: test:protocol.studio-capabilities · anchored test binding · binding present ·
test/studio-capabilities.test.ts:89 - test:protocol.studio-lenses: test:protocol.studio-lenses · anchored test binding · binding present ·
test/studio-s1.test.ts:273 - test:protocol.studio-tests-coverage-row: test:protocol.studio-tests-coverage-row · anchored test binding · binding present ·
test/studio-s1.test.ts:769 - spec:consumers.spec-studio.capability-map-page refines spec:consumers.capability-map · declared — the page is the capability map's reading for a person
- spec:consumers.spec-studio.capability-map-page refines spec:consumers.spec-studio.lenses · declared — the Capabilities page is a lens that reads refinement
- spec:consumers.spec-studio.index-page refines spec:consumers.spec-studio.lenses.packs · declared — the index is the Packs lens and where a person lands
- spec:consumers.spec-studio.lenses refines spec:consumers.spec-studio · declared
- spec:consumers.spec-studio.lenses.architecture refines spec:consumers.spec-studio.lenses · declared
- spec:consumers.spec-studio.lenses.architecture.planned-apart refines spec:consumers.spec-studio.lenses.architecture · declared
- spec:consumers.spec-studio.lenses.architecture.planned-apart verifies spec:consumers.spec-studio.lenses.architecture · declared
- spec:consumers.spec-studio.lenses.architecture.unit-register refines spec:consumers.spec-studio.lenses.architecture · declared
- spec:consumers.spec-studio.lenses.evidence refines spec:consumers.spec-studio.lenses · declared
- spec:consumers.spec-studio.lenses.packs refines spec:consumers.spec-studio.lenses · declared
- spec:consumers.spec-studio.lenses.tests refines spec:consumers.spec-studio.lenses · declared
- spec:consumers.spec-studio.lenses.tests.coverage-row refines spec:consumers.spec-studio.lenses.tests · declared
- spec:consumers.spec-studio.lenses.tests.coverage-row verifies spec:consumers.spec-studio.lenses.tests · declared
- impl:protocol.studio-architecture-lens satisfies spec:consumers.spec-studio.lenses.architecture · anchored
- impl:protocol.studio-architecture-lens satisfies spec:consumers.spec-studio.lenses · anchored
- impl:protocol.studio-capabilities-page satisfies spec:consumers.spec-studio.capability-map-page · anchored
- impl:protocol.studio-evidence-lens satisfies spec:consumers.spec-studio.lenses.evidence · anchored
- impl:protocol.studio-evidence-lens satisfies spec:consumers.spec-studio.lenses · anchored
- impl:protocol.studio-filter satisfies spec:consumers.spec-studio.capability-map-page · anchored
- impl:protocol.studio-frame satisfies spec:consumers.spec-studio.lenses · anchored
- impl:protocol.studio-frame satisfies spec:consumers.spec-studio.capability-map-page · anchored
- impl:protocol.studio-index-page satisfies spec:consumers.spec-studio.lenses.packs · anchored
- impl:protocol.studio-index-page satisfies spec:consumers.spec-studio.capability-map-page · anchored
- impl:protocol.studio-tests-lens satisfies spec:consumers.spec-studio.lenses.tests · anchored
- impl:protocol.studio-tests-lens satisfies spec:consumers.spec-studio.lenses · anchored
- oracle:protocol.studio-architecture models spec:consumers.spec-studio.lenses.architecture · anchored
- oracle:protocol.studio-tests models spec:consumers.spec-studio.lenses.tests · anchored
- test:protocol.studio-architecture-maturity-requirement verifies spec:consumers.spec-studio.lenses.architecture · anchored
- test:protocol.studio-architecture-planned-apart verifies spec:consumers.spec-studio.lenses.architecture.planned-apart · anchored
- test:protocol.studio-capabilities verifies spec:consumers.spec-studio.capability-map-page · anchored
- test:protocol.studio-lenses verifies spec:consumers.spec-studio.lenses · anchored
- test:protocol.studio-lenses verifies spec:consumers.spec-studio.lenses.packs · anchored
- test:protocol.studio-lenses verifies spec:consumers.spec-studio.lenses.evidence · anchored
- test:protocol.studio-tests-coverage-row verifies spec:consumers.spec-studio.lenses.tests.coverage-row · anchored
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: requirementDiagram. Chosen syntax: flowchart TB because models, folds require exact labels unavailable in requirement syntax.
Decisions
No decision record named.
Runtime
component:protocol.projections· read-only output, layout and owned publication ·src/projections/design-review.ts:29· layer edge · context protocol Uses
component:protocol.extract· the carrier and source pipeline ·src/extract/index.ts:192· layer application · context protocol component:protocol.graph· the one graph and its semantic decisions ·src/graph/schema.ts:34· layer domain · context protocol component:protocol.model· the authored contracts and stable ids ·src/model/anchors.ts:100· layer domain · context protocol component:protocol.notation· the leaf step codec ·src/notation/slots.ts:261· layer domain · context protocol component:protocol.reader· the typed graph contract and body evaluator ·src/reader/reader.ts:671· layer application · context protocol component:protocol.validate· one finding currency and ordered checks ·src/validate/validators.ts:72· layer domain · context protocol
impl:protocol.studio-architecture-lens· renders recipe component rows and planned designs as architecture and member diagrams ·src/projections/studio/pages/architecture-page.ts:50Component:
component:protocol.projections· read-only output, layout and owned publication ·src/projections/design-review.ts:29· layer edge · context protocol Uses
None.
impl:protocol.studio-evidence-lens· names the four evidence sources and what would bring each into the Studio ·src/projections/studio/pages/evidence-page.ts:3Component:
component:protocol.projections· read-only output, layout and owned publication ·src/projections/design-review.ts:29· layer edge · context protocol Uses
None.
impl:protocol.studio-frame· renders Studio navigation, page rails and composing controls ·src/projections/studio/pages/frame.ts:6Component:
component:protocol.projections· read-only output, layout and owned publication ·src/projections/design-review.ts:29· layer edge · context protocol Uses
None.
impl:protocol.studio-tests-lens· renders shared rule and example-space coverage with filters and verifier bindings ·src/projections/studio/pages/tests-page.ts:34Component:
component:protocol.projections· read-only output, layout and owned publication ·src/projections/design-review.ts:29· layer edge · context protocol Uses
None.
Runtime observation: not tracked.
Evidence
Runtime observation: not tracked.
Build attestations: not tracked.
Deployments: not tracked.
Bills of materials: not tracked.
Impact
The diagram as text
- spec:consumers.spec-studio: The Spec Studio is a static HTML workbench over the one graph
- spec:consumers.spec-studio.capability-map-page: The capability map page makes refinement readable by epic
- spec:consumers.spec-studio.data: The Studio renders from the reader's values and embeds only what its script reads
- spec:consumers.spec-studio.lenses: Five lenses read the graph as Packs, capabilities, architecture, tests and evidence
- spec:consumers.spec-studio.lenses.architecture: The architecture lens draws components by context and layer, the planned beside the built
- spec:consumers.spec-studio.lenses.evidence: The evidence lens names each source of runtime evidence and reads it as not tracked
- spec:consumers.spec-studio.lenses.packs: The Packs lens groups every Spec by the Packs that hold it
- spec:consumers.spec-studio.lenses.tests: The tests lens shows how far each Spec's verification reaches
- spec:consumers.spec-studio.navigation: Every page of the page set is reached from the top navigation and the index
- spec:consumers.spec-studio.shell: The Studio's shell frames every page with navigation, a rail and a canvas
- spec:consumers.spec-studio.lenses dependsOn spec:consumers.spec-studio.data · declared
- spec:consumers.spec-studio.lenses refines spec:consumers.spec-studio · declared
- spec:consumers.spec-studio.navigation dependsOn spec:consumers.spec-studio.lenses · declared — the lens entries keep the order the lenses take
- spec:consumers.spec-studio.shell dependsOn spec:consumers.spec-studio.lenses · declared — the top navigation opens each lens
- spec:consumers.spec-studio.capability-map-page refines spec:consumers.spec-studio.lenses · declared — the Capabilities page is a lens that reads refinement
- spec:consumers.spec-studio.lenses.architecture refines spec:consumers.spec-studio.lenses · declared
- spec:consumers.spec-studio.lenses.evidence refines spec:consumers.spec-studio.lenses · declared
- spec:consumers.spec-studio.lenses.packs refines spec:consumers.spec-studio.lenses · declared
- spec:consumers.spec-studio.lenses.tests refines spec:consumers.spec-studio.lenses · 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 · stated ready, floor ready
- dependsOn · spec:consumers.spec-studio.data · stated ready, floor ready
Rested on by
Distance 1
- spec:consumers.spec-studio.capability-map-page
Implementing units
impl:protocol.studio-capabilities-page·src/projections/studio/pages/capabilities-page.ts:78impl:protocol.studio-filter·src/studio-elements/filter.ts:25impl:protocol.studio-frame·src/projections/studio/pages/frame.ts:6impl:protocol.studio-index-page·src/projections/studio/pages/index-page.ts:8
Referencing units
None.
Enabled verifiers: test:protocol.studio-capabilities
- spec:consumers.spec-studio.lenses.architecture
Implementing units
impl:protocol.studio-architecture-lens·src/projections/studio/pages/architecture-page.ts:50
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.lenses.architecture.planned-apart, test:protocol.studio-architecture-maturity-requirement
- spec:consumers.spec-studio.lenses.evidence
Implementing units
impl:protocol.studio-evidence-lens·src/projections/studio/pages/evidence-page.ts:3
Referencing units
None.
Enabled verifiers: test:protocol.studio-lenses
- spec:consumers.spec-studio.lenses.packs
Implementing units
impl:protocol.studio-index-page·src/projections/studio/pages/index-page.ts:8
Referencing units
None.
Enabled verifiers: test:protocol.studio-lenses
- spec:consumers.spec-studio.lenses.tests
Implementing units
impl:protocol.studio-tests-lens·src/projections/studio/pages/tests-page.ts:34
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.lenses.tests.coverage-row
- spec:consumers.spec-studio.navigation
Implementing units
impl:protocol.studio-frame·src/projections/studio/pages/frame.ts:6impl:protocol.studio-index-page·src/projections/studio/pages/index-page.ts:8
Referencing units
None.
Enabled verifiers: test:protocol.studio-navigation, test:protocol.studio-roadmap-page
- spec:consumers.spec-studio.shell
Implementing units
impl:protocol.studio-code-spans·src/projections/studio/pages/code-spans.ts:9impl:protocol.studio-frame·src/projections/studio/pages/frame.ts:6impl:protocol.studio-html·src/projections/studio/pages/html.ts:8impl:protocol.studio-text·src/projections/studio/pages/text.ts:7
Referencing units
None.
Enabled verifiers: test:protocol.studio-pages
Distance 2
- spec:consumers.spec-studio.diagram-kinds.scoped-architecture
Implementing units
impl:protocol.studio-slice-architecture·src/projections/studio/diagrams/slice.ts:219
Referencing units
None.
Enabled verifiers: test:protocol.studio-slice-architecture
- spec:consumers.spec-studio.index-page
Implementing units
impl:protocol.studio-index-page·src/projections/studio/pages/index-page.ts:8
Referencing units
None.
Enabled verifiers: test:protocol.studio-pages
- spec:consumers.spec-studio.lenses.architecture.planned-apart
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-architecture-planned-apart
- spec:consumers.spec-studio.lenses.architecture.unit-register
Implementing units
impl:protocol.studio-unit-register·src/projections/studio/pages/architecture-register.ts:7
Referencing units
None.
Enabled verifiers: test:protocol.studio-architecture-maturity-requirement
Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1, pack:spec-studio-v1
- spec:consumers.spec-studio.lenses.tests.coverage-row
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-tests-coverage-row
- spec:consumers.spec-studio.owner-queue
Implementing units
impl:protocol.studio-owner-queue·src/projections/studio/pages/queue-page.ts:9
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.owner-queue.dependency-first
- spec:consumers.spec-studio.pack-page
Implementing units
impl:protocol.studio-pack-page·src/projections/studio/pages/pack-page.ts:68
Referencing units
None.
Enabled verifiers: test:protocol.roadmap-priority, test:protocol.studio-pages
- spec:consumers.spec-studio.page-elements
Implementing units
component:protocol.studio-elements·src/studio-elements/index.ts:13impl:protocol.studio-copy·src/studio-elements/copy.ts:22impl:protocol.studio-expander·src/studio-elements/expander.ts:16impl:protocol.studio-filter·src/studio-elements/filter.ts:25impl:protocol.studio-search-form·src/studio-elements/search.ts:18impl:protocol.studio-search-results·src/studio-elements/search-results.ts:95impl:protocol.studio-stamp·src/studio-elements/stamp.ts:30
Referencing units
None.
Enabled verifiers: test:protocol.studio-copy-source, test:protocol.studio-page-elements
- spec:consumers.spec-studio.registers
Implementing units
impl:protocol.studio-registers·src/projections/studio/pages/registers-page.ts:47
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.registers.blocking-first
- spec:consumers.spec-studio.roadmap-page
Implementing units
impl:protocol.studio-roadmap-page·src/projections/studio/pages/roadmap-page.ts:168
Referencing units
None.
Enabled verifiers: test:protocol.studio-roadmap-page
- spec:consumers.spec-studio.search
Implementing units
impl:protocol.studio-concept-match·src/reader/concept-match.ts:43impl:protocol.studio-search-page·src/projections/studio/pages/search-page.ts:5impl:protocol.studio-search-results·src/studio-elements/search-results.ts:95
Referencing units
None.
Enabled verifiers: test:protocol.studio-concept-match, test:protocol.studio-page-elements, test:protocol.studio-pages
- spec:consumers.spec-studio.spec-page.core
Implementing units
impl:protocol.studio-spec-page·src/projections/studio/pages/spec-page.ts:201
Referencing units
None.
Enabled verifiers: test:protocol.studio-pages
- spec:consumers.structural-mermaid
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Distance 3
- spec:consumers.spec-studio.cited-line-text
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: pack:roadmap, pack:self-hosting-v1
- spec:consumers.spec-studio.diagram-kinds.mermaid-source
Implementing units
impl:protocol.studio-diagram-source·src/projections/studio/diagrams/mermaid.ts:13impl:protocol.studio-diagrams·src/projections/studio/diagrams/svg.ts:73
Referencing units
None.
Enabled verifiers: test:protocol.studio-diagram-core
- spec:consumers.spec-studio.export
Implementing units
impl:protocol.studio-diagram-element·src/studio-elements/diagram.ts:23impl:protocol.studio-expander·src/studio-elements/expander.ts:16impl:protocol.studio-pack-export·src/projections/studio/pages/export-page.ts:35impl:protocol.studio-pack-page·src/projections/studio/pages/pack-page.ts:68
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.export.self-contained, test:protocol.studio-intent-handoff
- spec:consumers.spec-studio.owner-queue.dependency-first
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-queue-dependency-first
- spec:consumers.spec-studio.pack-page.maturity-map
Implementing units
impl:protocol.studio-maturity-map·src/projections/studio/pages/maturity-map.ts:7
Referencing units
None.
Enabled verifiers: test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels
- spec:consumers.spec-studio.registers.blocking-first
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-registers-blocking-first
- spec:consumers.spec-studio.slice-page
Implementing units
impl:protocol.studio-slice-page·src/projections/studio/pages/slice-page.ts:25
Referencing units
None.
Enabled verifiers: test:protocol.studio-slice-page
Distance 4
- spec:consumers.spec-studio.export.self-contained
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-export-contained
- spec:consumers.studio-on-ramp
Implementing units
impl:protocol.studio-on-ramp·test/skills.test.ts:1693
Referencing units
None.
Enabled verifiers: test:protocol.studio-on-ramp
Relations
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| dependsOn · outgoing | The Studio renders from the reader's values and embeds only what its script readsspec:consumers.spec-studio.data · resolves | declared | None | None |
| refines · outgoing | The Spec Studio is a static HTML workbench over the one graphspec:consumers.spec-studio · resolves | declared | None | None |
| dependsOn · incoming | Every page of the page set is reached from the top navigation and the indexspec:consumers.spec-studio.navigation · resolves | declared | the lens entries keep the order the lenses take | None |
| dependsOn · incoming | The Studio's shell frames every page with navigation, a rail and a canvasspec:consumers.spec-studio.shell · resolves | declared | the top navigation opens each lens | None |
| refines · incoming | The capability map page makes refinement readable by epicspec:consumers.spec-studio.capability-map-page · resolves | declared | the Capabilities page is a lens that reads refinement | None |
| refines · incoming | The architecture lens draws components by context and layer, the planned beside the builtspec:consumers.spec-studio.lenses.architecture · resolves | declared | None | None |
| refines · incoming | The evidence lens names each source of runtime evidence and reads it as not trackedspec:consumers.spec-studio.lenses.evidence · resolves | declared | None | None |
| refines · incoming | The Packs lens groups every Spec by the Packs that hold itspec:consumers.spec-studio.lenses.packs · resolves | declared | None | None |
| refines · incoming | The tests lens shows how far each Spec's verification reachesspec:consumers.spec-studio.lenses.tests · resolves | declared | None | None |
Bindings
Implementation binding: present
impl:protocol.studio-architecture-lens· renders recipe component rows and planned designs as architecture and member diagrams ·src/projections/studio/pages/architecture-page.ts:50· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-evidence-lens· names the four evidence sources and what would bring each into the Studio ·src/projections/studio/pages/evidence-page.ts:3· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-frame· renders Studio navigation, page rails and composing controls ·src/projections/studio/pages/frame.ts:6· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-tests-lens· renders shared rule and example-space coverage with filters and verifier bindings ·src/projections/studio/pages/tests-page.ts:34· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
- test:protocol.studio-lenses · anchored ·
test/studio-s1.test.ts:273· 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.