Spec Studio

The architecture page lists each component's significant units by role

spec:consumers.spec-studio.lenses.architecture.unit-registerUse Case / Behavior · storyready floor ready

Packs: pack:roadmaps-and-slices-v1, 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.lenses.architecture.unit-register.sdp.md

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

A contributor about to change the engine needs the curated register of its significant units: the ports, contracts, pipeline stages and catalogs each component owns, and the designs each unit realizes or answers to. The graph already records them on the anchors. This panel reads them there, grouped by component and role, and shows what no anchor states rather than guessing it.

Intent
outcome
Let a contributor find recorded units and their design bindings through their component and role, with omitted structure visible.
Behavior
rule.recordedOnly line 19 · specs/consumers/spec-studio.lenses.architecture.unit-register.sdp.md:19
The architecture page groups recorded members by role within each recorded component, and shows a component's own source binding apart from its members. A row shows the recorded id, label, file and line and its satisfies and references targets separately. The page reads graph bindings only, never an annotation review or oracle source file.

no example exercises it

rule.omissions line 20 · specs/consumers/spec-studio.lenses.architecture.unit-register.sdp.md:20
Keep a not-stated role group and a no-component section. A binding confers no review approval or execution verdict, and the page shows no inferred accepted badge.

no example exercises it

rule.roleTokens line 21 · specs/consumers/spec-studio.lenses.architecture.unit-register.sdp.md:21
Show each recorded role token without interpreting it through a Protocol-corpus Spec id. An adopter's unfamiliar roles remain visible and produce no finding.

no example exercises it

rule.stableOrder line 22 · specs/consumers/spec-studio.lenses.architecture.unit-register.sdp.md:22
Sort components by id, role groups by token and members by id in code-unit order, with not-stated roles last and the no-component section after the components.

no example exercises it

rule.staticAccess line 23 · specs/consumers/spec-studio.lenses.architecture.unit-register.sdp.md:23
Every row is available without script through native disclosures. The component index links to the existing component section ids, and narrow screens retain readable source paths and separate realization and reference lists.

no example exercises it

0 unkeyed rules.

Verification · reviewed
criteria
  • Render the self-hosted corpus and an adopter with unfamiliar roles, omitted roles and omitted membership. Check ordering, component source rows, target separation, keyboard disclosures and narrow-screen overflow, with no inferred approval badge.
mode
reviewed
Verification

Verifier bindings

  • test:protocol.studio-architecture-maturity-requirement · anchored · test anchor binding present · test/studio-panels.test.ts:35

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

    Test anchors: test:protocol.studio-architecture-maturity-requirement. Specs verified by those bindings: spec:consumers.spec-studio.diagram-kinds.maturity-picture, spec:consumers.spec-studio.diagram-kinds.requirement-trace, spec:consumers.spec-studio.lenses.architecture, spec:consumers.spec-studio.lenses.architecture.unit-register, spec:consumers.spec-studio.pack-page.maturity-map, spec:consumers.spec-studio.spec-page.

    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

    NameSuiteResultDuration
    orders both matrix axes by layer and id, links counts to supporting unit edges and keeps zeros compactarchitecture tables and registerpassed73.28 ms
    groups unfamiliar and omitted roles in code-unit order, with source rows and separate binding listsarchitecture tables and registerpassed32.56 ms
    draws equal categorical cells, exact counts and marks with ordered complete lists and unresolved members apartmaturity picturepassed46.28 ms
    places the map inside the page's expander so a cell link opens its member listmaturity picturepassed24.84 ms
    puts a uniform map behind a closed disclosure and uses solid fill above the mark boundmaturity picturepassed392.9 ms
    selects the subject, refiners and verifying examples and keeps declared and anchored claims separaterequirement drawingpassed36.4 ms
    keeps a refining verifier in the examples band and outside Specs apartrequirement drawingpassed12.74 ms
    offers requirement syntax for the supported exact relation subsetrequirement drawingpassed16.94 ms
    counts the subject example when reporting selected verifying examplesrequirement drawingpassed8.34 ms
    folds the largest exact relation group deterministically and keeps every original binding in textnot recordedpassed5.8 ms
    keeps a sparse large uses matrix readable with one visible zero legend and hidden cell wordsnot recordedpassed20.31 ms
    contains the matrix's hidden cell words inside their scroll regionnot recordedpassed0.45 ms
    does not assert missing bindings on a boundary Spec whose bindings are outside the selected setnot recordedpassed9.66 ms
    lets full component ids wrap so every uses column fits the printed pagenot recordedpassed0.6 ms
    keeps roles out of the pinned search record while preserving them on graph unitsnot recordedpassed3.09 ms
    lists a unit whose recorded component is missing in No component and in unresolved structurenot recordedpassed4.13 ms
    uses the singular member in a one-member Pack's uniform sentencenot recordedpassed8.24 ms
    states each absent requirement band without implying that a populated drawing is missingnot recordedpassed5.2 ms
    breaks equal requirement fold groups by 'kind' in lexical ordernot recordedpassed3.58 ms
    breaks equal requirement fold groups by 'direction' in lexical ordernot recordedpassed2.34 ms
    breaks equal requirement fold groups by 'claim' in lexical ordernot recordedpassed1.14 ms
    offers only the active relation and member renderers after requirement replaces realizationnot recordedpassed0.26 ms
    applies the closed-source print rule to both requirement and maturity drawingsnot recordedpassed0.29 ms
Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
Requirement drawing for spec:consumers.spec-studio.lenses.architecture.unit-register
The diagram as text
  • spec:consumers.spec-studio.lenses.architecture.unit-register: The architecture page lists each component's significant units by role · declared Spec
  • spec:consumers.spec-studio.lenses.architecture: The architecture lens draws components by context and layer, the planned beside the built · declared Spec
  • impl:protocol.studio-unit-register: renders component source bindings and role-grouped recorded units · anchored code · src/projections/studio/pages/architecture-register.ts:7
  • test:protocol.studio-architecture-maturity-requirement: test:protocol.studio-architecture-maturity-requirement · anchored test binding · binding present · test/studio-panels.test.ts:35
  • spec:consumers.spec-studio.lenses.architecture.unit-register refines spec:consumers.spec-studio.lenses.architecture · declared
  • impl:protocol.studio-unit-register satisfies spec:consumers.spec-studio.lenses.architecture.unit-register · anchored
  • test:protocol.studio-architecture-maturity-requirement verifies spec:consumers.spec-studio.lenses.architecture.unit-register · 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
  • 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-unit-register · renders component source bindings and role-grouped recorded units · src/projections/studio/pages/architecture-register.ts:7

    Component: 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
Relations of spec:consumers.spec-studio.lenses.architecture.unit-register

Arrows: refines (declared).

The diagram as text
  • 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.architecture.unit-register: The architecture page lists each component's significant units by role
  • spec:consumers.spec-studio.lenses.architecture.unit-register refines spec:consumers.spec-studio.lenses.architecture · 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 architecture lens draws components by context and layer, the planned beside the built
spec:consumers.spec-studio.lenses.architecture · resolves
declaredNoneNone

Bindings

Implementation binding: present

  • impl:protocol.studio-unit-register · renders component source bindings and role-grouped recorded units · src/projections/studio/pages/architecture-register.ts:7 · role projection · component component:protocol.projections · layer edge · context protocol

Design reference: none

Verifier binding: present

  • test:protocol.studio-architecture-maturity-requirement · anchored · test/studio-panels.test.ts:35 · 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.