Architecture
Components, their members and uses, and planned component designs.
14 components realized and 0 planned. They state 1 context and 4 layers. 41 uses edges between components. 0 designs differ from their components.
Arrows: uses (anchored).
The diagram as text
- component:protocol.adapters: external runtime and source adapters, 2 members
- component:protocol.cli: entry points, shared build and publication, 30 members
- component:protocol.codegen: contracts and registrar output, 2 members
- component:protocol.extract: the carrier and source pipeline, 25 members
- component:protocol.graph: the one graph and its semantic decisions, 5 members
- component:protocol.import: canonical conversion with a fidelity boundary, 3 members
- component:protocol.model: the authored contracts and stable ids, 8 members
- component:protocol.notation: the leaf step codec, 1 member
- component:protocol.projections: read-only output, layout and owned publication, 62 members
- component:protocol.reader: the typed graph contract and body evaluator, 6 members
- component:protocol.runner: provider-neutral example execution, 1 member
- component:protocol.studio-elements: optional browser behavior and proposal handoff, 13 members
- component:protocol.testing: the generated registrar runtime, 1 member
- component:protocol.validate: one finding currency and ordered checks, 23 members
- component:protocol.adapters uses component:protocol.runner · anchored (2 unit edges)
- component:protocol.cli uses component:protocol.adapters · anchored
- component:protocol.cli uses component:protocol.codegen · anchored
- component:protocol.cli uses component:protocol.extract · anchored
- component:protocol.cli uses component:protocol.graph · anchored (2 unit edges)
- component:protocol.cli uses component:protocol.import · anchored
- component:protocol.cli uses component:protocol.model · anchored
- component:protocol.cli uses component:protocol.projections · anchored (2 unit edges)
- component:protocol.cli uses component:protocol.reader · anchored
- component:protocol.cli uses component:protocol.validate · anchored
- component:protocol.codegen uses component:protocol.graph · anchored
- component:protocol.codegen uses component:protocol.notation · anchored
- component:protocol.codegen uses component:protocol.reader · anchored
- component:protocol.codegen uses component:protocol.validate · anchored
- component:protocol.extract uses component:protocol.graph · anchored (2 unit edges)
- component:protocol.extract uses component:protocol.model · anchored
- component:protocol.extract uses component:protocol.notation · anchored
- component:protocol.extract uses component:protocol.validate · anchored
- component:protocol.graph uses component:protocol.model · anchored
- component:protocol.graph uses component:protocol.notation · anchored
- component:protocol.import uses component:protocol.extract · anchored
- component:protocol.import uses component:protocol.notation · anchored
- component:protocol.import uses component:protocol.validate · anchored
- component:protocol.projections uses component:protocol.extract · anchored (2 unit edges)
- component:protocol.projections uses component:protocol.graph · anchored
- component:protocol.projections uses component:protocol.model · anchored
- component:protocol.projections uses component:protocol.notation · anchored
- component:protocol.projections uses component:protocol.reader · anchored (4 unit edges)
- component:protocol.projections uses component:protocol.validate · anchored
- component:protocol.reader uses component:protocol.graph · anchored (2 unit edges)
- component:protocol.reader uses component:protocol.model · anchored
- component:protocol.reader uses component:protocol.notation · anchored
- component:protocol.reader uses component:protocol.validate · anchored (2 unit edges)
- component:protocol.runner uses component:protocol.notation · anchored
- component:protocol.studio-elements uses component:protocol.projections · anchored
- component:protocol.studio-elements uses component:protocol.reader · anchored
- component:protocol.testing uses component:protocol.adapters · anchored
- component:protocol.testing uses component:protocol.runner · anchored
- component:protocol.validate uses component:protocol.graph · anchored (2 unit edges)
- component:protocol.validate uses component:protocol.model · anchored
- component:protocol.validate uses component:protocol.notation · anchored
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: block; flowchart fallback because block cannot carry edge claims and counts.
Component uses
Rows use columns. · means no anchored use recorded; a component's own cell is empty.
| Using / used | entry points, shared build and publication component:protocol.cli | read-only output, layout and owned publication component:protocol.projections | optional browser behavior and proposal handoff component:protocol.studio-elements | contracts and registrar output component:protocol.codegen | the carrier and source pipeline component:protocol.extract | canonical conversion with a fidelity boundary component:protocol.import | the typed graph contract and body evaluator component:protocol.reader | provider-neutral example execution component:protocol.runner | the one graph and its semantic decisions component:protocol.graph | the authored contracts and stable ids component:protocol.model | the leaf step codec component:protocol.notation | one finding currency and ordered checks component:protocol.validate | external runtime and source adapters component:protocol.adapters | the generated registrar runtime component:protocol.testing |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
entry points, shared build and publication component:protocol.cli | 2 | no anchored use recorded | 1 | 1 | 1 | 1 | no anchored use recorded | 2 | 1 | no anchored use recorded | 1 | 1 | no anchored use recorded | |
read-only output, layout and owned publication component:protocol.projections | no anchored use recorded | no anchored use recorded | no anchored use recorded | 2 | no anchored use recorded | 4 | no anchored use recorded | 1 | 1 | 1 | 1 | no anchored use recorded | no anchored use recorded | |
optional browser behavior and proposal handoff component:protocol.studio-elements | no anchored use recorded | 1 | no anchored use recorded | no anchored use recorded | no anchored use recorded | 1 | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | |
contracts and registrar output component:protocol.codegen | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | 1 | no anchored use recorded | 1 | no anchored use recorded | 1 | 1 | no anchored use recorded | no anchored use recorded | |
the carrier and source pipeline component:protocol.extract | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | 2 | 1 | 1 | 1 | no anchored use recorded | no anchored use recorded | |
canonical conversion with a fidelity boundary component:protocol.import | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | 1 | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | 1 | 1 | no anchored use recorded | no anchored use recorded | |
the typed graph contract and body evaluator component:protocol.reader | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | 2 | 1 | 1 | 2 | no anchored use recorded | no anchored use recorded | |
provider-neutral example execution component:protocol.runner | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | 1 | no anchored use recorded | no anchored use recorded | no anchored use recorded | |
the one graph and its semantic decisions component:protocol.graph | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | 1 | 1 | no anchored use recorded | no anchored use recorded | no anchored use recorded | |
the authored contracts and stable ids component:protocol.model | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | |
the leaf step codec component:protocol.notation | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | |
one finding currency and ordered checks component:protocol.validate | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | 2 | 1 | 1 | no anchored use recorded | no anchored use recorded | |
external runtime and source adapters component:protocol.adapters | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | 2 | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | |
the generated registrar runtime component:protocol.testing | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | 1 | no anchored use recorded | no anchored use recorded | no anchored use recorded | no anchored use recorded | 1 |
Designed, not built
None.
Significant units
Recorded bindings state no review approval or execution verdict.
component:protocol.adapterscomponent:protocol.clicomponent:protocol.codegencomponent:protocol.extractcomponent:protocol.graphcomponent:protocol.importcomponent:protocol.modelcomponent:protocol.notationcomponent:protocol.projectionscomponent:protocol.readercomponent:protocol.runnercomponent:protocol.studio-elementscomponent:protocol.testingcomponent:protocol.validate
component:protocol.adapters external runtime and source adapters
Layer adapter, context protocol, role adapter.
Component source binding
component:protocol.adaptersexternal runtime and source adapters ·src/adapters/vitest.ts:23Satisfies
References
None.
Members
Role adapter
impl:protocol.example-runner-adapterregisters one test per example and owns the fresh world lifecycle ·src/adapters/vitest.ts:32Satisfies
References
None.
impl:protocol.typescript-importsTypeScript file imports and barrel reach for external curation input ·src/adapters/typescript-imports.ts:7Satisfies
References
None.
Uses
component:protocol.runner(2 unit edges)
Uses component:protocol.runner · 2 unit edges
component:protocol.adaptersusescomponent:protocol.runner· anchoredimpl:protocol.example-runner-adapterusesimpl:protocol.example-runner· anchored
Used by
component:protocol.cli(1 unit edges)component:protocol.testing(1 unit edges)
Satisfies
- spec:consumers.impact-graph
- spec:consumers.impact-graph.curation-assist
- spec:extraction.example-runner
- spec:extraction.executable-examples
References
None.
Arrows: uses (anchored).
The diagram as text
- impl:protocol.example-runner-adapter: registers one test per example and owns the fresh world lifecycle, role adapter
- impl:protocol.typescript-imports: TypeScript file imports and barrel reach for external curation input, role adapter
- impl:protocol.example-runner: Outside component
- impl:protocol.example-runner-adapter uses impl:protocol.example-runner · anchored
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
component:protocol.cli entry points, shared build and publication
Layer edge, context protocol, role service.
Component source binding
component:protocol.clientry points, shared build and publication ·src/cli/build-command.ts:32Satisfies
References
None.
Members
Role codec
impl:protocol.build-argsshared build arguments and corpus-rule inputs ·src/cli/build-args.ts:11Satisfies
References
None.
impl:protocol.diagnostic-rendering-clicomposes structured finding fields into the one command-line diagnostic form ·src/cli/output.ts:23Satisfies
References
None.
impl:protocol.parameter-codecdecodes recipe parameters and refuses duplicate keys ·src/cli/params.ts:121Satisfies
References
None.
impl:protocol.studio-base-inputreads named Studio base graphs and run inputs ·src/cli/studio-inputs.ts:9Satisfies
References
None.
impl:protocol.validate-summaryprints validate's findings and its summary line ·src/cli/validate-view-command.ts:23Satisfies
References
None.
Role projection
impl:protocol.adopter-helpSDP_HELP_TEXT indexes the shipped skills, recipe catalog, schema, walkthrough, glossary and specs/ by package-relative path ·src/cli/help.ts:167Satisfies
References
None.
impl:protocol.engine-provenance-cliprints sdp version and the commit parsed from the build-info file beside the compiled CLI ·src/cli/sdp.ts:102Satisfies
References
None.
Role publisher
impl:protocol.build-artifactsthe build step that writes each catalog recipe to dist/recipes and records the build commit beside the CLI ·src/cli/build-artifacts.ts:182Satisfies
References
None.
impl:protocol.build-importsopt-in imports publication in the build command ·src/cli/build-command.ts:243Satisfies
References
None.
impl:protocol.census-page-clipublishes the census through the explicitsdp censussurface ·src/cli/census-command.ts:66Satisfies
References
None.
impl:protocol.generate-commandprepares all prior roots before one shared build and publishes with each verb's checks ·src/cli/generate-command.ts:34Satisfies
References
None.
impl:protocol.gherkin-view-clipublishes the Gherkin view through the explicitsdp gherkinsurface ·src/cli/gherkin-command.ts:66Satisfies
References
None.
impl:protocol.mermaid-view-clipublishes Mermaid through the explicitsdp mermaidsurface ·src/cli/mermaid-command.ts:82Satisfies
References
None.
impl:protocol.sdp-import-publishstages Markdown siblings and publishes them with atomic hard links ·src/cli/import-publish.ts:23Satisfies
References
None.
impl:protocol.stamp-commandwrites the publishing stamp without extraction or rendering ·src/cli/stamp-command.ts:8Satisfies
References
None.
impl:protocol.studio-commandvalidates and renders the Studio with independent byte checks and diagnostic exit codes ·src/cli/studio-command.ts:106Satisfies
- spec:consumers.spec-studio.publisher
- spec:consumers.spec-studio.data.inputs
- spec:consumers.spec-studio
References
None.
impl:protocol.vault-commandvalidates after vault preflight and retains prior notes behind a failed-extraction index ·src/cli/vault-command.ts:191Satisfies
References
impl:protocol.wholesale-view-rewritepublishes each Design Review as one wholesale temporary-directory replacement ·src/cli/validate-view-command.ts:128Satisfies
References
None.
Role service
impl:protocol.agent-surface-cliCLI verb dispatcher and agent-surface front of the package CLI ·src/cli/sdp.ts:94Satisfies
References
None.
impl:protocol.build-pipeline-emitstages build outputs, checks determinism and invalidates projections ·src/cli/build-command.ts:251Satisfies
- spec:extraction.build-pipeline
- spec:consumers.wholesale-view-rewrite
- spec:consumers.spec-studio.publisher
- spec:extraction.determinism
- spec:extraction.regenerability
References
None.
impl:protocol.build-pipeline-queryrunQuery reads one body, derives the graph once for the reader, raw graph and report, and prints the return or refuses on stderr ·src/cli/q-command.ts:212Satisfies
References
None.
impl:protocol.corpus-rule-runnerruns selected corpus rules and separates their failures ·src/cli/corpus-rules.ts:65Satisfies
References
None.
impl:protocol.corpus-rulesruns copied rule bodies after Protocol validation and composes the separate corpus report, output and exit ·src/cli/validate-view-command.ts:79Satisfies
References
None.
impl:protocol.query-paramsreads --params as JSON data and injects it as the sink's fourth binding, params ·src/cli/q-command.ts:71Satisfies
References
None.
impl:protocol.sdp-importplans, refuses, and publishes TypeScript-to-Markdown Spec imports ·src/cli/import-command.ts:71Satisfies
References
None.
impl:protocol.sdp-import-scancollects .sdp.ts paths and reports scan failures ·src/cli/import-scan.ts:62Satisfies
References
None.
impl:protocol.spec-scaffolderscaffolds an honest idea-rung Markdown Spec throughsdp new spec·src/cli/new-spec-command.ts:348Satisfies
References
None.
impl:protocol.studio-watchawaits the plain Studio publication in each coalesced carrier-watch cycle ·src/cli/studio-command.ts:122Satisfies
References
None.
impl:protocol.validate-watchwatches carrier directories and coalesces events into a pending validation rerun ·src/cli/validate-watch.ts:591Satisfies
References
None.
impl:protocol.vault-watchreuses the coalescing watcher with source suffixes and a synchronous vault cycle ·src/cli/vault-command.ts:219Satisfies
References
None.
Uses
component:protocol.adapters(1 unit edges)component:protocol.codegen(1 unit edges)component:protocol.extract(1 unit edges)component:protocol.graph(2 unit edges)component:protocol.import(1 unit edges)component:protocol.model(1 unit edges)component:protocol.projections(2 unit edges)component:protocol.reader(1 unit edges)component:protocol.validate(1 unit edges)
Uses component:protocol.adapters · 1 unit edges
component:protocol.cliusescomponent:protocol.adapters· anchored
Uses component:protocol.codegen · 1 unit edges
component:protocol.cliusescomponent:protocol.codegen· anchored
Uses component:protocol.extract · 1 unit edges
component:protocol.cliusescomponent:protocol.extract· anchored
Uses component:protocol.graph · 2 unit edges
component:protocol.cliusescomponent:protocol.graph· anchoredimpl:protocol.stamp-commandusesimpl:protocol.schema-version· anchored
Uses component:protocol.import · 1 unit edges
component:protocol.cliusescomponent:protocol.import· anchored
Uses component:protocol.model · 1 unit edges
component:protocol.cliusescomponent:protocol.model· anchored
Uses component:protocol.projections · 2 unit edges
component:protocol.cliusescomponent:protocol.projections· anchoredimpl:protocol.vault-commandusescomponent:protocol.projections· anchored
Uses component:protocol.reader · 1 unit edges
component:protocol.cliusescomponent:protocol.reader· anchored
Uses component:protocol.validate · 1 unit edges
component:protocol.cliusescomponent:protocol.validate· anchored
Used by
None.
Satisfies
- spec:carrier.sdp-import
- spec:consumers.adopter-on-ramp
- spec:consumers.agent-surface
- spec:consumers.agent-surface.evaluation-sink
- spec:consumers.agent-surface.recipe-parameters
- spec:consumers.authoring-on-ramp
- spec:consumers.census-page
- spec:consumers.command-line
- spec:consumers.engine-provenance
- spec:consumers.gherkin-view
- spec:consumers.impact-graph.curation-assist
- spec:consumers.mermaid-view
- spec:consumers.obsidian-vault
- spec:consumers.obsidian-vault.iteration
- spec:consumers.spec-studio
- spec:consumers.spec-studio.data.inputs
- spec:consumers.spec-studio.publisher
- spec:consumers.spec-studio.publisher.watch
- spec:consumers.spec-studio.sharing
- spec:consumers.validate-watch
- spec:consumers.wholesale-view-rewrite
- spec:extraction.build-pipeline
- spec:extraction.determinism
- spec:extraction.regenerability
- spec:validation.corpus-rules
- spec:validation.diagnostic-rendering
References
Arrows: uses (anchored).
The diagram as text
- impl:protocol.adopter-help: SDP_HELP_TEXT indexes the shipped skills, recipe catalog, schema, walkthrough, glossary and specs/ by package-relative path, role projection
- impl:protocol.agent-surface-cli: CLI verb dispatcher and agent-surface front of the package CLI, role service
- impl:protocol.build-args: shared build arguments and corpus-rule inputs, role codec
- impl:protocol.build-artifacts: the build step that writes each catalog recipe to dist/recipes and records the build commit beside the CLI, role publisher
- impl:protocol.build-imports: opt-in imports publication in the build command, role publisher
- impl:protocol.build-pipeline-emit: stages build outputs, checks determinism and invalidates projections, role service
- impl:protocol.build-pipeline-query: runQuery reads one body, derives the graph once for the reader, raw graph and report, and prints the return or refuses on stderr, role service
- impl:protocol.census-page-cli: publishes the census through the explicit sdp census surface, role publisher
- impl:protocol.corpus-rule-runner: runs selected corpus rules and separates their failures, role service
- impl:protocol.corpus-rules: runs copied rule bodies after Protocol validation and composes the separate corpus report, output and exit, role service
- impl:protocol.diagnostic-rendering-cli: composes structured finding fields into the one command-line diagnostic form, role codec
- impl:protocol.engine-provenance-cli: prints sdp version and the commit parsed from the build-info file beside the compiled CLI, role projection
- impl:protocol.generate-command: prepares all prior roots before one shared build and publishes with each verb's checks, role publisher
- impl:protocol.gherkin-view-cli: publishes the Gherkin view through the explicit sdp gherkin surface, role publisher
- impl:protocol.mermaid-view-cli: publishes Mermaid through the explicit sdp mermaid surface, role publisher
- impl:protocol.parameter-codec: decodes recipe parameters and refuses duplicate keys, role codec
- impl:protocol.query-params: reads --params as JSON data and injects it as the sink's fourth binding, params, role service
- impl:protocol.sdp-import: plans, refuses, and publishes TypeScript-to-Markdown Spec imports, role service
- impl:protocol.sdp-import-publish: stages Markdown siblings and publishes them with atomic hard links, role publisher
- impl:protocol.sdp-import-scan: collects .sdp.ts paths and reports scan failures, role service
- impl:protocol.spec-scaffolder: scaffolds an honest idea-rung Markdown Spec through sdp new spec, role service
- impl:protocol.stamp-command: writes the publishing stamp without extraction or rendering, role publisher
- impl:protocol.studio-base-input: reads named Studio base graphs and run inputs, role codec
- impl:protocol.studio-command: validates and renders the Studio with independent byte checks and diagnostic exit codes, role publisher
- impl:protocol.studio-watch: awaits the plain Studio publication in each coalesced carrier-watch cycle, role service
- impl:protocol.validate-summary: prints validate's findings and its summary line, role codec
- impl:protocol.validate-watch: watches carrier directories and coalesces events into a pending validation rerun, role service
- impl:protocol.vault-command: validates after vault preflight and retains prior notes behind a failed-extraction index, role publisher
- impl:protocol.vault-watch: reuses the coalescing watcher with source suffixes and a synchronous vault cycle, role service
- impl:protocol.wholesale-view-rewrite: publishes each Design Review as one wholesale temporary-directory replacement, role publisher
- component:protocol.projections: Outside component
- impl:protocol.schema-version: Outside component
- impl:protocol.stamp-command uses impl:protocol.schema-version · anchored
- impl:protocol.vault-command uses component:protocol.projections · anchored
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
component:protocol.codegen contracts and registrar output
Layer application, context protocol, role projection.
Component source binding
component:protocol.codegencontracts and registrar output ·src/codegen/contracts.ts:633Satisfies
References
None.
Members
Role projection
impl:protocol.executable-contractsderives step and example-space contracts from the graph ·src/codegen/contracts.ts:647Satisfies
References
None.
impl:protocol.runnable-modulesderives and publishes runnable registrar modules from the graph ·src/codegen/contracts.ts:658Satisfies
References
None.
Uses
component:protocol.graph(1 unit edges)component:protocol.notation(1 unit edges)component:protocol.reader(1 unit edges)component:protocol.validate(1 unit edges)
Uses component:protocol.graph · 1 unit edges
component:protocol.codegenusescomponent:protocol.graph· anchored
Uses component:protocol.notation · 1 unit edges
component:protocol.codegenusescomponent:protocol.notation· anchored
Uses component:protocol.reader · 1 unit edges
component:protocol.codegenusescomponent:protocol.reader· anchored
Uses component:protocol.validate · 1 unit edges
component:protocol.codegenusescomponent:protocol.validate· anchored
Used by
component:protocol.cli(1 unit edges)
Satisfies
- spec:carrier.step-keys
- spec:extraction.executable-contracts
- spec:extraction.executable-examples
- spec:extraction.runnable-modules
References
None.
The diagram as text
- impl:protocol.executable-contracts: derives step and example-space contracts from the graph, role projection
- impl:protocol.runnable-modules: derives and publishes runnable registrar modules from the graph, role projection
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
component:protocol.extract the carrier and source pipeline
Layer application, context protocol, role extractor.
Component source binding
component:protocol.extractthe carrier and source pipeline ·src/extract/index.ts:192Satisfies
References
None.
Members
Role codec
impl:protocol.authoring-normalizationnormalizes rule markers and question fields after carrier reification ·src/extract/authoring-normalization.ts:8Satisfies
References
None.
impl:protocol.envelope-contractparses the bounded Markdown frontmatter envelope ·src/extract/markdown-frontmatter.ts:33Satisfies
References
None.
impl:protocol.inline-code-spansscans raw HTML outside matched code spans ·src/extract/markdown-inline-code.ts:4Satisfies
References
None.
impl:protocol.key-markersnormalizes step and term markers across the three carriers ·src/extract/key-markers.ts:136Satisfies
References
None.
impl:protocol.markdown-body-grammarmaps Markdown body content to typed prose owners ·src/extract/markdown-body.ts:120Satisfies
References
None.
impl:protocol.markdown-contentdecodes located Markdown entries and typed fences ·src/extract/markdown-body-content.ts:7Satisfies
References
None.
impl:protocol.markdown-yaml-policybounded YAML scalars and relation-target forms ·src/extract/markdown-yaml-policy.ts:33Satisfies
References
None.
impl:protocol.open-question-keysreads an open question's optional key from its Markdown marker and refuses a bad or repeated key ·src/extract/markdown-body-owner-behavior.ts:38Satisfies
References
None.
impl:protocol.open-section-orderpreserves authored open-section and model-term order and Pack field order ·src/extract/serialize.ts:105Satisfies
- spec:extraction.open-section-order
- spec:extraction.pack-member-order
- spec:model.open-question-keys
- spec:carrier.step-keys
- spec:model.term-addresses
References
None.
Role contract
impl:protocol.exclusion-surfacestrict root-relative exclusion input for both extraction surfaces ·src/extract/index.ts:43Satisfies
References
None.
Role decider
impl:protocol.gherkin-kind-policyshared Gherkin kind-refusal and loss explanations ·src/extract/gherkin-kind-honesty.ts:6Satisfies
References
Role extractor
impl:protocol.anchor-extractionanchor reification seam: the constant form and the comment form ·src/extract/anchors.ts:121Satisfies
References
impl:protocol.carrier-reificationreifies each canonical carrier surface into specs, packs, and findings ·src/extract/carrier.ts:54Satisfies
References
None.
impl:protocol.derive-graphderives the graph from reified carriers and bindings ·src/extract/derive.ts:241Satisfies
References
impl:protocol.discover-filesrealizes exclusion-aware discovery (normalizeExcludes / discoverFiles) ·src/extract/discover.ts:35Satisfies
References
None.
impl:protocol.entry-citation-scanrecords prose-mention tokens with addresses in anchored source files ·src/extract/entry-citations.ts:6Satisfies
References
None.
impl:protocol.entry-locationsbuilds the carrier entry location table ·src/extract/derive.ts:78Satisfies
References
None.
impl:protocol.extractextracts authored carriers and bindings into one graph ·src/extract/index.ts:208Satisfies
References
None.
impl:protocol.gherkin-authoringreifies Gherkin behavior and example authoring into the one carrier path ·src/extract/gherkin.ts:1323Satisfies
References
None.
impl:protocol.markdown-pack-authoringreifies the Markdown Pack manifest into the one carrier path ·src/extract/markdown-pack.ts:117Satisfies
References
None.
impl:protocol.markdown-parserreifies Markdown Specs and Packs through one carrier boundary ·src/extract/markdown.ts:37Satisfies
References
None.
impl:protocol.pack-member-orderkeeps manifest member order on the Pack node ·src/extract/derive.ts:153Satisfies
References
impl:protocol.protocol-bindingsProtocol builder-import trust (protocolBindingScopeFor / collectProtocolBindings) ·src/extract/protocol-bindings.ts:93Satisfies
References
None.
impl:protocol.static-reificationreifies authored carriers from the AST and never evaluates them ·src/extract/reify.ts:2139Satisfies
- spec:extraction.determinism
- spec:carrier.markdown-parser
- spec:carrier.markdown-pack-authoring
- spec:model.open-question-keys
References
None.
Role validator
impl:protocol.duplicate-id-exclusionexcludes duplicated carrier ids from the graph ·src/extract/index.ts:93Satisfies
References
None.
Uses
component:protocol.graph(2 unit edges)component:protocol.model(1 unit edges)component:protocol.notation(1 unit edges)component:protocol.validate(1 unit edges)
Uses component:protocol.graph · 2 unit edges
component:protocol.extractusescomponent:protocol.graph· anchoredimpl:protocol.derive-graphusesimpl:protocol.delivery-facts· anchored
Uses component:protocol.model · 1 unit edges
component:protocol.extractusescomponent:protocol.model· anchored
Uses component:protocol.notation · 1 unit edges
component:protocol.extractusescomponent:protocol.notation· anchored
Uses component:protocol.validate · 1 unit edges
component:protocol.extractusescomponent:protocol.validate· anchored
Used by
component:protocol.cli(1 unit edges)component:protocol.import(1 unit edges)component:protocol.projections(2 unit edges)
Satisfies
- spec:carrier.envelope-contract
- spec:carrier.gherkin-authoring
- spec:carrier.inline-code-spans
- spec:carrier.markdown-authoring
- spec:carrier.markdown-body-grammar
- spec:carrier.markdown-pack-authoring
- spec:carrier.markdown-parser
- spec:carrier.prose-ownership-rule
- spec:carrier.step-keys
- spec:consumers.gherkin-view
- spec:extraction.claim-taxonomy
- spec:extraction.derive-graph
- spec:extraction.determinism
- spec:extraction.entry-citations
- spec:extraction.entry-locations
- spec:extraction.excludes
- spec:extraction.open-section-order
- spec:extraction.pack-member-order
- spec:model.anchors
- spec:model.open-question-fields
- spec:model.open-question-keys
- spec:model.relation-reasons
- spec:model.rule-keys
- spec:model.structural-patterns
- spec:model.term-addresses
- spec:validation.duplicate-ids
References
- spec:decisions.anchor-binding-grain
- spec:decisions.anchor-comment-form
- spec:decisions.carrier-universality
- spec:decisions.roadmap-priority
Arrows: uses (anchored).
The diagram as text
- impl:protocol.anchor-extraction: anchor reification seam: the constant form and the comment form, role extractor
- impl:protocol.authoring-normalization: normalizes rule markers and question fields after carrier reification, role codec
- impl:protocol.duplicate-id-exclusion: excludes duplicated carrier ids from the graph, role validator
- impl:protocol.entry-citation-scan: records prose-mention tokens with addresses in anchored source files, role extractor
- impl:protocol.entry-locations: builds the carrier entry location table, role extractor
- impl:protocol.envelope-contract: parses the bounded Markdown frontmatter envelope, role codec
- impl:protocol.exclusion-surface: strict root-relative exclusion input for both extraction surfaces, role contract
- impl:protocol.extract: extracts authored carriers and bindings into one graph, role extractor
- impl:protocol.gherkin-authoring: reifies Gherkin behavior and example authoring into the one carrier path, role extractor
- impl:protocol.inline-code-spans: scans raw HTML outside matched code spans, role codec
- impl:protocol.key-markers: normalizes step and term markers across the three carriers, role codec
- impl:protocol.markdown-body-grammar: maps Markdown body content to typed prose owners, role codec
- impl:protocol.markdown-content: decodes located Markdown entries and typed fences, role codec
- impl:protocol.markdown-pack-authoring: reifies the Markdown Pack manifest into the one carrier path, role extractor
- impl:protocol.markdown-parser: reifies Markdown Specs and Packs through one carrier boundary, role extractor
- impl:protocol.markdown-yaml-policy: bounded YAML scalars and relation-target forms, role codec
- impl:protocol.open-question-keys: reads an open question's optional key from its Markdown marker and refuses a bad or repeated key, role codec
- impl:protocol.open-section-order: preserves authored open-section and model-term order and Pack field order, role codec
- impl:protocol.pack-member-order: keeps manifest member order on the Pack node, role extractor
- impl:protocol.protocol-bindings: Protocol builder-import trust (protocolBindingScopeFor / collectProtocolBindings), role extractor
- impl:protocol.static-reification: reifies authored carriers from the AST and never evaluates them, role extractor
- impl:protocol.carrier-reification: reifies each canonical carrier surface into specs, packs, and findings, role extractor
- impl:protocol.derive-graph: derives the graph from reified carriers and bindings, role extractor
- impl:protocol.discover-files: realizes exclusion-aware discovery (normalizeExcludes / discoverFiles), role extractor
- impl:protocol.gherkin-kind-policy: shared Gherkin kind-refusal and loss explanations, role decider
- impl:protocol.delivery-facts: Outside component
- impl:protocol.derive-graph uses impl:protocol.delivery-facts · anchored
- impl:protocol.extract uses impl:protocol.carrier-reification · anchored
- impl:protocol.extract uses impl:protocol.derive-graph · anchored
- impl:protocol.extract uses impl:protocol.discover-files · anchored
- impl:protocol.gherkin-authoring uses impl:protocol.gherkin-kind-policy · anchored
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
component:protocol.graph the one graph and its semantic decisions
Layer domain, context protocol, role contract.
Component source binding
component:protocol.graphthe one graph and its semantic decisions ·src/graph/schema.ts:34Satisfies
References
None.
Members
Role contract
impl:protocol.schema-versionversioned graph nodes, claims, edges and located evidence ·src/graph/schema.ts:9Satisfies
References
Role decider
impl:protocol.delivery-factscomputes delivery facts from resolving binding edges ·src/graph/delivery-facts.ts:65Satisfies
References
None.
impl:protocol.example-spaceresolves example-space vocabulary for contracts and floors ·src/graph/example-space.ts:117Satisfies
References
None.
impl:protocol.oracle-target-eligibilityresolves oracle targets by example-space ownership across Spec kinds ·src/graph/oracle-bindings.ts:25Satisfies
References
None.
Role reader
impl:protocol.entry-address-resolutionresolves entry addresses for prose validation and citation readers ·src/graph/entry-address.ts:6Satisfies
References
None.
Uses
component:protocol.model(1 unit edges)component:protocol.notation(1 unit edges)
Uses component:protocol.model · 1 unit edges
component:protocol.graphusescomponent:protocol.model· anchored
Uses component:protocol.notation · 1 unit edges
component:protocol.graphusescomponent:protocol.notation· anchored
Used by
component:protocol.cli(2 unit edges)component:protocol.codegen(1 unit edges)component:protocol.extract(2 unit edges)component:protocol.projections(1 unit edges)component:protocol.reader(2 unit edges)component:protocol.validate(2 unit edges)
Satisfies
- spec:extraction.claim-taxonomy
- spec:extraction.delivery-facts
- spec:extraction.derive-graph
- spec:extraction.entry-citations
- spec:extraction.executable-contracts
- spec:extraction.executable-examples
- spec:extraction.schema-versioning
- spec:validation.oracle-target-eligibility
- spec:validation.prose-mentions
References
The diagram as text
- impl:protocol.delivery-facts: computes delivery facts from resolving binding edges, role decider
- impl:protocol.entry-address-resolution: resolves entry addresses for prose validation and citation readers, role reader
- impl:protocol.example-space: resolves example-space vocabulary for contracts and floors, role decider
- impl:protocol.oracle-target-eligibility: resolves oracle targets by example-space ownership across Spec kinds, role decider
- impl:protocol.schema-version: versioned graph nodes, claims, edges and located evidence, role contract
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
component:protocol.import canonical conversion with a fidelity boundary
Layer application, context protocol, role service.
Component source binding
component:protocol.importcanonical conversion with a fidelity boundary ·src/import/import.ts:45Satisfies
References
None.
Members
Role codec
impl:protocol.sdp-import-markdown-emitemits the Markdown document twin for an imported Spec ·src/import/emit-markdown.ts:253Satisfies
References
None.
Role service
impl:protocol.sdp-import-coreconverts a TypeScript-carrier Spec into an idiomatic Markdown twin ·src/import/import.ts:58Satisfies
References
None.
Role validator
impl:protocol.import-fidelityrefuses Markdown emission that changes authored meaning ·src/import/markdown-fidelity.ts:102Satisfies
References
None.
Uses
component:protocol.extract(1 unit edges)component:protocol.notation(1 unit edges)component:protocol.validate(1 unit edges)
Uses component:protocol.extract · 1 unit edges
component:protocol.importusescomponent:protocol.extract· anchored
Uses component:protocol.notation · 1 unit edges
component:protocol.importusescomponent:protocol.notation· anchored
Uses component:protocol.validate · 1 unit edges
component:protocol.importusescomponent:protocol.validate· anchored
Used by
component:protocol.cli(1 unit edges)
Satisfies
References
None.
The diagram as text
- impl:protocol.import-fidelity: refuses Markdown emission that changes authored meaning, role validator
- impl:protocol.sdp-import-core: converts a TypeScript-carrier Spec into an idiomatic Markdown twin, role service
- impl:protocol.sdp-import-markdown-emit: emits the Markdown document twin for an imported Spec, role codec
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
component:protocol.model the authored contracts and stable ids
Layer domain, context protocol, role contract.
Component source binding
component:protocol.modelthe authored contracts and stable ids ·src/model/anchors.ts:100Satisfies
References
None.
Members
Role codec
impl:protocol.stable-idsstable ID grammar parser ·src/ids.ts:173Satisfies
References
None.
Role contract
impl:protocol.anchor-modelbinding-only anchor model builders ·src/model/anchors.ts:108Satisfies
References
impl:protocol.anchors-subpathzero-dependency subpath exporting the id and anchor builders only ·src/anchors.ts:8Satisfies
References
impl:protocol.pack-aggregatePack aggregate and model references ·src/model/pack.ts:23Satisfies
References
impl:protocol.spec-descriptorsSpec kind, altitude, and readiness coordinates ·src/model/descriptors.ts:38Satisfies
References
None.
impl:protocol.spec-primitiveSpec envelope and enrich-in-place shape ·src/model/spec.ts:20Satisfies
References
None.
impl:protocol.spec-relationsdeclared Spec relation builders ·src/model/relations.ts:81Satisfies
References
None.
impl:protocol.spec-sectionstyped Spec section shapes ·src/model/sections.ts:138Satisfies
References
None.
Uses
None.
Used by
component:protocol.cli(1 unit edges)component:protocol.extract(1 unit edges)component:protocol.graph(1 unit edges)component:protocol.projections(1 unit edges)component:protocol.reader(1 unit edges)component:protocol.validate(1 unit edges)
Satisfies
- spec:carrier.step-keys
- spec:model.anchors
- spec:model.core-model
- spec:model.open-question-keys
- spec:model.pack-aggregate
- spec:model.relations
- spec:model.spec-sections
- spec:model.stable-ids
- spec:model.term-addresses
References
- spec:decisions.anchor-comment-form
- spec:decisions.architectural-annotation
- spec:decisions.roadmap-priority
The diagram as text
- impl:protocol.anchor-model: binding-only anchor model builders, role contract
- impl:protocol.anchors-subpath: zero-dependency subpath exporting the id and anchor builders only, role contract
- impl:protocol.pack-aggregate: Pack aggregate and model references, role contract
- impl:protocol.spec-descriptors: Spec kind, altitude, and readiness coordinates, role contract
- impl:protocol.spec-primitive: Spec envelope and enrich-in-place shape, role contract
- impl:protocol.spec-relations: declared Spec relation builders, role contract
- impl:protocol.spec-sections: typed Spec section shapes, role contract
- impl:protocol.stable-ids: stable ID grammar parser, role codec
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
component:protocol.notation the leaf step codec
Layer domain, context protocol, role codec.
Component source binding
component:protocol.notationthe leaf step codec ·src/notation/slots.ts:261Satisfies
References
None.
Members
Role codec
impl:protocol.slot-notationparses slot groups and normalizes a step to its skeleton ·src/notation/slots.ts:269Satisfies
References
None.
Uses
None.
Used by
component:protocol.codegen(1 unit edges)component:protocol.extract(1 unit edges)component:protocol.graph(1 unit edges)component:protocol.import(1 unit edges)component:protocol.projections(1 unit edges)component:protocol.reader(1 unit edges)component:protocol.runner(1 unit edges)component:protocol.validate(1 unit edges)
Satisfies
References
None.
The diagram as text
- impl:protocol.slot-notation: parses slot groups and normalizes a step to its skeleton, role codec
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
component:protocol.projections read-only output, layout and owned publication
Layer edge, context protocol, role projection.
Component source binding
component:protocol.projectionsread-only output, layout and owned publication ·src/projections/design-review.ts:29Satisfies
References
None.
Members
Role codec
impl:protocol.design-review-codecshared Design Review Markdown paths and links ·src/projections/design-review-markdown.ts:3Satisfies
References
None.
impl:protocol.studio-code-spansescapes and maps code spans across Studio text ·src/projections/studio/pages/code-spans.ts:9Satisfies
References
None.
impl:protocol.studio-htmlshared Studio HTML, source and link encoding ·src/projections/studio/pages/html.ts:8Satisfies
References
None.
impl:protocol.studio-pathsencodes uppercase id letters for collision-free Pack and Spec page paths ·src/projections/studio/paths.ts:2Satisfies
References
None.
impl:protocol.studio-textescapes prose and links graph-resolving mentions ·src/projections/studio/pages/text.ts:7Satisfies
References
None.
impl:protocol.vault-textrenders checked mentions and escapes Obsidian syntax outside code spans ·src/projections/vault/text.ts:30Satisfies
References
None.
Role contract
impl:protocol.projections-modelpure generated projection page contract ·src/projections/design-review.ts:16Satisfies
References
None.
impl:protocol.studio-dataassembles reader contexts, Pack totals, rails and search records for static pages ·src/projections/studio/data.ts:279Satisfies
References
None.
impl:protocol.studio-diagram-modelshared diagram boxes, edges and drawing bounds ·src/projections/studio/diagrams/model.ts:1Satisfies
References
None.
impl:protocol.studio-inputsnamed base graph and run input contract ·src/projections/studio/inputs.ts:1Satisfies
References
None.
impl:protocol.studio-register-contractsshared recipe answer shapes for Studio registers ·src/projections/studio/pages/register-answers.ts:4Satisfies
None.
References
impl:protocol.studio-slice-answerfull design slice answer consumed by the page and drawings ·src/projections/studio/slice-answer.ts:1Satisfies
None.
References
Role projection
impl:protocol.binding-language-index-tablerenders binding presence in index and Pack tables ·src/projections/design-review-pages.ts:201Satisfies
References
None.
impl:protocol.binding-language-spec-pagerenders implementation, verifier, oracle, and observation binding language ·src/projections/design-review-context.ts:95Satisfies
References
None.
impl:protocol.census-pagerenders the derived census and runtime taxonomy projection ·src/projections/census.ts:21Satisfies
References
impl:protocol.derived-readiness-bannerrenders stated readiness beside the structural floor and dishonest divergence ·src/projections/design-review-context.ts:18Satisfies
References
None.
impl:protocol.design-reviewrenders the contextual Design Review projection ·src/projections/design-review.ts:44Satisfies
References
None.
impl:protocol.diagnostic-rendering-design-reviewrenders structured finding locations in the Design Review table ·src/projections/design-review-context.ts:208Satisfies
References
None.
impl:protocol.gherkin-viewrenders a generated Gherkin-shaped READ projection of any Spec ·src/projections/gherkin-view.ts:19Satisfies
References
None.
impl:protocol.mermaid-viewrenders bounded Spec one-hop and Pack membership diagrams ·src/projections/mermaid.ts:14Satisfies
References
None.
impl:protocol.pack-design-pagerenders the Pack page from the Pack design ·src/projections/design-review-pages.ts:120Satisfies
References
impl:protocol.pack-design-sectionsrenders the Pack page's next-rung, boundary, question and code sections ·src/projections/design-review-pack-sections.ts:19Satisfies
None.
References
impl:protocol.studio-architecture-diagramsarchitecture grids and bounded context and layer folds ·src/projections/studio/diagrams/architecture.ts:4Satisfies
References
None.
impl:protocol.studio-architecture-lensrenders recipe component rows and planned designs as architecture and member diagrams ·src/projections/studio/pages/architecture-page.ts:50Satisfies
- spec:consumers.spec-studio.lenses.architecture
- spec:consumers.spec-studio.lenses
- spec:consumers.spec-studio.diagram-kinds
References
impl:protocol.studio-capabilities-pagerenders epic evidence, refinement and unreached Specs from the capability map ·src/projections/studio/pages/capabilities-page.ts:78Satisfies
References
None.
impl:protocol.studio-capability-diagramsplaces refinement occurrences and bounded branches from the capability map ·src/projections/studio/diagrams/capability.ts:101Satisfies
References
None.
impl:protocol.studio-diagram-layouttitle-first box placement, wrapping and band sizing for desktop and phone ·src/projections/studio/diagrams/layout.ts:140Satisfies
References
None.
impl:protocol.studio-diagram-routingport, channel and overflow-rail edge routes around boxes and labels ·src/projections/studio/diagrams/routing.ts:38Satisfies
References
None.
impl:protocol.studio-diagram-sourceescaped Mermaid flowchart and mindmap source in placed box order ·src/projections/studio/diagrams/mermaid.ts:13Satisfies
- spec:consumers.spec-studio.diagram-kinds.mermaid-source
- spec:consumers.spec-studio.diagram-kinds.capability-tree
- spec:consumers.spec-studio.diagram-kinds
References
None.
impl:protocol.studio-diagramsdeterministic grid and band layouts with bounded folds and full text equivalents ·src/projections/studio/diagrams/svg.ts:73Satisfies
- spec:consumers.spec-studio.diagrams
- spec:consumers.spec-studio.diagram-kinds.edge-routing
- spec:consumers.spec-studio.diagram-kinds.legibility
- spec:consumers.spec-studio.diagram-kinds.mermaid-source
- spec:consumers.spec-studio.diagram-kinds
References
impl:protocol.studio-diffrenders declared design changes and binding changes separately ·src/projections/studio/pages/diff-page.ts:91Satisfies
References
None.
impl:protocol.studio-evidence-lensnames the four evidence sources and what would bring each into the Studio ·src/projections/studio/pages/evidence-page.ts:3Satisfies
References
impl:protocol.studio-framerenders Studio navigation, page rails and composing controls ·src/projections/studio/pages/frame.ts:6Satisfies
- spec:consumers.spec-studio.shell
- spec:consumers.spec-studio.responsive
- spec:consumers.spec-studio.intent-panel
- spec:consumers.spec-studio
- spec:consumers.spec-studio.lenses
- spec:consumers.spec-studio.navigation
- spec:consumers.spec-studio.capability-map-page
References
None.
impl:protocol.studio-glossaryrenders Model terms with their entry-address links ·src/projections/studio/pages/glossary-page.ts:7Satisfies
References
None.
impl:protocol.studio-index-pagerenders Pack disclosures and filterable Spec rows ·src/projections/studio/pages/index-page.ts:8Satisfies
- spec:consumers.spec-studio.index-page
- spec:consumers.spec-studio.lenses.packs
- spec:consumers.spec-studio.navigation
- spec:consumers.spec-studio.capability-map-page
References
None.
impl:protocol.studio-maturity-mapplaces resolved Pack members by their stated rung and floor in authored order ·src/projections/studio/pages/maturity-map.ts:7Satisfies
- spec:consumers.spec-studio.pack-page.maturity-map
- spec:consumers.spec-studio.components
- spec:consumers.spec-studio.diagram-kinds.maturity-picture
- spec:consumers.spec-studio.diagram-kinds
References
None.
impl:protocol.studio-owner-queuerenders waiting readiness statements and decider questions ·src/projections/studio/pages/queue-page.ts:9Satisfies
References
None.
impl:protocol.studio-pack-exportcopies rendered canvas content into one inline-styled document with prefixed element references ·src/projections/studio/pages/export-page.ts:35Satisfies
References
None.
impl:protocol.studio-pack-pagerenders Pack members, maturity and boundary joins ·src/projections/studio/pages/pack-page.ts:68Satisfies
- spec:consumers.spec-studio.pack-page
- spec:consumers.spec-studio.export
- spec:consumers.spec-studio.components
References
None.
impl:protocol.studio-page-catalogselects Studio pages, optional inputs and Pack exports ·src/projections/studio/pages/index.ts:21Satisfies
References
None.
impl:protocol.studio-registersrenders question, decision, declaration and backlog registers ·src/projections/studio/pages/registers-page.ts:47Satisfies
References
None.
impl:protocol.studio-relation-diagramsrelation and member bands and bounded relation folds ·src/projections/studio/diagrams/bands.ts:10Satisfies
References
None.
impl:protocol.studio-requirement-diagramfolds requirement bindings by relation direction and claim and serializes exact relations ·src/projections/studio/diagrams/requirement.ts:12Satisfies
References
None.
impl:protocol.studio-requirement-viewselects Spec refiners, verifying examples and their recorded bindings ·src/projections/studio/pages/requirement-view.ts:8Satisfies
References
None.
impl:protocol.studio-roadmap-pagerenders roadmap needs, holding parts and the shared Markdown memo ·src/projections/studio/pages/roadmap-page.ts:168Satisfies
References
None.
impl:protocol.studio-run-rowsrenders recipe 45 file rows shared by the runs page and verification panel ·src/projections/studio/pages/run-rows.ts:69Satisfies
References
None.
impl:protocol.studio-runs-pagerenders readable CTRF inputs, file results, unjoined records and diagnostics ·src/projections/studio/pages/runs-page.ts:6Satisfies
References
None.
impl:protocol.studio-search-pagepublishes search records beside the browser results view ·src/projections/studio/pages/search-page.ts:5Satisfies
References
None.
impl:protocol.studio-slice-architectureselected component grid with distinct planned identities and complete unit edges ·src/projections/studio/diagrams/slice.ts:219Satisfies
- spec:consumers.spec-studio.diagram-kinds.scoped-architecture
- spec:consumers.spec-studio.diagram-kinds
References
None.
impl:protocol.studio-slice-dependenciessupplied depth bands with protected boundary boxes and lossless text ·src/projections/studio/diagrams/slice.ts:10Satisfies
References
None.
impl:protocol.studio-slice-pagedesign slice summaries, member needs, architecture comparisons and boundary tables ·src/projections/studio/pages/slice-page.ts:25Satisfies
References
None.
impl:protocol.studio-spec-pagerenders Spec intent, relations and realization bindings ·src/projections/studio/pages/spec-page.ts:201Satisfies
References
None.
impl:protocol.studio-spec-structurerenders requirement and trace diagrams and the recorded structural neighborhood ·src/projections/studio/pages/spec-structure.ts:44Satisfies
References
None.
impl:protocol.studio-tests-lensrenders shared rule and example-space coverage with filters and verifier bindings ·src/projections/studio/pages/tests-page.ts:34Satisfies
References
impl:protocol.studio-unit-registerrenders component source bindings and role-grouped recorded units ·src/projections/studio/pages/architecture-register.ts:7Satisfies
References
None.
impl:protocol.studio-verification-panelsrenders rule coverage, example cards, constraint targets, verifiers and example-space coverage ·src/projections/studio/pages/spec-verification.ts:74Satisfies
References
None.
impl:protocol.vault-basesserializes standing query predicates over reader properties as Obsidian Bases ·src/projections/vault/bases.ts:43Satisfies
References
None.
impl:protocol.vault-notesrenders reader contexts, declared relations and keyed terms as linked notes ·src/projections/vault/notes.ts:45Satisfies
References
None.
impl:protocol.vault-sectionsrenders sections in graph order with keyed entry block ids ·src/projections/vault/sections.ts:10Satisfies
References
None.
Role publisher
impl:protocol.studio-publishcopies local assets and replaces the Studio directory through its temporary sibling ·src/projections/studio/publish.ts:24Satisfies
References
None.
impl:protocol.vault-syncguards every owned entry and records transitional hashes before atomic file replacement ·src/projections/vault/sync.ts:98Satisfies
References
Role service
impl:protocol.studio-recipesevaluates shipped recipe bodies once and shares answers between Studio pages ·src/projections/studio/recipes.ts:34Satisfies
References
Uses
component:protocol.extract(2 unit edges)component:protocol.graph(1 unit edges)component:protocol.model(1 unit edges)component:protocol.notation(1 unit edges)component:protocol.reader(4 unit edges)component:protocol.validate(1 unit edges)
Uses component:protocol.extract · 2 unit edges
component:protocol.projectionsusescomponent:protocol.extract· anchoredimpl:protocol.gherkin-viewusesimpl:protocol.gherkin-kind-policy· anchored
Uses component:protocol.graph · 1 unit edges
component:protocol.projectionsusescomponent:protocol.graph· anchored
Uses component:protocol.model · 1 unit edges
component:protocol.projectionsusescomponent:protocol.model· anchored
Uses component:protocol.notation · 1 unit edges
component:protocol.projectionsusescomponent:protocol.notation· anchored
Uses component:protocol.reader · 4 unit edges
component:protocol.projectionsusescomponent:protocol.reader· anchoredimpl:protocol.studio-recipesusesapi:protocol.evaluate-body· anchoredimpl:protocol.studio-recipesusesimpl:protocol.reader· anchoredimpl:protocol.vault-notesusesimpl:protocol.reader· anchored
Uses component:protocol.validate · 1 unit edges
component:protocol.projectionsusescomponent:protocol.validate· anchored
Used by
component:protocol.cli(2 unit edges)component:protocol.studio-elements(1 unit edges)
Satisfies
- spec:consumers.binding-language-views
- spec:consumers.census-page
- spec:consumers.derived-readiness-banner
- spec:consumers.design-review
- spec:consumers.design-review.pack-design-page
- spec:consumers.gherkin-view
- spec:consumers.mermaid-view
- spec:consumers.obsidian-vault
- spec:consumers.obsidian-vault.bases
- spec:consumers.obsidian-vault.iteration
- spec:consumers.obsidian-vault.notes
- spec:consumers.projections-model
- spec:consumers.roadmap.memo
- spec:consumers.spec-studio
- spec:consumers.spec-studio.capability-map-page
- spec:consumers.spec-studio.components
- spec:consumers.spec-studio.data
- spec:consumers.spec-studio.data.inputs
- spec:consumers.spec-studio.data.recipe-answers
- spec:consumers.spec-studio.diagram-kinds
- spec:consumers.spec-studio.diagram-kinds.capability-tree
- spec:consumers.spec-studio.diagram-kinds.dependency
- spec:consumers.spec-studio.diagram-kinds.edge-routing
- spec:consumers.spec-studio.diagram-kinds.legibility
- spec:consumers.spec-studio.diagram-kinds.maturity-picture
- spec:consumers.spec-studio.diagram-kinds.mermaid-source
- spec:consumers.spec-studio.diagram-kinds.requirement-trace
- spec:consumers.spec-studio.diagram-kinds.scoped-architecture
- spec:consumers.spec-studio.diagrams
- spec:consumers.spec-studio.diff-page
- spec:consumers.spec-studio.export
- spec:consumers.spec-studio.glossary-page
- spec:consumers.spec-studio.index-page
- spec:consumers.spec-studio.intent-panel
- spec:consumers.spec-studio.lenses
- spec:consumers.spec-studio.lenses.architecture
- spec:consumers.spec-studio.lenses.architecture.unit-register
- spec:consumers.spec-studio.lenses.evidence
- spec:consumers.spec-studio.lenses.packs
- spec:consumers.spec-studio.lenses.tests
- spec:consumers.spec-studio.navigation
- spec:consumers.spec-studio.owner-queue
- spec:consumers.spec-studio.pack-page
- spec:consumers.spec-studio.pack-page.maturity-map
- spec:consumers.spec-studio.publisher
- spec:consumers.spec-studio.registers
- spec:consumers.spec-studio.responsive
- spec:consumers.spec-studio.roadmap-page
- spec:consumers.spec-studio.runs-page
- spec:consumers.spec-studio.search
- spec:consumers.spec-studio.shell
- spec:consumers.spec-studio.slice-page
- spec:consumers.spec-studio.spec-page
- spec:consumers.spec-studio.spec-page.core
- spec:consumers.spec-studio.verification-panels
- spec:extraction.pack-member-order
- spec:model.structural-patterns
- spec:observation.run-evidence
- spec:validation.diagnostic-rendering
References
- spec:consumers.design-review.pack-design-page
- spec:consumers.design-slice
- spec:consumers.spec-studio.data.recipe-answers
- spec:decisions.architectural-annotation
- spec:decisions.pack-design-page
- spec:decisions.studio-build-renders
- spec:decisions.studio-diagram-renderer
- spec:decisions.vault-owned-folder
Shown as text: this drawing exceeds the bound of 40 boxes and 100 edges.
The diagram as text
- impl:protocol.binding-language-index-table: renders binding presence in index and Pack tables, role projection
- impl:protocol.binding-language-spec-page: renders implementation, verifier, oracle, and observation binding language, role projection
- impl:protocol.census-page: renders the derived census and runtime taxonomy projection, role projection
- impl:protocol.derived-readiness-banner: renders stated readiness beside the structural floor and dishonest divergence, role projection
- impl:protocol.design-review: renders the contextual Design Review projection, role projection
- impl:protocol.design-review-codec: shared Design Review Markdown paths and links, role codec
- impl:protocol.diagnostic-rendering-design-review: renders structured finding locations in the Design Review table, role projection
- impl:protocol.gherkin-view: renders a generated Gherkin-shaped READ projection of any Spec, role projection
- impl:protocol.mermaid-view: renders bounded Spec one-hop and Pack membership diagrams, role projection
- impl:protocol.pack-design-page: renders the Pack page from the Pack design, role projection
- impl:protocol.pack-design-sections: renders the Pack page's next-rung, boundary, question and code sections, role projection
- impl:protocol.projections-model: pure generated projection page contract, role contract
- impl:protocol.studio-architecture-diagrams: architecture grids and bounded context and layer folds, role projection
- impl:protocol.studio-architecture-lens: renders recipe component rows and planned designs as architecture and member diagrams, role projection
- impl:protocol.studio-capabilities-page: renders epic evidence, refinement and unreached Specs from the capability map, role projection
- impl:protocol.studio-capability-diagrams: places refinement occurrences and bounded branches from the capability map, role projection
- impl:protocol.studio-code-spans: escapes and maps code spans across Studio text, role codec
- impl:protocol.studio-data: assembles reader contexts, Pack totals, rails and search records for static pages, role contract
- impl:protocol.studio-diagram-layout: title-first box placement, wrapping and band sizing for desktop and phone, role projection
- impl:protocol.studio-diagram-model: shared diagram boxes, edges and drawing bounds, role contract
- impl:protocol.studio-diagram-routing: port, channel and overflow-rail edge routes around boxes and labels, role projection
- impl:protocol.studio-diagram-source: escaped Mermaid flowchart and mindmap source in placed box order, role projection
- impl:protocol.studio-diagrams: deterministic grid and band layouts with bounded folds and full text equivalents, role projection
- impl:protocol.studio-diff: renders declared design changes and binding changes separately, role projection
- impl:protocol.studio-evidence-lens: names the four evidence sources and what would bring each into the Studio, role projection
- impl:protocol.studio-frame: renders Studio navigation, page rails and composing controls, role projection
- impl:protocol.studio-glossary: renders Model terms with their entry-address links, role projection
- impl:protocol.studio-html: shared Studio HTML, source and link encoding, role codec
- impl:protocol.studio-index-page: renders Pack disclosures and filterable Spec rows, role projection
- impl:protocol.studio-inputs: named base graph and run input contract, role contract
- impl:protocol.studio-maturity-map: places resolved Pack members by their stated rung and floor in authored order, role projection
- impl:protocol.studio-owner-queue: renders waiting readiness statements and decider questions, role projection
- impl:protocol.studio-pack-export: copies rendered canvas content into one inline-styled document with prefixed element references, role projection
- impl:protocol.studio-pack-page: renders Pack members, maturity and boundary joins, role projection
- impl:protocol.studio-page-catalog: selects Studio pages, optional inputs and Pack exports, role projection
- impl:protocol.studio-paths: encodes uppercase id letters for collision-free Pack and Spec page paths, role codec
- impl:protocol.studio-publish: copies local assets and replaces the Studio directory through its temporary sibling, role publisher
- impl:protocol.studio-recipes: evaluates shipped recipe bodies once and shares answers between Studio pages, role service
- impl:protocol.studio-register-contracts: shared recipe answer shapes for Studio registers, role contract
- impl:protocol.studio-registers: renders question, decision, declaration and backlog registers, role projection
- impl:protocol.studio-relation-diagrams: relation and member bands and bounded relation folds, role projection
- impl:protocol.studio-requirement-diagram: folds requirement bindings by relation direction and claim and serializes exact relations, role projection
- impl:protocol.studio-requirement-view: selects Spec refiners, verifying examples and their recorded bindings, role projection
- impl:protocol.studio-roadmap-page: renders roadmap needs, holding parts and the shared Markdown memo, role projection
- impl:protocol.studio-run-rows: renders recipe 45 file rows shared by the runs page and verification panel, role projection
- impl:protocol.studio-runs-page: renders readable CTRF inputs, file results, unjoined records and diagnostics, role projection
- impl:protocol.studio-search-page: publishes search records beside the browser results view, role projection
- impl:protocol.studio-slice-answer: full design slice answer consumed by the page and drawings, role contract
- impl:protocol.studio-slice-architecture: selected component grid with distinct planned identities and complete unit edges, role projection
- impl:protocol.studio-slice-dependencies: supplied depth bands with protected boundary boxes and lossless text, role projection
- impl:protocol.studio-slice-page: design slice summaries, member needs, architecture comparisons and boundary tables, role projection
- impl:protocol.studio-spec-page: renders Spec intent, relations and realization bindings, role projection
- impl:protocol.studio-spec-structure: renders requirement and trace diagrams and the recorded structural neighborhood, role projection
- impl:protocol.studio-tests-lens: renders shared rule and example-space coverage with filters and verifier bindings, role projection
- impl:protocol.studio-text: escapes prose and links graph-resolving mentions, role codec
- impl:protocol.studio-unit-register: renders component source bindings and role-grouped recorded units, role projection
- impl:protocol.studio-verification-panels: renders rule coverage, example cards, constraint targets, verifiers and example-space coverage, role projection
- impl:protocol.vault-bases: serializes standing query predicates over reader properties as Obsidian Bases, role projection
- impl:protocol.vault-notes: renders reader contexts, declared relations and keyed terms as linked notes, role projection
- impl:protocol.vault-sections: renders sections in graph order with keyed entry block ids, role projection
- impl:protocol.vault-sync: guards every owned entry and records transitional hashes before atomic file replacement, role publisher
- impl:protocol.vault-text: renders checked mentions and escapes Obsidian syntax outside code spans, role codec
- api:protocol.evaluate-body: Outside component
- impl:protocol.gherkin-kind-policy: Outside component
- impl:protocol.reader: Outside component
- impl:protocol.gherkin-view uses impl:protocol.gherkin-kind-policy · anchored
- impl:protocol.studio-diagrams uses impl:protocol.studio-diagram-model · anchored
- impl:protocol.studio-recipes uses api:protocol.evaluate-body · anchored
- impl:protocol.studio-recipes uses impl:protocol.reader · anchored
- impl:protocol.vault-notes uses impl:protocol.reader · anchored
component:protocol.reader the typed graph contract and body evaluator
Layer application, context protocol, role reader.
Component source binding
component:protocol.readerthe typed graph contract and body evaluator ·src/reader/reader.ts:671Satisfies
References
None.
Members
Role codec
impl:protocol.example-space-decodingshared example-space interpretation for contracts and reader contexts ·src/notation/example-space.ts:473Satisfies
References
None.
Role reader
impl:protocol.entry-citation-readerresolves citations and joins file anchors with direct and example-based test verification ·src/reader/entry-citations.ts:19Satisfies
References
None.
impl:protocol.pack-designthe Pack design helpers and the Pack context assembly they serve ·src/reader/reader.ts:499Satisfies
References
impl:protocol.readertyped graph queries, entry adapters and context joins ·src/reader/reader.ts:687Satisfies
- spec:consumers.reader
- spec:extraction.entry-locations
- spec:validation.next-rung-floor
- spec:consumers.agent-surface
- spec:extraction.pack-member-order
References
impl:protocol.studio-concept-matchmatches concepts deterministically across graph and browser queries ·src/reader/concept-match.ts:43Satisfies
References
None.
Role service
api:protocol.evaluate-bodyevaluates bodies and shipped recipes over one in-memory reader, graph and report ·src/reader/evaluate-body.ts:120Satisfies
References
None.
Uses
component:protocol.graph(2 unit edges)component:protocol.model(1 unit edges)component:protocol.notation(1 unit edges)component:protocol.validate(2 unit edges)
Uses component:protocol.graph · 2 unit edges
component:protocol.readerusescomponent:protocol.graph· anchoredimpl:protocol.readerusesimpl:protocol.delivery-facts· anchored
Uses component:protocol.model · 1 unit edges
component:protocol.readerusescomponent:protocol.model· anchored
Uses component:protocol.notation · 1 unit edges
component:protocol.readerusescomponent:protocol.notation· anchored
Uses component:protocol.validate · 2 unit edges
component:protocol.readerusescomponent:protocol.validate· anchoredimpl:protocol.readerusesimpl:protocol.next-rung-floor· anchored
Used by
component:protocol.cli(1 unit edges)component:protocol.codegen(1 unit edges)component:protocol.projections(4 unit edges)component:protocol.studio-elements(1 unit edges)
Satisfies
- spec:carrier.step-keys
- spec:consumers.agent-surface
- spec:consumers.agent-surface.evaluation-sink
- spec:consumers.agent-surface.example-space-coverage
- spec:consumers.pack-design
- spec:consumers.reader
- spec:consumers.spec-studio.search
- spec:extraction.contract-declarations
- spec:extraction.entry-citations
- spec:extraction.entry-locations
- spec:extraction.pack-member-order
- spec:model.design-maturity
- spec:validation.next-rung-floor
References
Arrows: uses (anchored).
The diagram as text
- api:protocol.evaluate-body: evaluates bodies and shipped recipes over one in-memory reader, graph and report, role service
- impl:protocol.entry-citation-reader: resolves citations and joins file anchors with direct and example-based test verification, role reader
- impl:protocol.example-space-decoding: shared example-space interpretation for contracts and reader contexts, role codec
- impl:protocol.pack-design: the Pack design helpers and the Pack context assembly they serve, role reader
- impl:protocol.reader: typed graph queries, entry adapters and context joins, role reader
- impl:protocol.studio-concept-match: matches concepts deterministically across graph and browser queries, role reader
- impl:protocol.delivery-facts: Outside component
- impl:protocol.next-rung-floor: Outside component
- impl:protocol.reader uses impl:protocol.delivery-facts · anchored
- impl:protocol.reader uses impl:protocol.next-rung-floor · anchored
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
component:protocol.runner provider-neutral example execution
Layer application, context protocol, role service.
Component source binding
component:protocol.runnerprovider-neutral example execution ·src/runner/index.ts:99Satisfies
References
None.
Members
Role service
impl:protocol.example-runnerplans and executes a bound example against the caller's world ·src/runner/index.ts:108Satisfies
References
None.
Uses
component:protocol.notation(1 unit edges)
Uses component:protocol.notation · 1 unit edges
component:protocol.runnerusescomponent:protocol.notation· anchored
Used by
component:protocol.adapters(2 unit edges)component:protocol.testing(1 unit edges)
Satisfies
References
None.
The diagram as text
- impl:protocol.example-runner: plans and executes a bound example against the caller's world, role service
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
component:protocol.studio-elements optional browser behavior and proposal handoff
Layer edge, context protocol, role interaction.
Component source binding
component:protocol.studio-elementsoptional browser behavior and proposal handoff ·src/studio-elements/index.ts:13Satisfies
References
None.
Members
Role contract
impl:protocol.studio-proposal-contractbrowser proposal shape and schema checks ·src/studio-elements/proposal.ts:1Satisfies
References
None.
Role interaction
impl:protocol.studio-composeopens a native request dialog beside build-rendered scopes without changing their content ·src/studio-elements/compose.ts:13Satisfies
References
None.
impl:protocol.studio-copycopies text with selection fallback and failure feedback ·src/studio-elements/copy.ts:22Satisfies
References
None.
impl:protocol.studio-diagram-elementadds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23Satisfies
- spec:consumers.spec-studio.diagrams
- spec:consumers.spec-studio.responsive
- spec:consumers.spec-studio.export
- spec:consumers.spec-studio.components
- spec:consumers.spec-studio.diagram-kinds.legibility
References
impl:protocol.studio-expanderopens fragment ancestors and expands disclosures for print ·src/studio-elements/expander.ts:16Satisfies
References
None.
impl:protocol.studio-filterfilters build-rendered rows through their recorded attributes ·src/studio-elements/filter.ts:25Satisfies
- spec:consumers.spec-studio.page-elements
- spec:consumers.spec-studio.components
- spec:consumers.spec-studio.capability-map-page
References
None.
impl:protocol.studio-intent-panel-elementdisplays gathered requests and writes copy selections or local download links ·src/studio-elements/intent-panel-element.ts:14Satisfies
References
impl:protocol.studio-scenario-editorgathers the edited Given, When and Then as exact text scoped to its subject ·src/studio-elements/scenario-editor.ts:17Satisfies
References
None.
impl:protocol.studio-search-formroutes search forms through page-root URLs and fragments ·src/studio-elements/search.ts:18Satisfies
References
None.
impl:protocol.studio-stampresolves published stamps and source links in the browser ·src/studio-elements/stamp.ts:30Satisfies
References
None.
Role projection
impl:protocol.studio-proposal-memorenders proposal fields verbatim with fences that outgrow their content ·src/studio-elements/memo.ts:13Satisfies
References
None.
impl:protocol.studio-search-resultsranks and renders concept, entry and file search hits ·src/studio-elements/search-results.ts:95Satisfies
- spec:consumers.spec-studio.search
- spec:consumers.spec-studio.page-elements
- spec:consumers.spec-studio.components
References
None.
Role service
impl:protocol.studio-intent-panelgathers ordered intents under the page-root storage key and partitions their hand-off ·src/studio-elements/intent-panel.ts:51Satisfies
References
Uses
component:protocol.projections(1 unit edges)component:protocol.reader(1 unit edges)
Uses component:protocol.projections · 1 unit edges
component:protocol.studio-elementsusescomponent:protocol.projections· anchored
Uses component:protocol.reader · 1 unit edges
component:protocol.studio-elementsusescomponent:protocol.reader· anchored
Used by
None.
Satisfies
- spec:consumers.intent-composition.proposal
- spec:consumers.intent-composition.proposal.memo
- spec:consumers.spec-studio.capability-map-page
- spec:consumers.spec-studio.components
- spec:consumers.spec-studio.diagram-kinds.legibility
- spec:consumers.spec-studio.diagrams
- spec:consumers.spec-studio.export
- spec:consumers.spec-studio.intent-panel
- spec:consumers.spec-studio.page-elements
- spec:consumers.spec-studio.responsive
- spec:consumers.spec-studio.search
- spec:consumers.spec-studio.sharing
References
- spec:consumers.edit-model
- spec:consumers.intent-composition
- spec:decisions.studio-build-renders
- spec:decisions.studio-diagram-renderer
The diagram as text
- impl:protocol.studio-compose: opens a native request dialog beside build-rendered scopes without changing their content, role interaction
- impl:protocol.studio-copy: copies text with selection fallback and failure feedback, role interaction
- impl:protocol.studio-diagram-element: adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout, role interaction
- impl:protocol.studio-expander: opens fragment ancestors and expands disclosures for print, role interaction
- impl:protocol.studio-filter: filters build-rendered rows through their recorded attributes, role interaction
- impl:protocol.studio-intent-panel: gathers ordered intents under the page-root storage key and partitions their hand-off, role service
- impl:protocol.studio-intent-panel-element: displays gathered requests and writes copy selections or local download links, role interaction
- impl:protocol.studio-proposal-contract: browser proposal shape and schema checks, role contract
- impl:protocol.studio-proposal-memo: renders proposal fields verbatim with fences that outgrow their content, role projection
- impl:protocol.studio-scenario-editor: gathers the edited Given, When and Then as exact text scoped to its subject, role interaction
- impl:protocol.studio-search-form: routes search forms through page-root URLs and fragments, role interaction
- impl:protocol.studio-search-results: ranks and renders concept, entry and file search hits, role projection
- impl:protocol.studio-stamp: resolves published stamps and source links in the browser, role interaction
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
component:protocol.testing the generated registrar runtime
Layer adapter, context protocol, role adapter.
Component source binding
component:protocol.testingthe generated registrar runtime ·src/testing/index.ts:38Satisfies
References
None.
Members
Role adapter
impl:protocol.example-testing-helpersadapter-lifecycle and oracle-comparison helpers for bound examples ·src/testing/index.ts:50Satisfies
References
None.
Uses
component:protocol.adapters(1 unit edges)component:protocol.runner(1 unit edges)
Uses component:protocol.adapters · 1 unit edges
component:protocol.testingusescomponent:protocol.adapters· anchored
Uses component:protocol.runner · 1 unit edges
component:protocol.testingusescomponent:protocol.runner· anchored
Used by
None.
Satisfies
References
None.
The diagram as text
- impl:protocol.example-testing-helpers: adapter-lifecycle and oracle-comparison helpers for bound examples, role adapter
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
component:protocol.validate one finding currency and ordered checks
Layer domain, context protocol, role validator.
Component source binding
component:protocol.validateone finding currency and ordered checks ·src/validate/validators.ts:72Satisfies
References
None.
Members
Role contract
impl:protocol.validation-contractsconformance/honesty family currency and finding shapes ·src/validate/contracts.ts:5Satisfies
References
None.
impl:protocol.validation-familiesconformance and honesty validator registry ·src/validate/validators.ts:60Satisfies
References
None.
Role decider
impl:protocol.kind-evidencedefines the code-level per-kind evidence rows for readiness floors ·src/validate/readiness-floor.ts:398Satisfies
References
None.
Role index
impl:protocol.graph-indexbuilds the one-graph index validators and the reader share ·src/validate/graph-index.ts:28Satisfies
References
None.
Role validator
impl:protocol.authored-honesty-delivery-factschecks stated delivery facts equal the one recomputed derivation ·src/validate/validators.ts:1624Satisfies
References
None.
impl:protocol.authored-honesty-shaperefuses delivery facts smuggled through authored section carriers ·src/validate/validators.ts:1556Satisfies
References
None.
impl:protocol.claim-separationchecks graph claims, descriptors, node shapes, and relation endpoint contracts ·src/validate/validators.ts:534Satisfies
References
None.
impl:protocol.duplicate-idsrejects duplicate node identities from any graph producer ·src/validate/validators.ts:263Satisfies
References
None.
impl:protocol.next-rung-floorevaluates the floor for a target rung and names the targets that break a dependency ·src/validate/readiness-floor.ts:603Satisfies
References
None.
impl:protocol.oracle-linkageresolves and de-duplicates expected-outcome oracle bindings ·src/validate/validators.ts:913Satisfies
References
None.
impl:protocol.orphan-signalsurfaces relationless Specs as informative orphan warnings ·src/validate/validators.ts:1128Satisfies
References
None.
impl:protocol.pack-coherencechecks Pack membership agreement and uniqueness and model-reference kinds ·src/validate/validators.ts:1102Satisfies
References
None.
impl:protocol.prose-mentionschecks that prose mentions resolve and warns once per unbacked Spec pair ·src/validate/validators.ts:1370Satisfies
References
None.
impl:protocol.readiness-floorevaluates the stated readiness floor against the graph ·src/validate/readiness-floor.ts:612Satisfies
References
None.
impl:protocol.referential-integritychecks every graph edge endpoint and Pack model reference resolves ·src/validate/validators.ts:183Satisfies
References
None.
impl:protocol.rule-exerciseschecks the keys named by declared verifies relations ·src/validate/validators.ts:1479Satisfies
References
None.
impl:protocol.structural-anchorschecks structural anchor validity and disjoint realization and reference targets ·src/validate/validators.ts:595Satisfies
References
impl:protocol.superseded-decision-signalwalks decision replacements to surface stale shaping relations ·src/validate/validators.ts:1817Satisfies
References
None.
impl:protocol.typed-dependency-floorchecks stated readiness across all four typed dependencies ·src/validate/readiness-floor.ts:347Satisfies
References
None.
impl:protocol.unbound-example-posturelimits unbound example warnings to stated ready ·src/validate/validators.ts:847Satisfies
References
None.
impl:protocol.verifier-gap-signalsurfaces ready Specs without recomputed verifier bindings as informative gaps ·src/validate/validators.ts:1734Satisfies
References
None.
impl:protocol.verifier-semanticsreadiness clauses over direct verification bindings ·src/validate/readiness-floor.ts:593Satisfies
References
None.
impl:protocol.verifies-linkageresolves declared example verification through enabled test bindings ·src/validate/validators.ts:838Satisfies
References
None.
Uses
component:protocol.graph(2 unit edges)component:protocol.model(1 unit edges)component:protocol.notation(1 unit edges)
Uses component:protocol.graph · 2 unit edges
component:protocol.validateusescomponent:protocol.graph· anchoredimpl:protocol.authored-honesty-delivery-factsusesimpl:protocol.delivery-facts· anchored
Uses component:protocol.model · 1 unit edges
component:protocol.validateusescomponent:protocol.model· anchored
Uses component:protocol.notation · 1 unit edges
component:protocol.validateusescomponent:protocol.notation· anchored
Used by
component:protocol.cli(1 unit edges)component:protocol.codegen(1 unit edges)component:protocol.extract(1 unit edges)component:protocol.import(1 unit edges)component:protocol.projections(1 unit edges)component:protocol.reader(2 unit edges)
Satisfies
- spec:extraction.pack-member-order
- spec:model.anchors
- spec:model.open-question-keys
- spec:model.rule-keys
- spec:model.spec-sections
- spec:model.term-addresses
- spec:validation.authored-honesty
- spec:validation.claim-separation
- spec:validation.diagnostic-rendering
- spec:validation.duplicate-ids
- spec:validation.kind-evidence
- spec:validation.next-rung-floor
- spec:validation.oracle-target-eligibility
- spec:validation.pack-coherence
- spec:validation.prose-mentions
- spec:validation.readiness-floor
- spec:validation.referential-integrity
- spec:validation.superseded-decision-signal
- spec:validation.two-check-families
- spec:validation.typed-dependency-floor
- spec:validation.unbound-example-posture
- spec:validation.verification-linkage
- spec:validation.warn-level-signals
References
Arrows: uses (anchored).
The diagram as text
- impl:protocol.authored-honesty-delivery-facts: checks stated delivery facts equal the one recomputed derivation, role validator
- impl:protocol.authored-honesty-shape: refuses delivery facts smuggled through authored section carriers, role validator
- impl:protocol.claim-separation: checks graph claims, descriptors, node shapes, and relation endpoint contracts, role validator
- impl:protocol.duplicate-ids: rejects duplicate node identities from any graph producer, role validator
- impl:protocol.graph-index: builds the one-graph index validators and the reader share, role index
- impl:protocol.kind-evidence: defines the code-level per-kind evidence rows for readiness floors, role decider
- impl:protocol.next-rung-floor: evaluates the floor for a target rung and names the targets that break a dependency, role validator
- impl:protocol.oracle-linkage: resolves and de-duplicates expected-outcome oracle bindings, role validator
- impl:protocol.orphan-signal: surfaces relationless Specs as informative orphan warnings, role validator
- impl:protocol.pack-coherence: checks Pack membership agreement and uniqueness and model-reference kinds, role validator
- impl:protocol.prose-mentions: checks that prose mentions resolve and warns once per unbacked Spec pair, role validator
- impl:protocol.readiness-floor: evaluates the stated readiness floor against the graph, role validator
- impl:protocol.referential-integrity: checks every graph edge endpoint and Pack model reference resolves, role validator
- impl:protocol.rule-exercises: checks the keys named by declared verifies relations, role validator
- impl:protocol.structural-anchors: checks structural anchor validity and disjoint realization and reference targets, role validator
- impl:protocol.superseded-decision-signal: walks decision replacements to surface stale shaping relations, role validator
- impl:protocol.typed-dependency-floor: checks stated readiness across all four typed dependencies, role validator
- impl:protocol.unbound-example-posture: limits unbound example warnings to stated ready, role validator
- impl:protocol.validation-contracts: conformance/honesty family currency and finding shapes, role contract
- impl:protocol.validation-families: conformance and honesty validator registry, role contract
- impl:protocol.verifier-gap-signal: surfaces ready Specs without recomputed verifier bindings as informative gaps, role validator
- impl:protocol.verifier-semantics: readiness clauses over direct verification bindings, role validator
- impl:protocol.verifies-linkage: resolves declared example verification through enabled test bindings, role validator
- impl:protocol.delivery-facts: Outside component
- impl:protocol.authored-honesty-delivery-facts uses impl:protocol.delivery-facts · anchored
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
No component
Role contract
impl:protocol.proposal-schema-and-reciperealizes the shipped proposal schema and proposal check in the recipe catalog ·test/iteration-recipes.test.ts:1510Satisfies
References
None.
impl:protocol.validator-probe-tabledeclares the refusing and accepting probes for every registered finding id ·test/helpers/validator-probes.ts:372Satisfies
References
None.
Role projection
impl:protocol.capability-adoption-reciperealizes capability adoption in the shipped recipe catalog ·test/upgrade-kit.test.ts:514Satisfies
References
None.
impl:protocol.capability-map-recipeasserts realization of The capability map in docs/agent-surface/recipes.md ·test/recipes.test.ts:7602Satisfies
References
impl:protocol.context-bundle-reciperealizes the context bundle in the shipped recipe catalog ·test/iteration-recipes.test.ts:765Satisfies
References
None.
impl:protocol.design-diff-reciperealizes the design diff in the shipped recipe catalog ·test/iteration-recipes.test.ts:27Satisfies
References
None.
impl:protocol.design-slice-reciperealizes the design slice in the shipped recipe catalog ·test/self-hosting-design-slice.test.ts:148Satisfies
References
None.
impl:protocol.perspective-filter-reciperealizes the perspective filter in the shipped recipe catalog ·test/iteration-recipes.test.ts:753Satisfies
References
None.
impl:protocol.roadmap-memo-reciperealizes the roadmap memo in the shipped recipe catalog ·test/roadmap.test.ts:27Satisfies
References
None.
impl:protocol.roadmap-reciperealizes the roadmap in the shipped recipe catalog ·test/roadmap.test.ts:20Satisfies
References
None.
impl:protocol.rule-key-proposal-reciperealizes the rule-key proposal in the shipped recipe catalog ·test/upgrade-kit.test.ts:742Satisfies
References
None.
impl:protocol.statement-queue-reciperealizes the statement queue in the shipped recipe catalog ·test/self-hosting-readiness-planner.test.ts:74Satisfies
References
None.
Role validator
impl:protocol.roadmap-practicerealizes the roadmap handbook and its current-record gate ·test/check-self-hosting-gates.test.ts:52Satisfies
References
None.
impl:protocol.validator-self-testingaudits the finding registries against source literals and paired probes ·test/helpers/validator-audit.ts:86Satisfies
References
None.
Role not stated
impl:protocol.address-and-cycle-recipesasserts realization of the shipped address resolution and dependency cycle recipes ·test/recipes.test.ts:3568Satisfies
References
None.
impl:protocol.adopter-on-rampasserts realization of the shipped adopter teaching in the authoring skill ·test/skills.test.ts:712Satisfies
References
None.
impl:protocol.answer-shape-recipesasserts realization of the catalog's compact and detailed answers ·test/recipes.test.ts:6214Satisfies
References
None.
impl:protocol.architecture-walk-recipeasserts realization of the shipped architecture walk recipe ·test/architecture-recipes.test.ts:10Satisfies
References
None.
impl:protocol.authoring-grammar-recipesasserts the authoring grammar's realization in docs/agent-surface/recipes.md ·test/recipes.test.ts:6597Satisfies
References
impl:protocol.authoring-on-rampasserts realization of the shipped graph-first authoring skill document ·test/skills.test.ts:76Satisfies
References
None.
impl:protocol.authoring-recipesasserts realization of the shipped authoring recipe catalog ·test/recipes.test.ts:335Satisfies
References
None.
impl:protocol.capability-epicsasserts realization of the capability epics in the shipped corpus's refinement ·test/recipes.test.ts:8173Satisfies
References
None.
impl:protocol.curation-recipeasserts the curation report over external inferred imports ·test/curation-recipes.test.ts:32Satisfies
References
impl:protocol.delivery-session-on-rampasserts realization of the shipped advisory delivery-session skill document ·test/skills.test.ts:83Satisfies
References
None.
impl:protocol.design-recipesasserts realization of the shipped design recipes ·test/recipes.test.ts:4769Satisfies
References
None.
impl:protocol.entry-citation-recipeasserts realization of Entry citations in docs/agent-surface/recipes.md ·test/recipes.test.ts:7008Satisfies
References
None.
impl:protocol.entry-location-recipesasserts realization of the entry lines the entry search and address resolution recipes return ·test/recipes.test.ts:5979Satisfies
References
None.
impl:protocol.example-space-coverage-recipeasserts realization of shipped recipe 44 ·test/studio-s1.test.ts:856Satisfies
References
None.
impl:protocol.external-registers-recipeasserts realization of the shipped external-registers recipe ·test/external-registers.test.ts:9Satisfies
References
None.
impl:protocol.graph-first-planningrealizes placement homes and advisory session guidance in the shipped skills ·test/skills.test.ts:290Satisfies
References
None.
impl:protocol.planned-components-recipeasserts realization of the shipped planned against realized components recipe ·test/architecture-recipes.test.ts:16Satisfies
References
None.
impl:protocol.proposal-memo-reciperealizes the catalog proposal memo through its verbatim body check ·test/recipes.test.ts:7298Satisfies
References
None.
impl:protocol.reading-on-rampasserts realization of the shipped graph-reading skill document ·test/skills.test.ts:662Satisfies
References
None.
impl:protocol.recipe-parameters-catalogasserts realization of the catalog recipes that read their parameter from params ·test/recipes.test.ts:4405Satisfies
References
None.
impl:protocol.register-recipesasserts realization of the shipped register recipes ·test/recipes.test.ts:2057Satisfies
- spec:consumers.agent-surface.register-recipes
- spec:model.open-question-keys
- spec:extraction.contract-declarations
- spec:model.term-addresses
References
None.
impl:protocol.role-vocabularyasserts realization of the role vocabulary in the engine anchors' pinned roles ·test/self-hosting-graph.test.ts:143Satisfies
References
None.
impl:protocol.run-evidence-recipeasserts realization of Run evidence in docs/agent-surface/recipes.md ·test/recipes.test.ts:7277Satisfies
References
None.
impl:protocol.self-hostingrealizes the self-hosted corpus through the shared extraction and validation path ·test/self-hosting-graph.test.ts:136Satisfies
References
None.
impl:protocol.shipped-protocol-corpusasserts the published package ships the Protocol corpus ·test/package-smoke.test.ts:252Satisfies
References
None.
impl:protocol.slimming-recipeasserts realization of the shipped slimming-candidates recipe ·test/curation-recipes.test.ts:26Satisfies
References
None.
impl:protocol.structural-self-bindingrealizes the declared significant-unit set and its structural self-binding ·test/self-hosting-oracle/structural-edges.ts:76Satisfies
- spec:protocol.structural-self-binding
- spec:model.structural-patterns
- spec:protocol.significant-units-review
References
None.
impl:protocol.studio-on-rampasserts realization of the shipped Studio skill document ·test/skills.test.ts:1693Satisfies
References
None.
impl:protocol.studio-preview-workflowasserts the reusable Studio preview workflow and Protocol CI caller ·test/studio-s4.test.ts:742Satisfies
References
None.
impl:protocol.upgrade-guiderealizes the shipped upgrade guide document ·test/upgrade-kit.test.ts:87Satisfies
References
None.
impl:protocol.vault-on-rampasserts realization of the shipped vault skill document ·test/skills.test.ts:1995Satisfies
References
None.
Composing (0)
Composing needs the script.