outcomeConsumer exclusions stay exact
spec:decisions.exclusion-contractPacks: pack:self-hosting-v1
Design: no design entries · no pinned declarations · no decisions
Findings: no errors, no warnings
specs/decisions/exclusion-contract.sdp.md
No open questions and no blocking questions; implementation binding none, verifier binding none, and expected-outcome oracle none.
Intent
- Keep consumer-selected omissions precise and unsurprising.
Decision
context- Exclusion input crosses from a consumer into canonical source discovery.
decision- Consumers declare exclusions as exact root-relative POSIX path prefixes.
rationale- Semantic globbing and path normalization are rejected because they make an omission broader or different from the path the consumer supplied.
consequences- A prefix excludes only itself and slash-delimited descendants; malformed paths, including Windows-drive absolutes, are refused.
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.exclusion-contract: Consumer exclusions stay exact · declared Spec
- spec:extraction.excludes: Extraction exclusions are strict consumer input · declared Spec
- spec:decisions.exclusion-contract refines spec:extraction.excludes · declared
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
- E2: decidedBy · declared
The diagram as text
- spec:decisions.exclusion-contract: Consumer exclusions stay exact
- spec:extraction.excludes: Extraction exclusions are strict consumer input
- spec:decisions.exclusion-contract refines spec:extraction.excludes · declared
- spec:extraction.excludes decidedBy spec:decisions.exclusion-contract · 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:extraction.excludes · stated ready, floor ready
Rested on by
Distance 1
- spec:extraction.excludes
Implementing units
impl:protocol.discover-files·src/extract/discover.ts:35impl:protocol.exclusion-surface·src/extract/index.ts:43
Referencing units
None.
Enabled verifiers: spec:extraction.excludes.refused-path, spec:extraction.excludes.segment-boundary
Packs: pack:self-hosting-v1
Distance 2
- 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.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
- spec:extraction.excludes.refused-path
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.excludes.refused-path
Packs: pack:self-hosting-v1
- spec:extraction.excludes.segment-boundary
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.excludes.segment-boundary
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.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.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: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 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.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.spec-studio.publisher.watch.matches-plain-run
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-watch-plain
- 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: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 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.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
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: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 6
- 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.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
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.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.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.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.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.owner-queue.dependency-first
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-queue-dependency-first
- 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.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.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 |
|---|---|---|---|---|
| refines · outgoing | Extraction exclusions are strict consumer inputspec:extraction.excludes · resolves | declared | None | None |
| decidedBy · incoming | Extraction exclusions are strict consumer inputspec:extraction.excludes · 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.