outcomeCanonical Gherkin carriers use .sdp.gherkin
spec:decisions.sdp-gherkin-extensionPacks: pack:self-hosting-v1
Design: no design entries · no pinned declarations · no decisions
Findings: no errors, no warnings
specs/decisions/sdp-gherkin-extension.sdp.md
No open questions and no blocking questions; implementation binding none, verifier binding none, and expected-outcome oracle none.
Intent
- Keep graph-aware Gherkin Specs discoverable by the Protocol without colliding with default Cucumber runner globs.
Decision
context- The Gherkin carrier option admits a BDD-native surface for behavior and example Specs, but does not settle the file suffix. Bare
.featurekeeps default editor and Cucumber tooling recognition, yet matches ordinary runner globs and therefore risks treating Protocol carriers as executable Cucumber tests. A compound Protocol suffix mirrors the.sdp.tscollision-safety law and gives discovery a unique, content-free signal. decision- Canonical graph-aware Gherkin Specs use the
.sdp.gherkinsuffix. Discovery is suffix-only:.sdp.gherkinfiles are Gherkin carriers, and bare.featurefiles are not. Bare.featureremains non-canonical territory for import sources, foreign corpora, and historical lineage, never a second live canonical surface. This ruling does not change which Spec kinds may choose Gherkin, does not flip the default carrier away from Markdown, and does not admit dual-suffix discovery or content sniffing. rationale- Collision safety outranks default editor recognition when choosing a suffix that becomes costly to change after adoption. Compound extensions already identify Markdown and TypeScript carriers without test-glob collisions; applying the same pattern to Gherkin keeps one discovery walk honest. Teams that want highlighting can associate
*.sdp.gherkinwith Gherkin in the editor, while Cucumber's default*.featureglobs stay clear of Protocol carriers.
- Collision safety outranks default editor recognition when choosing a suffix that becomes costly to change after adoption. Compound extensions already identify Markdown and TypeScript carriers without test-glob collisions; applying the same pattern to Gherkin keeps one discovery walk honest. Teams that want highlighting can associate
consequences- Extractors, CLI empty-corpus diagnostics, copy rules, fixtures, and authoring guidance treat
.sdp.gherkinas the only discovered Gherkin carrier suffix. - Ordinary
.featurefiles beside a corpus neither enter the graph nor poison extraction; they stay import-source and foreign-corpus material until an explicit import adapter says otherwise. - Default editor and formatter recognition for bare
.featureis not inherited; consumers configure a*.sdp.gherkinassociation when they want Gherkin highlighting or formatting.
- Extractors, CLI empty-corpus diagnostics, copy rules, fixtures, and authoring guidance treat
alternatives- Keeping bare
.featureas canonical would preserve stock Gherkin tooling out of the box, but would keep Protocol carriers inside default Cucumber globs and invite false execution of authored intent. - Accepting both
.featureand.sdp.gherkinwould create a dual-suffix window, split discovery, and weaken the one-canonical-surface law the carrier rulings already enforce.
- Keeping bare
Verification
Verifier bindings
No verifier binding recorded.
Design view
Requirement drawing
- Declared verifying examples: no declared verifying example.
- Satisfying or referencing units: no recorded binding.
- Test or oracle bindings: no recorded binding.
Arrows: refines (declared).
The diagram as text
- spec:decisions.sdp-gherkin-extension: Canonical Gherkin carriers use .sdp.gherkin · declared Spec
- spec:decisions.gherkin-carrier-option: Behavior and example Specs may use Gherkin canonically · declared Spec
- spec:decisions.sdp-gherkin-extension refines spec:decisions.gherkin-carrier-option · declared — fixes the canonical Gherkin suffix as .sdp.gherkin and keeps bare .feature files out of discovery
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.
Decisions
No decision record named.
Runtime
No implementation neighborhood recorded.
Runtime observation: not tracked.
Evidence
Runtime observation: not tracked.
Build attestations: not tracked.
Deployments: not tracked.
Bills of materials: not tracked.
Impact
The diagram as text
- spec:carrier.gherkin-authoring: Gherkin authoring enters the one graph
- spec:decisions.gherkin-carrier-option: Behavior and example Specs may use Gherkin canonically
- spec:decisions.sdp-gherkin-extension: Canonical Gherkin carriers use .sdp.gherkin
- spec:decisions.sdp-ts-extension: Spec extensions identify the carrier without colliding with tests
- spec:decisions.sdp-gherkin-extension dependsOn spec:decisions.sdp-ts-extension · declared
- spec:decisions.sdp-gherkin-extension refines spec:decisions.gherkin-carrier-option · declared — fixes the canonical Gherkin suffix as .sdp.gherkin and keeps bare .feature files out of discovery
- spec:carrier.gherkin-authoring decidedBy spec:decisions.sdp-gherkin-extension · declared
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
Rests on
- refines · spec:decisions.gherkin-carrier-option · stated ready, floor ready
- dependsOn · spec:decisions.sdp-ts-extension · stated ready, floor ready
Rested on by
Distance 1
- spec:carrier.gherkin-authoring
Implementing units
impl:protocol.gherkin-authoring·src/extract/gherkin.ts:1323impl:protocol.gherkin-kind-policy·src/extract/gherkin-kind-honesty.ts:6
Referencing units
None.
Enabled verifiers: spec:carrier.gherkin-authoring.authored-fact-refused, spec:carrier.gherkin-authoring.contract-parity, spec:carrier.gherkin-authoring.description-location-refused, spec:carrier.gherkin-authoring.duplicate-surface-refused, spec:carrier.gherkin-authoring.example-space-extraction, spec:carrier.gherkin-authoring.malformed-relation-refused, spec:carrier.gherkin-authoring.missing-id-refused, spec:carrier.gherkin-authoring.multi-finding-bounded, spec:carrier.gherkin-authoring.parent-child-extraction, spec:carrier.gherkin-authoring.step-less-scenario-refused, spec:carrier.gherkin-authoring.unbound-ready-refused, spec:carrier.gherkin-authoring.unknown-tag-refused, spec:carrier.gherkin-authoring.unsupported-construct-refused
Packs: pack:self-hosting-v1
Distance 2
- spec:carrier.gherkin-authoring.authored-fact-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.authored-fact-refused
Packs: pack:self-hosting-v1
- spec:carrier.gherkin-authoring.contract-parity
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.contract-parity
Packs: pack:self-hosting-v1
- spec:carrier.gherkin-authoring.description-location-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.description-location-refused
Packs: pack:self-hosting-v1
- spec:carrier.gherkin-authoring.duplicate-surface-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.duplicate-surface-refused
Packs: pack:self-hosting-v1
- spec:carrier.gherkin-authoring.example-space-extraction
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.example-space-extraction
Packs: pack:self-hosting-v1
- spec:carrier.gherkin-authoring.malformed-relation-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.malformed-relation-refused
Packs: pack:self-hosting-v1
- spec:carrier.gherkin-authoring.missing-id-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.missing-id-refused
Packs: pack:self-hosting-v1
- spec:carrier.gherkin-authoring.multi-finding-bounded
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.multi-finding-bounded
Packs: pack:self-hosting-v1
- spec:carrier.gherkin-authoring.parent-child-extraction
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.parent-child-extraction
Packs: pack:self-hosting-v1
- spec:carrier.gherkin-authoring.step-less-scenario-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.step-less-scenario-refused
Packs: pack:self-hosting-v1
- spec:carrier.gherkin-authoring.unbound-ready-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.unbound-ready-refused
Packs: pack:self-hosting-v1
- spec:carrier.gherkin-authoring.unknown-tag-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.unknown-tag-refused
Packs: pack:self-hosting-v1
- spec:carrier.gherkin-authoring.unsupported-construct-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.gherkin-authoring.unsupported-construct-refused
Packs: pack:self-hosting-v1
- spec:consumers.authoring-on-ramp
Implementing units
impl:protocol.authoring-on-ramp·test/skills.test.ts:76impl:protocol.spec-scaffolder·src/cli/new-spec-command.ts:348
Referencing units
None.
Enabled verifiers: test:protocol.authoring-on-ramp
Packs: pack:self-hosting-v1
Distance 3
- spec:consumers.adopter-on-ramp
Implementing units
impl:protocol.adopter-help·src/cli/help.ts:167impl:protocol.adopter-on-ramp·test/skills.test.ts:712
Referencing units
None.
Enabled verifiers: test:protocol.adopter-on-ramp, test:protocol.shipped-protocol-corpus
Packs: pack:self-hosting-v1
- spec:consumers.delivery-session-on-ramp
Implementing units
impl:protocol.delivery-session-on-ramp·test/skills.test.ts:83
Referencing units
None.
Enabled verifiers: test:protocol.delivery-session-on-ramp
Packs: pack:self-hosting-v1
- spec:consumers.graph-first-planning
Implementing units
impl:protocol.graph-first-planning·test/skills.test.ts:290
Referencing units
None.
Enabled verifiers: test:protocol.graph-first-planning
Packs: pack:self-hosting-v1
- spec:consumers.shipped-protocol-corpus
Implementing units
impl:protocol.shipped-protocol-corpus·test/package-smoke.test.ts:252
Referencing units
None.
Enabled verifiers: test:protocol.shipped-protocol-corpus
Packs: pack:self-hosting-v1
- spec:consumers.upgrade-kit
Implementing units
impl:protocol.upgrade-guide·test/upgrade-kit.test.ts:87
Referencing units
None.
Enabled verifiers: test:protocol.upgrade-guide
- spec:consumers.validate-watch
Implementing units
impl:protocol.validate-watch·src/cli/validate-watch.ts:591
Referencing units
None.
Enabled verifiers: test:protocol.validate-watch, test:protocol.validate-watch-rules
Packs: pack:adopter-speed-v1, pack:design-management-v1, pack:self-hosting-v1
Distance 4
- spec:consumers.command-line
Implementing units
impl:protocol.adopter-help·src/cli/help.ts:167impl:protocol.agent-surface-cli·src/cli/sdp.ts:94impl:protocol.build-args·src/cli/build-args.ts:11impl:protocol.generate-command·src/cli/generate-command.ts:34
Referencing units
None.
Enabled verifiers: spec:consumers.command-line.generate-check-failure, spec:consumers.command-line.generate-writes-every-root, spec:consumers.command-line.verb-help-touches-nothing
- spec:consumers.engine-provenance
Implementing units
impl:protocol.build-artifacts·src/cli/build-artifacts.ts:182impl:protocol.engine-provenance-cli·src/cli/sdp.ts:102
Referencing units
None.
Enabled verifiers: test:protocol.engine-provenance
- spec:consumers.obsidian-vault.iteration
Implementing units
impl:protocol.vault-sync·src/projections/vault/sync.ts:98impl:protocol.vault-text·src/projections/vault/text.ts:30impl:protocol.vault-watch·src/cli/vault-command.ts:219
Referencing units
None.
Enabled verifiers: spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes, spec:consumers.obsidian-vault.iteration.watch-source-anchor
- spec:consumers.readiness-planner
Implementing units
impl:protocol.statement-queue-recipe·test/self-hosting-readiness-planner.test.ts:74
Referencing units
None.
Enabled verifiers: spec:consumers.readiness-planner.cycle-shares-a-round, spec:consumers.readiness-planner.decision-first, spec:consumers.readiness-planner.dependency-order, spec:consumers.readiness-planner.owner-question-holds
- spec:consumers.roadmap
Implementing units
impl:protocol.roadmap-recipe·test/roadmap.test.ts:20
Referencing units
None.
Enabled verifiers: spec:consumers.roadmap.blocking-part, spec:consumers.roadmap.buildable-part, spec:consumers.roadmap.built-work, spec:consumers.roadmap.design-part, spec:consumers.roadmap.drifting-part, spec:consumers.roadmap.missing-evidence, spec:consumers.roadmap.outside-parent, spec:consumers.roadmap.statement-order, spec:consumers.roadmap.statement-part, test:protocol.roadmap-recipe
- spec:consumers.spec-studio.publisher.watch
Implementing units
impl:protocol.studio-watch·src/cli/studio-command.ts:122
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.publisher.watch.matches-plain-run
- spec:consumers.upgrade-kit.capability-adoption
Implementing units
impl:protocol.capability-adoption-recipe·test/upgrade-kit.test.ts:514
Referencing units
None.
Enabled verifiers: spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus
- spec:consumers.upgrade-kit.rule-key-proposal
Implementing units
impl:protocol.rule-key-proposal-recipe·test/upgrade-kit.test.ts:742
Referencing units
None.
Enabled verifiers: spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable, spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean
- spec:validation.corpus-rules
Implementing units
impl:protocol.corpus-rule-runner·src/cli/corpus-rules.ts:65impl:protocol.corpus-rules·src/cli/validate-view-command.ts:79impl:protocol.validate-watch·src/cli/validate-watch.ts:591
Referencing units
None.
Enabled verifiers: spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run, spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run, spec:validation.corpus-rules.copies-contain-changes, spec:validation.corpus-rules.error-finding-fails, spec:validation.corpus-rules.malformed-finding-fails, spec:validation.corpus-rules.params-edit-starts-a-cycle, spec:validation.corpus-rules.rules-edit-starts-a-cycle, spec:validation.corpus-rules.unreadable-params-fail-one-file, spec:validation.corpus-rules.warning-finding-informs
Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:design-management-v1, pack:self-hosting-v1
Distance 5
- spec:consumers.command-line.generate-check-failure
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.command-line.generate-check-failure
- spec:consumers.command-line.generate-writes-every-root
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.command-line.generate-writes-every-root
- spec:consumers.command-line.verb-help-touches-nothing
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.command-line.verb-help-touches-nothing
- spec:consumers.design-slice
Implementing units
impl:protocol.design-slice-recipe·test/self-hosting-design-slice.test.ts:148
Referencing units
impl:protocol.studio-slice-answer·src/projections/studio/slice-answer.ts:1
Enabled verifiers: spec:consumers.design-slice.chain, spec:consumers.design-slice.component-absent, spec:consumers.design-slice.component-differing, spec:consumers.design-slice.component-matching, spec:consumers.design-slice.component-unreadable, spec:consumers.design-slice.component-unrelated, spec:consumers.design-slice.decision-backlink, spec:consumers.design-slice.dependency-cycle, spec:consumers.design-slice.folded-example, spec:consumers.design-slice.independent-example, spec:consumers.design-slice.outside-components, spec:consumers.design-slice.outside-holding, spec:consumers.design-slice.outside-satisfied, spec:consumers.design-slice.outside-unbound, test:protocol.design-slice
- spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.consumers.obsidian-vault.iteration.watch-rewrites-changed-notes
- spec:consumers.obsidian-vault.iteration.watch-source-anchor
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.consumers.obsidian-vault.iteration.watch-source-anchor
- spec:consumers.projections-model.roadmap-views
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
- spec:consumers.readiness-planner.cycle-shares-a-round
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.readiness-planner.cycle-shares-a-round
- spec:consumers.readiness-planner.decision-first
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.readiness-planner.decision-first
- spec:consumers.readiness-planner.dependency-order
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.readiness-planner.dependency-order
- spec:consumers.readiness-planner.owner-question-holds
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.readiness-planner.owner-question-holds
- spec:consumers.roadmap.blocking-part
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.blocking-part
- spec:consumers.roadmap.buildable-part
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.buildable-part
- spec:consumers.roadmap.built-work
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.built-work
- spec:consumers.roadmap.design-part
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.design-part
- spec:consumers.roadmap.drifting-part
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.drifting-part
- spec:consumers.roadmap.memo
Implementing units
impl:protocol.roadmap-memo-recipe·test/roadmap.test.ts:27impl:protocol.studio-roadmap-page·src/projections/studio/pages/roadmap-page.ts:168
Referencing units
None.
Enabled verifiers: test:protocol.roadmap-memo-recipe, test:protocol.studio-roadmap-page
- spec:consumers.roadmap.missing-evidence
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.missing-evidence
- spec:consumers.roadmap.outside-parent
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.outside-parent
- spec:consumers.roadmap.statement-order
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.statement-order
- spec:consumers.roadmap.statement-part
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.statement-part
- spec:consumers.spec-studio.owner-queue
Implementing units
impl:protocol.studio-owner-queue·src/projections/studio/pages/queue-page.ts:9
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.owner-queue.dependency-first
- spec:consumers.spec-studio.publisher.watch.matches-plain-run
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-watch-plain
- spec:consumers.spec-studio.roadmap-page
Implementing units
impl:protocol.studio-roadmap-page·src/projections/studio/pages/roadmap-page.ts:168
Referencing units
None.
Enabled verifiers: test:protocol.studio-roadmap-page
- spec:consumers.spec-studio.sharing
Implementing units
impl:protocol.stamp-command·src/cli/stamp-command.ts:8impl:protocol.studio-preview-workflow·test/studio-s4.test.ts:742impl:protocol.studio-stamp·src/studio-elements/stamp.ts:30
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.sharing.stamp-written-apart
- spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.capability-adoption.counts-a-corpus
- spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.rule-key-proposal.collision-and-unkeyable
- spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.rule-key-proposal.proposal-applies-clean
- spec:consumers.vault-on-ramp
Implementing units
impl:protocol.vault-on-ramp·test/skills.test.ts:1995
Referencing units
None.
Enabled verifiers: test:protocol.vault-on-ramp
- spec:protocol.roadmap-replaces-plans
Implementing units
impl:protocol.roadmap-practice·test/check-self-hosting-gates.test.ts:52
Referencing units
None.
Enabled verifiers: test:protocol.roadmap-practice
- spec:validation.architecture-constraints
Implementing units
impl:protocol.architecture-walk-recipe·test/architecture-recipes.test.ts:10
Referencing units
None.
Enabled verifiers: spec:validation.architecture-constraints.forbidden-layer-pair, spec:validation.architecture-constraints.isolated-context-as-rule, spec:validation.architecture-constraints.unstated-layer-unclassified
Packs: pack:corpus-checks-v1, pack:design-management-v1, pack:self-hosting-v1
- spec:validation.corpus-rules.copies-contain-changes
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.corpus-rules.copies-contain-changes
- spec:validation.corpus-rules.error-finding-fails
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.corpus-rules.error-finding-fails
- spec:validation.corpus-rules.malformed-finding-fails
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.corpus-rules.malformed-finding-fails
- spec:validation.corpus-rules.params-edit-starts-a-cycle
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.corpus-rules.params-edit-starts-a-cycle
Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:self-hosting-v1
- spec:validation.corpus-rules.rules-edit-starts-a-cycle
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.corpus-rules.rules-edit-starts-a-cycle
Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:self-hosting-v1
- spec:validation.corpus-rules.unreadable-params-fail-one-file
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.corpus-rules.unreadable-params-fail-one-file
Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:self-hosting-v1
- spec:validation.corpus-rules.warning-finding-informs
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.corpus-rules.warning-finding-informs
- spec:validation.external-registers
Implementing units
impl:protocol.external-registers-recipe·test/external-registers.test.ts:9
Referencing units
None.
Enabled verifiers: spec:validation.external-registers.uncited-on-request, spec:validation.external-registers.unknown-and-retired
Distance 6
- spec:consumers.design-slice.chain
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.chain
- spec:consumers.design-slice.component-absent
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.component-absent
- spec:consumers.design-slice.component-differing
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.component-differing
- spec:consumers.design-slice.component-matching
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.component-matching
- spec:consumers.design-slice.component-unreadable
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.component-unreadable
- spec:consumers.design-slice.component-unrelated
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.component-unrelated
- spec:consumers.design-slice.decision-backlink
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.decision-backlink
- spec:consumers.design-slice.dependency-cycle
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.dependency-cycle
- spec:consumers.design-slice.folded-example
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.folded-example
- spec:consumers.design-slice.independent-example
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.independent-example
- spec:consumers.design-slice.outside-components
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.outside-components
- spec:consumers.design-slice.outside-holding
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.outside-holding
- spec:consumers.design-slice.outside-satisfied
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.outside-satisfied
- spec:consumers.design-slice.outside-unbound
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.outside-unbound
- spec:consumers.spec-studio.diagram-kinds.dependency
Implementing units
impl:protocol.studio-slice-dependencies·src/projections/studio/diagrams/slice.ts:10
Referencing units
None.
Enabled verifiers: test:protocol.studio-slice-dependency
- spec:consumers.spec-studio.diagram-kinds.scoped-architecture
Implementing units
impl:protocol.studio-slice-architecture·src/projections/studio/diagrams/slice.ts:219
Referencing units
None.
Enabled verifiers: test:protocol.studio-slice-architecture
- spec:consumers.spec-studio.owner-queue.dependency-first
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-queue-dependency-first
- spec:consumers.spec-studio.register-input
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: pack:roadmap, pack:self-hosting-v1
- spec:consumers.spec-studio.sharing.stamp-written-apart
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-stamp-apart
- spec:consumers.spec-studio.shell
Implementing units
impl:protocol.studio-code-spans·src/projections/studio/pages/code-spans.ts:9impl:protocol.studio-frame·src/projections/studio/pages/frame.ts:6impl:protocol.studio-html·src/projections/studio/pages/html.ts:8impl:protocol.studio-text·src/projections/studio/pages/text.ts:7
Referencing units
None.
Enabled verifiers: test:protocol.studio-pages
- spec:consumers.spec-studio.slice-page
Implementing units
impl:protocol.studio-slice-page·src/projections/studio/pages/slice-page.ts:25
Referencing units
None.
Enabled verifiers: test:protocol.studio-slice-page
- spec:consumers.spec-studio.spec-page
Implementing units
impl:protocol.studio-requirement-view·src/projections/studio/pages/requirement-view.ts:8impl:protocol.studio-spec-page·src/projections/studio/pages/spec-page.ts:201impl:protocol.studio-spec-structure·src/projections/studio/pages/spec-structure.ts:44
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.spec-page.cited-declaration, test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels
- spec:consumers.studio-on-ramp
Implementing units
impl:protocol.studio-on-ramp·test/skills.test.ts:1693
Referencing units
None.
Enabled verifiers: test:protocol.studio-on-ramp
- spec:protocol.delivery-record-cleanup
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: pack:roadmap, pack:self-hosting-v1
- spec:validation.architecture-constraints.forbidden-layer-pair
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.architecture-constraints.forbidden-layer-pair
- spec:validation.architecture-constraints.isolated-context-as-rule
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.architecture-constraints.isolated-context-as-rule
- spec:validation.architecture-constraints.unstated-layer-unclassified
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.architecture-constraints.unstated-layer-unclassified
- spec:validation.external-registers.uncited-on-request
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.external-registers.uncited-on-request
- spec:validation.external-registers.unknown-and-retired
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.external-registers.unknown-and-retired
Distance 7
- spec:consumers.spec-studio.export
Implementing units
impl:protocol.studio-diagram-element·src/studio-elements/diagram.ts:23impl:protocol.studio-expander·src/studio-elements/expander.ts:16impl:protocol.studio-pack-export·src/projections/studio/pages/export-page.ts:35impl:protocol.studio-pack-page·src/projections/studio/pages/pack-page.ts:68
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.export.self-contained, test:protocol.studio-intent-handoff
- spec:consumers.spec-studio.index-page
Implementing units
impl:protocol.studio-index-page·src/projections/studio/pages/index-page.ts:8
Referencing units
None.
Enabled verifiers: test:protocol.studio-pages
- spec:consumers.spec-studio.navigation
Implementing units
impl:protocol.studio-frame·src/projections/studio/pages/frame.ts:6impl:protocol.studio-index-page·src/projections/studio/pages/index-page.ts:8
Referencing units
None.
Enabled verifiers: test:protocol.studio-navigation, test:protocol.studio-roadmap-page
- spec:consumers.spec-studio.pack-page
Implementing units
impl:protocol.studio-pack-page·src/projections/studio/pages/pack-page.ts:68
Referencing units
None.
Enabled verifiers: test:protocol.roadmap-priority, test:protocol.studio-pages
- spec:consumers.spec-studio.page-elements
Implementing units
component:protocol.studio-elements·src/studio-elements/index.ts:13impl:protocol.studio-copy·src/studio-elements/copy.ts:22impl:protocol.studio-expander·src/studio-elements/expander.ts:16impl:protocol.studio-filter·src/studio-elements/filter.ts:25impl:protocol.studio-search-form·src/studio-elements/search.ts:18impl:protocol.studio-search-results·src/studio-elements/search-results.ts:95impl:protocol.studio-stamp·src/studio-elements/stamp.ts:30
Referencing units
None.
Enabled verifiers: test:protocol.studio-copy-source, test:protocol.studio-page-elements
- spec:consumers.spec-studio.registers
Implementing units
impl:protocol.studio-registers·src/projections/studio/pages/registers-page.ts:47
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.registers.blocking-first
- spec:consumers.spec-studio.search
Implementing units
impl:protocol.studio-concept-match·src/reader/concept-match.ts:43impl:protocol.studio-search-page·src/projections/studio/pages/search-page.ts:5impl:protocol.studio-search-results·src/studio-elements/search-results.ts:95
Referencing units
None.
Enabled verifiers: test:protocol.studio-concept-match, test:protocol.studio-page-elements, test:protocol.studio-pages
- spec:consumers.spec-studio.spec-page.cited-declaration
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-cited-declaration
- spec:consumers.spec-studio.spec-page.core
Implementing units
impl:protocol.studio-spec-page·src/projections/studio/pages/spec-page.ts:201
Referencing units
None.
Enabled verifiers: test:protocol.studio-pages
- spec:consumers.spec-studio.verification-panels
Implementing units
impl:protocol.studio-run-rows·src/projections/studio/pages/run-rows.ts:69impl:protocol.studio-verification-panels·src/projections/studio/pages/spec-verification.ts:74
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.verification-panels.rule-coverage, test:protocol.studio-panels
Distance 8
- spec:consumers.spec-studio.capability-map-page
Implementing units
impl:protocol.studio-capabilities-page·src/projections/studio/pages/capabilities-page.ts:78impl:protocol.studio-filter·src/studio-elements/filter.ts:25impl:protocol.studio-frame·src/projections/studio/pages/frame.ts:6impl:protocol.studio-index-page·src/projections/studio/pages/index-page.ts:8
Referencing units
None.
Enabled verifiers: test:protocol.studio-capabilities
- spec:consumers.spec-studio.cited-line-text
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: pack:roadmap, pack:self-hosting-v1
- spec:consumers.spec-studio.diagram-kinds.mermaid-source
Implementing units
impl:protocol.studio-diagram-source·src/projections/studio/diagrams/mermaid.ts:13impl:protocol.studio-diagrams·src/projections/studio/diagrams/svg.ts:73
Referencing units
None.
Enabled verifiers: test:protocol.studio-diagram-core
- spec:consumers.spec-studio.export.self-contained
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-export-contained
- spec:consumers.spec-studio.pack-page.maturity-map
Implementing units
impl:protocol.studio-maturity-map·src/projections/studio/pages/maturity-map.ts:7
Referencing units
None.
Enabled verifiers: test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels
- spec:consumers.spec-studio.registers.blocking-first
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-registers-blocking-first
- spec:consumers.spec-studio.verification-panels.rule-coverage
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-rule-coverage
Relations
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| dependsOn · outgoing | Spec extensions identify the carrier without colliding with testsspec:decisions.sdp-ts-extension · resolves | declared | None | None |
| refines · outgoing | Behavior and example Specs may use Gherkin canonicallyspec:decisions.gherkin-carrier-option · resolves | declared | fixes the canonical Gherkin suffix as .sdp.gherkin and keeps bare .feature files out of discovery | None |
| decidedBy · incoming | Gherkin authoring enters the one graphspec:carrier.gherkin-authoring · resolves | declared | None | None |
Bindings
Implementation binding: none
Design reference: none
Verifier binding: none
Expected-outcome oracle: none
Runtime observation: not tracked.
Run results: not recorded in the graph.
Findings
None.
Composing (0)
Composing needs the script.