Spec Studio
pack:spec-studio-v1specs/consumers/spec-studio.pack.sdp.mdDownload this Pack as one file
Where the design stands
- 64 members in authored reading order; no unresolved members.
- No members held below their stated next rung.
- No members waiting only for their author's statement.
- 162 design entries and 45 pinned declarations.
- 1 open question and no blocking questions.
- 37 members with an implementation binding.
- 3 members with a design reference.
- 45 outside Specs the Pack rests on; 15 outside Specs rest on the Pack; no outside Specs verify it; no outside Specs supersede it.
Maturity map
64 members at stated ready and floor ready: full member list.
Stated readiness by floor reached
Outlined diagonal: matches. Right of diagonal: floor above statement. Left of diagonal: statement above floor.
Maturity map as text
| Stated rung / floor reached | floor none | floor idea | floor scoped | floor defined | floor ready |
|---|---|---|---|---|---|
| stated idea | — | — | — | — | — |
| stated scoped | — | — | — | — | — |
| stated defined | — | — | — | — | — |
| stated ready | — | — | — | — | 64 |
stated ready, floor ready · 64 members
- The Spec Studio is a static HTML workbench over the one graph ·
spec:consumers.spec-studio· ready floor ready - The Studio renders HTML, and the HTML stays derived ·
spec:decisions.studio-html-surface· ready floor ready - The Studio renders from the reader's values and embeds only what its script reads ·
spec:consumers.spec-studio.data· ready floor ready - A page takes each recipe answer from the recipe's shipped body ·
spec:consumers.spec-studio.data.recipe-answers· ready floor ready - The Studio reads two named inputs beside the graph, a base graph and run records ·
spec:consumers.spec-studio.data.inputs· ready floor ready - Without inputs the page set is the graph's alone ·
spec:consumers.spec-studio.data.inputs.graph-only· ready floor ready - Both inputs add their pages, named, and the same inputs write the same bytes ·
spec:consumers.spec-studio.data.inputs.both-given· ready floor ready sdp studiopublishes the Studio as one page set ·spec:consumers.spec-studio.publisher· ready floor readysdp studio --watchrebuilds the page set on each carrier change ·spec:consumers.spec-studio.publisher.watch· ready floor ready- Each watch cycle writes the page set a plain run writes ·
spec:consumers.spec-studio.publisher.watch.matches-plain-run· ready floor ready - The Studio's shell frames every page with navigation, a rail and a canvas ·
spec:consumers.spec-studio.shell· ready floor ready - Search finds a Spec, a Pack, an entry or a bound file by a word ·
spec:consumers.spec-studio.search· ready floor ready - Every page of the page set is reached from the top navigation and the index ·
spec:consumers.spec-studio.navigation· ready floor ready - Five lenses read the graph as Packs, capabilities, architecture, tests and evidence ·
spec:consumers.spec-studio.lenses· ready floor ready - The Packs lens groups every Spec by the Packs that hold it ·
spec:consumers.spec-studio.lenses.packs· ready floor ready - The index says where the corpus stands and narrows every Spec ·
spec:consumers.spec-studio.index-page· ready floor ready - The architecture lens draws components by context and layer, the planned beside the built ·
spec:consumers.spec-studio.lenses.architecture· ready floor ready - The architecture page lists each component's significant units by role ·
spec:consumers.spec-studio.lenses.architecture.unit-register· ready floor ready - A component design no anchor realizes draws planned beside the built one ·
spec:consumers.spec-studio.lenses.architecture.planned-apart· ready floor ready - The tests lens shows how far each Spec's verification reaches ·
spec:consumers.spec-studio.lenses.tests· ready floor ready - A Spec's row on the tests lens counts its exercised keyed rules ·
spec:consumers.spec-studio.lenses.tests.coverage-row· ready floor ready - Example spaces report which values their examples cover ·
spec:consumers.agent-surface.example-space-coverage· ready floor ready - A literal no example binds is reported uncovered, and an unbound child is named ·
spec:consumers.agent-surface.example-space-coverage.uncovered-literal· ready floor ready - A number slot is not enumerable and reports no uncovered value ·
spec:consumers.agent-surface.example-space-coverage.number-not-enumerable· ready floor ready - The evidence lens names each source of runtime evidence and reads it as not tracked ·
spec:consumers.spec-studio.lenses.evidence· ready floor ready - A Pack page shows the Pack's design as one card per member ·
spec:consumers.spec-studio.pack-page· ready floor ready - A Pack page's maturity map places every member by its stated rung and its floor ·
spec:consumers.spec-studio.pack-page.maturity-map· ready floor ready - A Spec page shows one Spec in collapsible panels, in a fixed order ·
spec:consumers.spec-studio.spec-page· ready floor ready - A pinned declaration shows the test line that cites it ·
spec:consumers.spec-studio.spec-page.cited-declaration· ready floor ready - A Spec page's core shows the whole Spec, with an anchor for every entry ·
spec:consumers.spec-studio.spec-page.core· ready floor ready - The panels for examples, targets, verifiers and evidence ·
spec:consumers.spec-studio.verification-panels· ready floor ready - Each keyed rule shows the examples that exercise it, or that none does ·
spec:consumers.spec-studio.verification-panels.rule-coverage· ready floor ready - The corpus's registers are pages a reviewer opens from a link ·
spec:consumers.spec-studio.registers· ready floor ready - The questions page lists the Specs with a blocking question first ·
spec:consumers.spec-studio.registers.blocking-first· ready floor ready - The owner queue page orders the statements and questions only a person can settle ·
spec:consumers.spec-studio.owner-queue· ready floor ready - The owner queue lists a waiting statement after the one it rests on ·
spec:consumers.spec-studio.owner-queue.dependency-first· ready floor ready - The diff page shows what changed in the design since a base graph ·
spec:consumers.spec-studio.diff-page· ready floor ready - The diff page shows a changed entry's base and built values ·
spec:consumers.spec-studio.diff-page.changed-entry· ready floor ready - The runs page shows the run records the build was given, joined to test files ·
spec:consumers.spec-studio.runs-page· ready floor ready - The runs page shows a run as external evidence from a test file ·
spec:consumers.spec-studio.runs-page.external-evidence· ready floor ready - CI run records are joined to verifiers in a view ·
spec:observation.run-evidence· ready floor ready - A test whose reporter wrote an absolute path joins its anchored file ·
spec:observation.run-evidence.absolute-path-joins· ready floor ready - A test in a file with no test anchor is reported as unjoined ·
spec:observation.run-evidence.unanchored-file-unjoined· ready floor ready - The glossary page lists every term the corpus's Specs define ·
spec:consumers.spec-studio.glossary-page· ready floor ready - A word two Specs define appears once per Spec on the glossary page ·
spec:consumers.spec-studio.glossary-page.same-word-twice· ready floor ready - A composing panel on every page gathers scoped intent for an agent ·
spec:consumers.spec-studio.intent-panel· ready floor ready - Refreshing a tab keeps every gathered intent ·
spec:consumers.spec-studio.intent-panel.refresh-keeps-intents· ready floor ready - Recipe 49 renders a change proposal as the Markdown memo a person reviews ·
spec:consumers.intent-composition.proposal.memo· ready floor ready - Recipe 49 and the composing panel write one memo for one proposal ·
spec:consumers.intent-composition.proposal.memo.shared· ready floor ready - The Studio's custom elements each hold one view the build renders ·
spec:consumers.spec-studio.components· ready floor ready - The Studio is built from custom elements, not a framework ·
spec:decisions.studio-web-components· ready floor ready - The build renders every Studio view, and an element only enhances it ·
spec:decisions.studio-build-renders· ready floor ready - The engine lays out every Studio diagram as static SVG when the page set is built ·
spec:decisions.studio-diagram-renderer· ready floor ready - A diagram is laid out from graph values into SVG with a text equivalent ·
spec:consumers.spec-studio.diagrams· ready floor ready - An architecture within the bound draws in one diagram, the same bytes twice ·
spec:consumers.spec-studio.diagrams.within-bound· ready floor ready - An architecture over the bound folds by context ·
spec:consumers.spec-studio.diagrams.folds-by-context· ready floor ready - One context over the bound folds by layer ·
spec:consumers.spec-studio.diagrams.folds-by-layer· ready floor ready - A few custom elements filter, search, open and copy on a rendered page ·
spec:consumers.spec-studio.page-elements· ready floor ready - The Studio reads on a phone as on a desktop ·
spec:consumers.spec-studio.responsive· ready floor ready - A Pack exports as one file, and every page prints as a document ·
spec:consumers.spec-studio.export· ready floor ready - A Pack's export opens alone and keeps its links inside it ·
spec:consumers.spec-studio.export.self-contained· ready floor ready - A Studio build is stamped and shared from a static host ·
spec:consumers.spec-studio.sharing· ready floor ready - The stamp is written beside the page set, and a later build removes it ·
spec:consumers.spec-studio.sharing.stamp-written-apart· ready floor ready - The Studio skill teaches agents to publish, share and read the Spec Studio ·
spec:consumers.studio-on-ramp· ready floor ready
Mermaid source
Preferred syntax: block. Fixed categorical cells; membership appears in comments.
Framing
The Spec Studio of the original design, docs/lineage/v0-design/07-spec-studio-and-projections.md sections 1 to 3, 11 and 12, in the order a reviewer reads it: what the Studio is and why it renders HTML; the data it reads, with the recipe answers it composes and its two named inputs, and the verb that publishes and watches it; its shell, search and navigation; its four lenses, with the index that is the Packs lens and the coverage recipe the tests lens reads; the Pack page and its maturity map; the Spec page with its core and its panels; the register pages, the owner queue, and the diff, runs and glossary pages, with the run-evidence recipe the runs page reads; the composing panel and the memo it hands off; its custom elements, the decisions that shape them, and the diagrams the engine draws for them; its phone layout; the Pack export and print; how a build is stamped and shared; and the skill that teaches an agent to publish, share and read the Studio and to apply what a person composes in it. Each Spec is followed by the examples that will verify it. Recipe 27, references into a design, shows each member's code bindings and the implemented Specs it builds on.
Vocabulary: spec:consumers.projections-model
Changed since the base
Compared with the base graph base da4b141. Read the diff.
Base input: schema 0.11.0, 405 Specs.
Changed members
- spec:consumers.spec-studio
- spec:consumers.spec-studio.components
- spec:consumers.spec-studio.data
- spec:consumers.spec-studio.data.recipe-answers
- spec:consumers.spec-studio.diagrams
- spec:consumers.spec-studio.diff-page
- spec:consumers.spec-studio.export
- spec:consumers.spec-studio.index-page
- spec:consumers.spec-studio.lenses
- spec:consumers.spec-studio.lenses.architecture
- spec:consumers.spec-studio.lenses.packs
- spec:consumers.spec-studio.navigation
- spec:consumers.spec-studio.pack-page
- spec:consumers.spec-studio.pack-page.maturity-map
- spec:consumers.spec-studio.page-elements
- spec:consumers.spec-studio.publisher
- spec:consumers.spec-studio.spec-page
- spec:observation.run-evidence
Added members
Pack membership
changed · pack:spec-studio-v1
Members added: spec:consumers.spec-studio.lenses.architecture.unit-register
Members removed: None
Member order unchanged.
Diagnostics
{ "part": "schemaVersion", "base": "0.11.0", "head": "0.12.0" }
Members
1. The Spec Studio is a static HTML workbench over the one graphbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- The shipped projections stay frozen · stated ready
- The build renders every Studio view, and an element only enhances it · stated ready
- The Studio renders HTML, and the HTML stays derived · stated ready
- The Studio is built from custom elements, not a framework · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-command· validates and renders the Studio with independent byte checks and diagnostic exit codes ·src/cli/studio-command.ts:106· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.studio-data· assembles reader contexts, Pack totals, rails and search records for static pages ·src/projections/studio/data.ts:279· role contract · 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 protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
2. The Studio renders HTML, and the HTML stays deriveddecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.studio-html-surface
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
3. The Studio renders from the reader's values and embeds only what its script readscontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.data
Design
5 design entries · 5 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-data· assembles reader contexts, Pack totals, rails and search records for static pages ·src/projections/studio/data.ts:279· role contract · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
4. A page takes each recipe answer from the recipe's shipped bodycontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.data.recipe-answers
Design
2 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-recipes· evaluates shipped recipe bodies once and shares answers between Studio pages ·src/projections/studio/recipes.ts:34· role service · component component:protocol.projections· layer edge · context protocol
Design reference: present
impl:protocol.studio-register-contracts· shared recipe answer shapes for Studio registers ·src/projections/studio/pages/register-answers.ts:4· role contract · component component:protocol.projections· layer edge · context protocol
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
5. The Studio reads two named inputs beside the graph, a base graph and run recordscontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.data.inputs
Design
2 design entries · 2 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-base-input· reads named Studio base graphs and run inputs ·src/cli/studio-inputs.ts:9· role codec · component component:protocol.cli· layer edge · context protocolimpl:protocol.studio-command· validates and renders the Studio with independent byte checks and diagnostic exit codes ·src/cli/studio-command.ts:106· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.studio-inputs· named base graph and run input contract ·src/projections/studio/inputs.ts:1· role contract · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
6. Without inputs the page set is the graph's aloneexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.data.inputs.graph-only
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
7. Both inputs add their pages, named, and the same inputs write the same bytesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.data.inputs.both-given
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
8. sdp studio publishes the Studio as one page setbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.publisher
Design
No design entries · no pinned declarations
Decisions
- The shipped projections stay frozen · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.build-pipeline-emit· stages build outputs, checks determinism and invalidates projections ·src/cli/build-command.ts:251· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.studio-command· validates and renders the Studio with independent byte checks and diagnostic exit codes ·src/cli/studio-command.ts:106· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.studio-page-catalog· selects Studio pages, optional inputs and Pack exports ·src/projections/studio/pages/index.ts:21· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-paths· encodes uppercase id letters for collision-free Pack and Spec page paths ·src/projections/studio/paths.ts:2· role codec · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-publish· copies local assets and replaces the Studio directory through its temporary sibling ·src/projections/studio/publish.ts:24· role publisher · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
9. sdp studio --watch rebuilds the page set on each carrier changebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.publisher.watch
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-watch· awaits the plain Studio publication in each coalesced carrier-watch cycle ·src/cli/studio-command.ts:122· role service · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
10. Each watch cycle writes the page set a plain run writesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.publisher.watch.matches-plain-run
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
11. The Studio's shell frames every page with navigation, a rail and a canvasbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.shell
Design
5 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-code-spans· escapes and maps code spans across Studio text ·src/projections/studio/pages/code-spans.ts:9· role codec · 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-html· shared Studio HTML, source and link encoding ·src/projections/studio/pages/html.ts:8· role codec · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-text· escapes prose and links graph-resolving mentions ·src/projections/studio/pages/text.ts:7· role codec · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
12. Search finds a Spec, a Pack, an entry or a bound file by a wordbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.search
Design
6 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-concept-match· matches concepts deterministically across graph and browser queries ·src/reader/concept-match.ts:43· role reader · component component:protocol.reader· layer application · context protocolimpl:protocol.studio-search-page· publishes search records beside the browser results view ·src/projections/studio/pages/search-page.ts:5· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-search-results· ranks and renders concept, entry and file search hits ·src/studio-elements/search-results.ts:95· role projection · component component:protocol.studio-elements· layer edge · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · no verifying examples, 0 enabled
14. Five lenses read the graph as Packs, capabilities, architecture, tests and evidencebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.lenses
Design
1 design entry · no pinned declarations
Open questions
None.
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
1 verifier, 1 enabled · no verifying examples, 0 enabled
15. The Packs lens groups every Spec by the Packs that hold itbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.lenses.packs
Design
1 design entry · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-index-page· renders Pack disclosures and filterable Spec rows ·src/projections/studio/pages/index-page.ts:8· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
16. The index says where the corpus stands and narrows every Specbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.index-page
Design
7 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-index-page· renders Pack disclosures and filterable Spec rows ·src/projections/studio/pages/index-page.ts:8· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
17. The architecture lens draws components by context and layer, the planned beside the builtbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.lenses.architecture
Design
5 design entries · 1 pinned declaration
Decisions
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
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 protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 1 verifying example, 1 enabled
18. The architecture page lists each component's significant units by rolebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.lenses.architecture.unit-register
Design
No design entries · no pinned declarations
Open questions
None.
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
1 verifier, 1 enabled · no verifying examples, 0 enabled
19. A component design no anchor realizes draws planned beside the built oneexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.lenses.architecture.planned-apart
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
20. The tests lens shows how far each Spec's verification reachesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.lenses.tests
Design
3 design entries · no pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
- Verification mode states posture, not realization · stated ready
Open questions
None.
Implementation binding: present
impl: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
1 verifier, 1 enabled · 1 verifying example, 1 enabled
21. A Spec's row on the tests lens counts its exercised keyed rulesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.lenses.tests.coverage-row
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
22. Example spaces report which values their examples coverbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.agent-surface.example-space-coverage
Design
7 design entries · 5 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.example-space-coverage-recipe· asserts realization of shipped recipe 44 ·test/studio-s1.test.ts:856impl:protocol.example-space-decoding· shared example-space interpretation for contracts and reader contexts ·src/notation/example-space.ts:473· role codec · component component:protocol.reader· layer application · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
23. A literal no example binds is reported uncovered, and an unbound child is namedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.agent-surface.example-space-coverage.uncovered-literal
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
24. A number slot is not enumerable and reports no uncovered valueexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.agent-surface.example-space-coverage.number-not-enumerable
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
25. The evidence lens names each source of runtime evidence and reads it as not trackedbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.lenses.evidence
Design
1 design entry · no pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
Open questions
None.
Implementation binding: present
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:3· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
26. A Pack page shows the Pack's design as one card per memberbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.pack-page
Design
7 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-pack-page· renders Pack members, maturity and boundary joins ·src/projections/studio/pages/pack-page.ts:68· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
27. A Pack page's maturity map places every member by its stated rung and its floorbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.pack-page.maturity-map
Design
1 design entry · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-maturity-map· places resolved Pack members by their stated rung and floor in authored order ·src/projections/studio/pages/maturity-map.ts:7· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
28. A Spec page shows one Spec in collapsible panels, in a fixed orderbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.spec-page
Design
10 design entries · no pinned declarations
Decisions
- The Design Review renders open-section entries as a list · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-requirement-view· selects Spec refiners, verifying examples and their recorded bindings ·src/projections/studio/pages/requirement-view.ts:8· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-spec-page· renders Spec intent, relations and realization bindings ·src/projections/studio/pages/spec-page.ts:201· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-spec-structure· renders requirement and trace diagrams and the recorded structural neighborhood ·src/projections/studio/pages/spec-structure.ts:44· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 1 verifying example, 1 enabled
29. A pinned declaration shows the test line that cites itexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.spec-page.cited-declaration
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
30. A Spec page's core shows the whole Spec, with an anchor for every entrybehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.spec-page.core
Design
8 design entries · no pinned declarations
Decisions
- The Design Review renders open-section entries as a list · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-spec-page· renders Spec intent, relations and realization bindings ·src/projections/studio/pages/spec-page.ts:201· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
31. The panels for examples, targets, verifiers and evidencebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.verification-panels
Design
8 design entries · no pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
- Verification mode states posture, not realization · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-run-rows· renders recipe 45 file rows shared by the runs page and verification panel ·src/projections/studio/pages/run-rows.ts:69· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-verification-panels· renders rule coverage, example cards, constraint targets, verifiers and example-space coverage ·src/projections/studio/pages/spec-verification.ts:74· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 1 verifying example, 1 enabled
32. Each keyed rule shows the examples that exercise it, or that none doesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.verification-panels.rule-coverage
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
33. The corpus's registers are pages a reviewer opens from a linkbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.registers
Design
4 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-registers· renders question, decision, declaration and backlog registers ·src/projections/studio/pages/registers-page.ts:47· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
34. The questions page lists the Specs with a blocking question firstexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.registers.blocking-first
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
35. The owner queue page orders the statements and questions only a person can settlebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.owner-queue
Design
2 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-owner-queue· renders waiting readiness statements and decider questions ·src/projections/studio/pages/queue-page.ts:9· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
36. The owner queue lists a waiting statement after the one it rests onexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.owner-queue.dependency-first
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
37. The diff page shows what changed in the design since a base graphbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diff-page
Design
4 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-diff· renders declared design changes and binding changes separately ·src/projections/studio/pages/diff-page.ts:91· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 1 verifying example, 1 enabled
38. The diff page shows a changed entry's base and built valuesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.diff-page.changed-entry
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
39. The runs page shows the run records the build was given, joined to test filesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.runs-page
Design
3 design entries · no pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-run-rows· renders recipe 45 file rows shared by the runs page and verification panel ·src/projections/studio/pages/run-rows.ts:69· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-runs-page· renders readable CTRF inputs, file results, unjoined records and diagnostics ·src/projections/studio/pages/runs-page.ts:6· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
40. The runs page shows a run as external evidence from a test fileexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.runs-page.external-evidence
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
41. CI run records are joined to verifiers in a viewbehavior · ready floor ready · 1 open, 0 blocking questions · implementation binding present · verifier binding present
Design
7 design entries · 5 pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
Open questions
- non-blocking · question.freshness
· line 28 · specs/observation/run-evidence.sdp.md:28· How does a view say a run is stale: by its commit against the commit being read, or by whether the bound files changed between the two?Decider: ownerProvisional: Display the run and source commit identifiers when they differ, as the differing-commit rule requires; whether freshness also follows changes to bound files remains open.
Implementation binding: present
impl:protocol.run-evidence-recipe· asserts realization of Run evidence in docs/agent-surface/recipes.md ·test/recipes.test.ts:7277impl:protocol.studio-runs-page· renders readable CTRF inputs, file results, unjoined records and diagnostics ·src/projections/studio/pages/runs-page.ts:6· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
42. A test whose reporter wrote an absolute path joins its anchored fileexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:observation.run-evidence.absolute-path-joins
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
43. A test in a file with no test anchor is reported as unjoinedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:observation.run-evidence.unanchored-file-unjoined
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
44. The glossary page lists every term the corpus's Specs definebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.glossary-page
Design
2 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-glossary· renders Model terms with their entry-address links ·src/projections/studio/pages/glossary-page.ts:7· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
45. A word two Specs define appears once per Spec on the glossary pageexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.glossary-page.same-word-twice
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
46. A composing panel on every page gathers scoped intent for an agentbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.intent-panel
Design
9 design entries · 3 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-compose· opens a native request dialog beside build-rendered scopes without changing their content ·src/studio-elements/compose.ts:13· role interaction · component component:protocol.studio-elements· 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-intent-panel· gathers ordered intents under the page-root storage key and partitions their hand-off ·src/studio-elements/intent-panel.ts:51· role service · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-intent-panel-element· displays gathered requests and writes copy selections or local download links ·src/studio-elements/intent-panel-element.ts:14· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-scenario-editor· gathers the edited Given, When and Then as exact text scoped to its subject ·src/studio-elements/scenario-editor.ts:17· role interaction · component component:protocol.studio-elements· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 1 verifying example, 1 enabled
47. Refreshing a tab keeps every gathered intentexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.intent-panel.refresh-keeps-intents
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
48. Recipe 49 renders a change proposal as the Markdown memo a person reviewscontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.intent-composition.proposal.memo
Design
5 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.proposal-memo-recipe· realizes the catalog proposal memo through its verbatim body check ·test/recipes.test.ts:7298impl:protocol.studio-proposal-memo· renders proposal fields verbatim with fences that outgrow their content ·src/studio-elements/memo.ts:13· role projection · component component:protocol.studio-elements· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
50. The Studio's custom elements each hold one view the build renderscontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.components
Design
10 design entries · 10 pinned declarations
Decisions
- The build renders every Studio view, and an element only enhances it · stated ready
- The engine lays out every Studio diagram as static SVG when the page set is built · stated ready
- The Studio is built from custom elements, not a framework · stated ready
Open questions
None.
Implementation binding: present
component:protocol.studio-elements· optional browser behavior and proposal handoff ·src/studio-elements/index.ts:13· role interaction · layer edge · context protocol impl:protocol.studio-compose· opens a native request dialog beside build-rendered scopes without changing their content ·src/studio-elements/compose.ts:13· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-filter· filters build-rendered rows through their recorded attributes ·src/studio-elements/filter.ts:25· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-intent-panel-element· displays gathered requests and writes copy selections or local download links ·src/studio-elements/intent-panel-element.ts:14· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-maturity-map· places resolved Pack members by their stated rung and floor in authored order ·src/projections/studio/pages/maturity-map.ts:7· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-pack-page· renders Pack members, maturity and boundary joins ·src/projections/studio/pages/pack-page.ts:68· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-scenario-editor· gathers the edited Given, When and Then as exact text scoped to its subject ·src/studio-elements/scenario-editor.ts:17· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-search-results· ranks and renders concept, entry and file search hits ·src/studio-elements/search-results.ts:95· role projection · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-spec-structure· renders requirement and trace diagrams and the recorded structural neighborhood ·src/projections/studio/pages/spec-structure.ts:44· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-verification-panels· renders rule coverage, example cards, constraint targets, verifiers and example-space coverage ·src/projections/studio/pages/spec-verification.ts:74· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
51. The Studio is built from custom elements, not a frameworkdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.studio-web-components
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
52. The build renders every Studio view, and an element only enhances itdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.studio-build-renders
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: 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-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-diagrams· deterministic grid and band layouts with bounded folds and full text equivalents ·src/projections/studio/diagrams/svg.ts:73· 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-recipes· evaluates shipped recipe bodies once and shares answers between Studio pages ·src/projections/studio/recipes.ts:34· role service · 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
Verifier binding: none
53. The engine lays out every Studio diagram as static SVG when the page set is builtdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.studio-diagram-renderer
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.studio-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-diagrams· deterministic grid and band layouts with bounded folds and full text equivalents ·src/projections/studio/diagrams/svg.ts:73· role projection · component component:protocol.projections· layer edge · context protocol
Verifier binding: none
54. A diagram is laid out from graph values into SVG with a text equivalentcontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diagrams
Design
14 design entries · 4 pinned declarations
Decisions
Open questions
None.
Implementation binding: present
impl:protocol.studio-architecture-diagrams· architecture grids and bounded context and layer folds ·src/projections/studio/diagrams/architecture.ts:4· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-diagram-model· shared diagram boxes, edges and drawing bounds ·src/projections/studio/diagrams/model.ts:1· role contract · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-diagrams· deterministic grid and band layouts with bounded folds and full text equivalents ·src/projections/studio/diagrams/svg.ts:73· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-relation-diagrams· relation and member bands and bounded relation folds ·src/projections/studio/diagrams/bands.ts:10· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
4 verifiers, 4 enabled · 3 verifying examples, 3 enabled
55. An architecture within the bound draws in one diagram, the same bytes twiceexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.diagrams.within-bound
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
56. An architecture over the bound folds by contextexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.diagrams.folds-by-context
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
57. One context over the bound folds by layerexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.diagrams.folds-by-layer
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
58. A few custom elements filter, search, open and copy on a rendered pagecontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.page-elements
Design
6 design entries · 6 pinned declarations
Decisions
- The Studio is built from custom elements, not a framework · stated ready
Open questions
None.
Implementation binding: present
component:protocol.studio-elements· optional browser behavior and proposal handoff ·src/studio-elements/index.ts:13· role interaction · layer edge · context protocol impl:protocol.studio-copy· copies text with selection fallback and failure feedback ·src/studio-elements/copy.ts:22· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-expander· opens fragment ancestors and expands disclosures for print ·src/studio-elements/expander.ts:16· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-filter· filters build-rendered rows through their recorded attributes ·src/studio-elements/filter.ts:25· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-search-form· routes search forms through page-root URLs and fragments ·src/studio-elements/search.ts:18· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-search-results· ranks and renders concept, entry and file search hits ·src/studio-elements/search-results.ts:95· role projection · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-stamp· resolves published stamps and source links in the browser ·src/studio-elements/stamp.ts:30· role interaction · component component:protocol.studio-elements· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
59. The Studio reads on a phone as on a desktopbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.responsive
Design
3 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· 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 protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
60. A Pack exports as one file, and every page prints as a documentbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.export
Design
5 design entries · 1 pinned declaration
Open questions
None.
Implementation binding: present
impl:protocol.studio-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-expander· opens fragment ancestors and expands disclosures for print ·src/studio-elements/expander.ts:16· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-pack-export· copies rendered canvas content into one inline-styled document with prefixed element references ·src/projections/studio/pages/export-page.ts:35· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-pack-page· renders Pack members, maturity and boundary joins ·src/projections/studio/pages/pack-page.ts:68· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 1 verifying example, 1 enabled
61. A Pack's export opens alone and keeps its links inside itexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.export.self-contained
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
62. A Studio build is stamped and shared from a static hostbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.sharing
Design
9 design entries · 3 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.stamp-command· writes the publishing stamp without extraction or rendering ·src/cli/stamp-command.ts:8· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.studio-preview-workflow· asserts the reusable Studio preview workflow and Protocol CI caller ·test/studio-s4.test.ts:742impl:protocol.studio-stamp· resolves published stamps and source links in the browser ·src/studio-elements/stamp.ts:30· role interaction · component component:protocol.studio-elements· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
63. The stamp is written beside the page set, and a later build removes itexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.sharing.stamp-written-apart
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
64. The Studio skill teaches agents to publish, share and read the Spec Studiobehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-on-ramp· asserts realization of the shipped Studio skill document ·test/skills.test.ts:1693
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
Boundary
Rests on (45)
Rested on by (15)
Verified by (0)
None.
Superseded by (0)
None.
Members with no verifier binding
The graph records bindings and never runs. Decision records are left out: a decision never needs a verifier binding. The runs page, the tests lens and the Spec pages of the Specs their files verify show the run records as external evidence from test files.
None.
Findings
None.
Composing (0)
Composing needs the script.