outcomeThe architecture page lists each component's significant units by role
spec:consumers.spec-studio.lenses.architecture.unit-registerPacks: 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
- Let a contributor find recorded units and their design bindings through their component and role, with omitted structure visible.
Behavior
rule.recordedOnlyline 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.omissionsline 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.roleTokensline 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.stableOrderline 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.staticAccessline 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:35External run evidence from
test/studio-panels.test.tsTest 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
Name Suite Result Duration orders both matrix axes by layer and id, links counts to supporting unit edges and keeps zeros compact architecture tables and register passed 73.28 ms groups unfamiliar and omitted roles in code-unit order, with source rows and separate binding lists architecture tables and register passed 32.56 ms draws equal categorical cells, exact counts and marks with ordered complete lists and unresolved members apart maturity picture passed 46.28 ms places the map inside the page's expander so a cell link opens its member list maturity picture passed 24.84 ms puts a uniform map behind a closed disclosure and uses solid fill above the mark bound maturity picture passed 392.9 ms selects the subject, refiners and verifying examples and keeps declared and anchored claims separate requirement drawing passed 36.4 ms keeps a refining verifier in the examples band and outside Specs apart requirement drawing passed 12.74 ms offers requirement syntax for the supported exact relation subset requirement drawing passed 16.94 ms counts the subject example when reporting selected verifying examples requirement drawing passed 8.34 ms folds the largest exact relation group deterministically and keeps every original binding in text not recorded passed 5.8 ms keeps a sparse large uses matrix readable with one visible zero legend and hidden cell words not recorded passed 20.31 ms contains the matrix's hidden cell words inside their scroll region not recorded passed 0.45 ms does not assert missing bindings on a boundary Spec whose bindings are outside the selected set not recorded passed 9.66 ms lets full component ids wrap so every uses column fits the printed page not recorded passed 0.6 ms keeps roles out of the pinned search record while preserving them on graph units not recorded passed 3.09 ms lists a unit whose recorded component is missing in No component and in unresolved structure not recorded passed 4.13 ms uses the singular member in a one-member Pack's uniform sentence not recorded passed 8.24 ms states each absent requirement band without implying that a populated drawing is missing not recorded passed 5.2 ms breaks equal requirement fold groups by 'kind' in lexical order not recorded passed 3.58 ms breaks equal requirement fold groups by 'direction' in lexical order not recorded passed 2.34 ms breaks equal requirement fold groups by 'claim' in lexical order not recorded passed 1.14 ms offers only the active relation and member renderers after requirement replaces realization not recorded passed 0.26 ms applies the closed-source print rule to both requirement and maturity drawings not recorded passed 0.29 ms
Design view
Requirement drawing
- Declared verifying examples: no declared verifying example.
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:7Component:
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
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
- refines · spec:consumers.spec-studio.lenses.architecture · 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 | The architecture lens draws components by context and layer, the planned beside the builtspec:consumers.spec-studio.lenses.architecture · resolves | declared | None | None |
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.