Self-hosting
pack:self-hosting-v1specs/self-hosting.pack.sdp.mdDownload this Pack as one file
Where the design stands
- 456 members in authored reading order; no unresolved members.
- 8 members held below their stated next rung: A bare .feature corpus can be imported (1 unmet clause), Roadmap views read releases, baselines and phases from git and the graph (1 unmet clause), A reference projection serves a reader outside the repository (1 unmet clause), Mermaid diagrams can be rooted at code units (1 unmet clause), A pinned declaration shows the words of each test line that cites it (1 unmet clause), An outside register is a named Studio input, so a cited token links to its entry (1 unmet clause), Runtime observations can close the liveness loop (1 unmet clause), The Protocol removes its frozen plans, review reports and superseded concept material (1 unmet clause).
- 1 member waiting only for their author's statement: Exhaustive symbol reach waits for a language-neutral identity.
- 598 design entries and 231 pinned declarations.
- 16 open questions and 10 blocking questions.
- 166 members with an implementation binding.
- 18 members with a design reference.
- No outside Specs the Pack rests on; no outside Specs rest on the Pack; no outside Specs verify it; no outside Specs supersede it.
Maturity map
Outlined diagonal: matches. Right of diagonal: floor above statement. Left of diagonal: statement above floor.
Maturity map as text
stated idea, floor idea · 4 members
- A bare .feature corpus can be imported ·
spec:carrier.sdp-import.feature-adapter· idea floor idea - A reference projection serves a reader outside the repository ·
spec:consumers.reference-projection· idea floor idea - Runtime observations can close the liveness loop ·
spec:observation.runtime-overlay· idea floor idea - The Protocol removes its frozen plans, review reports and superseded concept material ·
spec:protocol.delivery-record-cleanup· idea floor idea
stated idea, floor scoped · 1 member
- Exhaustive symbol reach waits for a language-neutral identity ·
spec:consumers.impact-graph.symbol-reach· idea floor scoped
stated scoped, floor scoped · 4 members
- Roadmap views read releases, baselines and phases from git and the graph ·
spec:consumers.projections-model.roadmap-views· scoped floor scoped - Mermaid diagrams can be rooted at code units ·
spec:consumers.structural-mermaid· scoped floor scoped - A pinned declaration shows the words of each test line that cites it ·
spec:consumers.spec-studio.cited-line-text· scoped floor scoped - An outside register is a named Studio input, so a cited token links to its entry ·
spec:consumers.spec-studio.register-input· scoped floor scoped
stated ready, floor ready · 447 members
- Markdown authoring enters the one graph ·
spec:carrier.markdown-authoring· ready floor ready - The Markdown envelope is explicit and bounded ·
spec:carrier.envelope-contract· ready floor ready - The Markdown parser reifies the ruled subset ·
spec:carrier.markdown-parser· ready floor ready - One finding class is shared while the carriers' outcomes stay their own ·
spec:carrier.markdown-parser.bounded-parity· ready floor ready - A TypeScript-carried Spec can be converted to Markdown ·
spec:carrier.sdp-import· ready floor ready - A TypeScript carrier survives import as an equal Markdown graph ·
spec:carrier.sdp-import.round-trip· ready floor ready - Every prose value has one typed owner ·
spec:carrier.prose-ownership-rule· ready floor ready - A Pack has a Markdown manifest carrier ·
spec:carrier.markdown-pack-authoring· ready floor ready - A Markdown Pack twin matches its TypeScript manifest ·
spec:carrier.markdown-pack-authoring.markdown-ts-parity· ready floor ready - A Spec key on a Pack envelope is refused ·
spec:carrier.markdown-pack-authoring.spec-envelope-refused· ready floor ready - The Markdown body accepts one closed form per section ·
spec:carrier.markdown-body-grammar· ready floor ready - A table under a section is refused ·
spec:carrier.markdown-body-grammar.table-refused· ready floor ready - A bullet wrapped onto a second line is refused ·
spec:carrier.markdown-body-grammar.continuation-line-refused· ready floor ready - An ordered list is refused ·
spec:carrier.markdown-body-grammar.ordered-list-refused· ready floor ready - A fence other than gwt or gwt-vocabulary is refused ·
spec:carrier.markdown-body-grammar.foreign-fence-refused· ready floor ready - An H3 under Design is refused ·
spec:carrier.markdown-body-grammar.h3-refused· ready floor ready - A plain bullet under an open section is refused ·
spec:carrier.markdown-body-grammar.plain-bullet-refused· ready floor ready - A keyed bullet under a plain-bullet owner is refused ·
spec:carrier.markdown-body-grammar.keyed-bullet-refused· ready floor ready - Prose after structured content is refused ·
spec:carrier.markdown-body-grammar.trailing-prose-refused· ready floor ready - A repeated single-valued field is refused ·
spec:carrier.markdown-body-grammar.repeated-field-refused· ready floor ready - An unrecognized heading is refused with a suggestion ·
spec:carrier.markdown-body-grammar.unrecognized-heading-refused· ready floor ready - A second primary owner is refused ·
spec:carrier.markdown-body-grammar.second-primary-owner-refused· ready floor ready - Raw HTML outside a code span is refused ·
spec:carrier.markdown-body-grammar.raw-html-refused· ready floor ready - A second description across Behavior and Example space is refused ·
spec:carrier.markdown-body-grammar.shared-description-refused· ready floor ready - An integer-like Model term is refused ·
spec:carrier.markdown-body-grammar.integer-term-refused· ready floor ready - Inline code is content, never markup ·
spec:carrier.inline-code-spans· ready floor ready - Code spans in a Spec narrative are literal ·
spec:carrier.inline-code-spans.narrative· ready floor ready - Code spans in section descriptions are literal ·
spec:carrier.inline-code-spans.description· ready floor ready - Code spans in list entries are literal ·
spec:carrier.inline-code-spans.list· ready floor ready - Code spans in Pack framing are literal ·
spec:carrier.inline-code-spans.pack· ready floor ready - Gherkin authoring enters the one graph ·
spec:carrier.gherkin-authoring· ready floor ready - A Feature and Scenario enter the graph as parent and child ·
spec:carrier.gherkin-authoring.parent-child-extraction· ready floor ready - The pseudo-scenario supplies example space without a node ·
spec:carrier.gherkin-authoring.example-space-extraction· ready floor ready - Markdown and Gherkin twins derive equal graphs and contracts ·
spec:carrier.gherkin-authoring.contract-parity· ready floor ready - A Feature without identity is refused ·
spec:carrier.gherkin-authoring.missing-id-refused· ready floor ready - A Scenario Outline is refused ·
spec:carrier.gherkin-authoring.unsupported-construct-refused· ready floor ready - A graph-aware tag near miss is refused ·
spec:carrier.gherkin-authoring.unknown-tag-refused· ready floor ready - An authored delivery fact lookalike is refused ·
spec:carrier.gherkin-authoring.authored-fact-refused· ready floor ready - A malformed relation target is refused ·
spec:carrier.gherkin-authoring.malformed-relation-refused· ready floor ready - A Gherkin example with an unbound used slot fails its stated readiness floor ·
spec:carrier.gherkin-authoring.unbound-ready-refused· ready floor ready - Duplicate Markdown and Gherkin surfaces are both excluded ·
spec:carrier.gherkin-authoring.duplicate-surface-refused· ready floor ready - A bad description key reports its physical source line ·
spec:carrier.gherkin-authoring.description-location-refused· ready floor ready - A step-less Scenario is refused at its Scenario line ·
spec:carrier.gherkin-authoring.step-less-scenario-refused· ready floor ready - Multiple findings exclude one carrier and keep a healthy sibling ·
spec:carrier.gherkin-authoring.multi-finding-bounded· ready floor ready - Slot notation declares, binds, and refuses to guess ·
spec:carrier.slot-notation· ready floor ready - A typed declaration normalizes to the skeleton its binding shares ·
spec:carrier.slot-notation.typed-declaration· ready floor ready - A stray brace stays prose while an unusable group stays a named slot ·
spec:carrier.slot-notation.refused-guess· ready floor ready - A one-literal group in a vocabulary is a binding that declares nothing ·
spec:carrier.slot-notation.one-literal-binding· ready floor ready - An example step may carry a key that survives rewording ·
spec:carrier.step-keys· ready floor ready - A keyed step reworded in its vocabulary and its example keeps its binding ·
spec:carrier.step-keys.reworded-keyed-step-stays-bound· ready floor ready - The same rewording without a key breaks the binding ·
spec:carrier.step-keys.reworded-unkeyed-step-breaks· ready floor ready - A keyed Gherkin step keeps its binding across a rewording ·
spec:carrier.step-keys.gherkin-keyed-step-stays-bound· ready floor ready - Renaming a step key breaks the binding ·
spec:carrier.step-keys.renamed-key-breaks· ready floor ready - One key on two vocabulary steps refuses the carrier ·
spec:carrier.step-keys.repeated-key-refused· ready floor ready - Two keys on one step refuse the carrier ·
spec:carrier.step-keys.two-keys-on-one-step-refused· ready floor ready - A step marker whose key is off the grammar refuses the carrier ·
spec:carrier.step-keys.malformed-marker-refused· ready floor ready - An example marker that disagrees with its vocabulary withholds the contract ·
spec:carrier.step-keys.conflicting-example-key-withheld· ready floor ready - A step key equal to another step's skeleton withholds the contract ·
spec:carrier.step-keys.key-equal-to-a-skeleton-withheld· ready floor ready - A keyed TypeScript step keeps its key through import to Markdown ·
spec:carrier.step-keys.typescript-keyed-step-imports-keyed· ready floor ready - The Protocol models delivery with one enrichable Spec ·
spec:model.core-model· ready floor ready - Enrichment keeps one Spec while its detail changes ·
spec:model.enrichment-lifecycle· ready floor ready - Spec sections carry typed detail and direct verifier semantics ·
spec:model.spec-sections· ready floor ready - Specs declare typed directed relations ·
spec:model.relations· ready floor ready - Stable IDs are the Protocol's durable join key ·
spec:model.stable-ids· ready floor ready - A namespaced dotted path with a sub-part survives parsing unchanged ·
spec:model.stable-ids.namespaced-round-trip· ready floor ready - An uppercase namespace is refused with its reason named ·
spec:model.stable-ids.malformed-refusal· ready floor ready - A
#sub-part without its section is refused with its reason named ·spec:model.stable-ids.unsectioned-address-refused· ready floor ready - A Pack is a truth-free review aggregate ·
spec:model.pack-aggregate· ready floor ready - Source anchors bind code without carrying intent ·
spec:model.anchors· ready floor ready - A consumer-local lookalike builder mints no anchor and no finding ·
spec:model.anchors.lookalike-refusal· ready floor ready - A deep relative import that resolves to the Protocol builders is trusted ·
spec:model.anchors.physical-identity· ready floor ready - Architecturally significant units are annotated where they are realized ·
spec:model.structural-patterns· ready floor ready - An open question may carry a key that addresses it ·
spec:model.open-question-keys· ready floor ready - A keyed question is reified and its address resolves ·
spec:model.open-question-keys.keyed-question-resolves· ready floor ready - A renamed question key fails the mention that addresses it ·
spec:model.open-question-keys.renamed-key-breaks· ready floor ready - A repeated question key refuses its carrier ·
spec:model.open-question-keys.repeated-key-refused· ready floor ready - What a Spec's design carries is derived, beside its readiness ·
spec:model.design-maturity· ready floor ready - Components are designed ahead of their code ·
spec:model.planned-architecture· ready floor ready - A component design no anchor satisfies is listed as unrealized ·
spec:model.planned-architecture.unrealized-design· ready floor ready - A realized component that differs from its design gives one row per field ·
spec:model.planned-architecture.differing-layer-and-uses· ready floor ready - A realized component that matches its design gives no row ·
spec:model.planned-architecture.matching-design· ready floor ready - An open question may name who decides it, its links, a provisional reading and a re-entry trigger ·
spec:model.open-question-fields· ready floor ready - A TypeScript question list that cannot be read drops whole with a warning ·
spec:model.open-question-fields.dropped-list-warns· ready floor ready - A rule or flow entry may carry a key that addresses it ·
spec:model.rule-keys· ready floor ready - An authored relation may carry its reason ·
spec:model.relation-reasons· ready floor ready - A Model term may carry a key that addresses it ·
spec:model.term-addresses· ready floor ready - A keyed term is reified and its address resolves ·
spec:model.term-addresses.keyed-term-resolves· ready floor ready - An address that names a term key no term carries is an error ·
spec:model.term-addresses.unknown-term-key-refused· ready floor ready - A term key repeated in one Spec refuses its carrier ·
spec:model.term-addresses.repeated-term-key-refused· ready floor ready - A term marker whose key is off the grammar refuses its carrier ·
spec:model.term-addresses.malformed-term-marker-refused· ready floor ready - A keyed TypeScript term keeps its address through import to Markdown ·
spec:model.term-addresses.typescript-term-imports-keyed· ready floor ready - Carrier reification derives the one graph ·
spec:extraction.derive-graph· ready floor ready - Resolving bindings confer direct delivery facts ·
spec:extraction.delivery-facts· ready floor ready - Committed source derives byte-identical output ·
spec:extraction.determinism· ready floor ready - The build pipeline has one ordered flow ·
spec:extraction.build-pipeline· ready floor ready - One query invocation shares its extracted graph and validation result ·
spec:extraction.build-pipeline.same-invocation· ready floor ready - Extraction exclusions are strict consumer input ·
spec:extraction.excludes· ready floor ready - A prefix excludes its own tree and leaves a similar sibling standing ·
spec:extraction.excludes.segment-boundary· ready floor ready - A Windows-drive absolute path is refused rather than normalized ·
spec:extraction.excludes.refused-path· ready floor ready - Graph claims retain their epistemic source ·
spec:extraction.claim-taxonomy· ready floor ready - Generated artifacts are disposable projections ·
spec:extraction.regenerability· ready floor ready - The graph declares its schema version ·
spec:extraction.schema-versioning· ready floor ready - A derived payload carries a schema version its consumer can read ·
spec:extraction.schema-versioning.declared-version· ready floor ready - Bound examples execute their authored steps ·
spec:extraction.executable-examples· ready floor ready - The build derives step and space contracts from graph examples ·
spec:extraction.executable-contracts· ready floor ready - An unbound slot in a used step earns no step contract ·
spec:extraction.executable-contracts.concreteness-refusal· ready floor ready - A second structured entry is named, never left silently inert ·
spec:extraction.executable-contracts.multi-entry-example· ready floor ready - A case-only path collision withholds the whole contracts tree ·
spec:extraction.executable-contracts.case-colliding-path· ready floor ready - Pinned declarations give an adopter a derived module to typecheck ·
spec:extraction.contract-declarations· ready floor ready - Serialization preserves authored entry order ·
spec:extraction.open-section-order· ready floor ready - Derived runnable modules freeze the registrar interface ·
spec:extraction.runnable-modules· ready floor ready - A bound example runs its contract steps against a fresh world ·
spec:extraction.example-runner· ready floor ready - A repeated step runs its one handler at each occurrence, in contract order ·
spec:extraction.example-runner.step-order· ready floor ready - A red step names itself before the assertion detail ·
spec:extraction.example-runner.red-step-naming· ready floor ready - A Pack node keeps its members in authored order ·
spec:extraction.pack-member-order· ready floor ready - A manifest's member order survives into the graph and the reader ·
spec:extraction.pack-member-order.manifest-order-kept· ready floor ready - The graph records where each addressable entry is written ·
spec:extraction.entry-locations· ready floor ready - The graph records where anchored source cites an entry address ·
spec:extraction.entry-citations· ready floor ready - A code file's comment cites a declaration without reading as a test line ·
spec:extraction.entry-citations.code-comment-cites-declaration· ready floor ready - A test title in an anchored file cites a pinned declaration ·
spec:extraction.entry-citations.test-title-cites-declaration· ready floor ready - A file that carries no anchor is not read for citations ·
spec:extraction.entry-citations.unanchored-file-unread· ready floor ready - A citation of an entry its Spec lacks reports through the recipe, never as a Protocol finding ·
spec:extraction.entry-citations.unresolved-citation· ready floor ready - Stated readiness must clear its floor ·
spec:validation.readiness-floor· ready floor ready - A scoped Spec with no relation names the relation clause ·
spec:validation.readiness-floor.unrelated-scoped-spec· ready floor ready - A blocking open question holds a Spec below defined ·
spec:validation.readiness-floor.blocking-open-question· ready floor ready - A ready Spec rests only on settled dependencies ·
spec:validation.typed-dependency-floor· ready floor ready - Every relation reads the four stated target rungs ·
spec:validation.typed-dependency-floor.relation-rungs· ready floor ready - Missing targets fail relation resolution once ·
spec:validation.typed-dependency-floor.missing-targets· ready floor ready - An unsettled constraint bounds ready but permits defined ·
spec:validation.typed-dependency-floor.unsettled-fact· ready floor ready - Target floor failures do not propagate across dependencies ·
spec:validation.typed-dependency-floor.stated-readiness· ready floor ready - Duplicate carrier IDs are excluded loudly ·
spec:validation.duplicate-ids· ready floor ready - TypeScript and Markdown duplicates are both refused ·
spec:validation.duplicate-ids.dual-carrier· ready floor ready - Validation separates well-formedness from non-pretending ·
spec:validation.two-check-families· ready floor ready - One report carries both families and claims neither as its own ·
spec:validation.two-check-families.split-report· ready floor ready - Every graph reference resolves ·
spec:validation.referential-integrity· ready floor ready - An unrelated missing target is a bare conformance error ·
spec:validation.referential-integrity.dangling-target· ready floor ready - A unique near miss earns a did-you-mean suggestion ·
spec:validation.referential-integrity.did-you-mean· ready floor ready - Every Spec id written in prose resolves ·
spec:validation.prose-mentions· ready floor ready - Graph claims and contracts stay distinct ·
spec:validation.claim-separation· ready floor ready - A binding edge cannot borrow the declared claim ·
spec:validation.claim-separation.collapsed-edge-claim· ready floor ready - An unratified kind fails closed instead of reaching the floor ·
spec:validation.claim-separation.unratified-descriptor· ready floor ready - Example verification and oracle bindings resolve honestly ·
spec:validation.verification-linkage· ready floor ready - A declared verifier no test binds confers nothing ·
spec:validation.verification-linkage.unbound-example· ready floor ready - An oracle targeting a Spec with no example space is refused ·
spec:validation.verification-linkage.unresolved-oracle· ready floor ready - An unbound example below ready is data, not a warning ·
spec:validation.unbound-example-posture· ready floor ready - Below-ready examples keep declared verifier data ·
spec:validation.unbound-example-posture.lower-rungs· ready floor ready - Ready examples and non-example verifiers keep warnings ·
spec:validation.unbound-example-posture.warning-cases· ready floor ready - Parent gaps follow enabled bindings and preserve the decision exemption ·
spec:validation.unbound-example-posture.parent-traces· ready floor ready - Oracle eligibility follows example-space ownership ·
spec:validation.oracle-target-eligibility· ready floor ready - A rule owning an example space accepts an oracle ·
spec:validation.oracle-target-eligibility.rule-space-accepted· ready floor ready - A target without an example space refuses an oracle ·
spec:validation.oracle-target-eligibility.missing-space-refused· ready floor ready - Packs are coherent aggregates ·
spec:validation.pack-coherence· ready floor ready - A repeated member and a non-model modelRef are both named ·
spec:validation.pack-coherence.incoherent-aggregate· ready floor ready - Machine truth is never authored ·
spec:validation.authored-honesty· ready floor ready - A delivery fact smuggled into a section is refused ·
spec:validation.authored-honesty.section-authored-fact· ready floor ready - A stated delivery fact no binding earns is refused ·
spec:validation.authored-honesty.unearned-stated-fact· ready floor ready - Missing connective evidence warns without failing ·
spec:validation.warn-level-signals· ready floor ready - A disconnected Spec warns and fails nothing ·
spec:validation.warn-level-signals.orphan-signal· ready floor ready - A ready Spec without a verifier warns and fails nothing ·
spec:validation.warn-level-signals.ready-gap-signal· ready floor ready - Each kind carries its own evidence ·
spec:validation.kind-evidence· ready floor ready - Constraints alone stop short of complete behavior evidence ·
spec:validation.kind-evidence.constraints-alone· ready floor ready - A constraint without a machine-readable target is not complete ·
spec:validation.kind-evidence.untargeted-constraint· ready floor ready - An empty promoted child confers no evidence ·
spec:validation.kind-evidence.empty-promoted-child· ready floor ready - A constraint whose second entry has no target is not complete ·
spec:validation.kind-evidence.second-entry-untargeted· ready floor ready - One diagnostic currency, its location composed from structured fields ·
spec:validation.diagnostic-rendering· ready floor ready - One finding, three location shapes, one composition rule ·
spec:validation.diagnostic-rendering.composed-location· ready floor ready - The same three location shapes, rendered as table cells ·
spec:validation.diagnostic-rendering.table-cell-location· ready floor ready - Every validator ships evidence in both directions ·
spec:validation.validator-self-testing· ready floor ready - Every shipped check reports its refusing probe and leaves its near miss alone ·
spec:validation.validator-self-testing.shipped-checks-paired· ready floor ready - A check that stops reporting is named silent ·
spec:validation.validator-self-testing.silent-check-named· ready floor ready - A check that reports its near miss is named overeager ·
spec:validation.validator-self-testing.overeager-check-named· ready floor ready - A registered check without a probe pair is named unpaired ·
spec:validation.validator-self-testing.unpaired-check-named· ready floor ready - A check paired twice is named ·
spec:validation.validator-self-testing.duplicate-pair-named· ready floor ready - A finding id the source writes outside every registry is named ·
spec:validation.validator-self-testing.unregistered-id-named· ready floor ready - The floor names what blocks the floor's next rung ·
spec:validation.next-rung-floor· ready floor ready - A defined Spec resting on a scoped dependency is told which one ·
spec:validation.next-rung-floor.typed-dependency-targets· ready floor ready - A scoped Spec held by a blocking question is told the clause ·
spec:validation.next-rung-floor.blocking-question· ready floor ready - A Spec shaped by a superseded decision warns ·
spec:validation.superseded-decision-signal· ready floor ready - A Spec shaped by a replaced decision warns once and fails nothing ·
spec:validation.superseded-decision-signal.replaced-ruling-warns· ready floor ready - The warning names the decision at the end of a chain of replacements ·
spec:validation.superseded-decision-signal.chain-end-named· ready floor ready - A replacement chain that branches names every end ·
spec:validation.superseded-decision-signal.branch-names-every-end· ready floor ready - A chain of replacements that closes on itself is named and fails nothing ·
spec:validation.superseded-decision-signal.closed-chain-named· ready floor ready - A dependency on a replaced decision raises no warning ·
spec:validation.superseded-decision-signal.dependency-unread· ready floor ready - A superseded decision is not warned for the decision it names ·
spec:validation.superseded-decision-signal.superseded-subject-silent· ready floor ready - A replacement still below ready is named as it stands ·
spec:validation.superseded-decision-signal.replacement-below-ready-named· ready floor ready - A decision still decided by the record it replaces warns ·
spec:validation.superseded-decision-signal.live-replacement-warns· ready floor ready - A chain of replacements that reaches an end and a loop names both ·
spec:validation.superseded-decision-signal.end-and-loop-named· ready floor ready - Declared architecture rules are checked against anchored structure ·
spec:validation.architecture-constraints· ready floor ready - A domain member that uses an infrastructure member breaks a forbidden pair ·
spec:validation.architecture-constraints.forbidden-layer-pair· ready floor ready - The walk named as a rules file fails validation on an isolation breach ·
spec:validation.architecture-constraints.isolated-context-as-rule· ready floor ready - A component with no layer leaves its edge unclassified ·
spec:validation.architecture-constraints.unstated-layer-unclassified· ready floor ready - Corpus-authored rules run on the one validation path ·
spec:validation.corpus-rules· ready floor ready - A rules file that empties its graph leaves the next file's graph whole ·
spec:validation.corpus-rules.copies-contain-changes· ready floor ready - An error from a corpus rule fails validation and leaves the Protocol's line alone ·
spec:validation.corpus-rules.error-finding-fails· ready floor ready - A finding with no subject fails its rules file ·
spec:validation.corpus-rules.malformed-finding-fails· ready floor ready - Editing a parameter file starts a cycle that reads the new parameters ·
spec:validation.corpus-rules.params-edit-starts-a-cycle· ready floor ready - Rewriting a rules file under node_modules starts a cycle that runs the new body ·
spec:validation.corpus-rules.rules-edit-starts-a-cycle· ready floor ready - A parameter file that stops being JSON fails only its own rules file, and the watcher runs on ·
spec:validation.corpus-rules.unreadable-params-fail-one-file· ready floor ready - A warning from a corpus rule informs and passes ·
spec:validation.corpus-rules.warning-finding-informs· ready floor ready - A corpus checks the register tokens its prose cites ·
spec:validation.external-registers· ready floor ready - A cited token the register lacks or retires fails a rules run ·
spec:validation.external-registers.unknown-and-retired· ready floor ready - A held token no Spec cites fails a rules run only when the caller asks ·
spec:validation.external-registers.uncited-on-request· ready floor ready - Projections fan out from one graph without becoming truth stores ·
spec:consumers.projections-model· ready floor ready - Mechanical code structure stays inferred and apart from curated intent ·
spec:consumers.impact-graph· ready floor ready - File-level imports show where curation is missing ·
spec:consumers.impact-graph.curation-assist· ready floor ready - Agents script a visible typed graph ·
spec:consumers.agent-surface· ready floor ready - A scripted body returns claim-decoded context, pre-shaped by the body ·
spec:consumers.agent-surface.scripted-context-body· ready floor ready - One body reaches every entry point the demand map names, and no symbol entry ·
spec:consumers.agent-surface.demand-map-entries· ready floor ready - Recipe answers fit an agent's context and explain their misses ·
spec:consumers.agent-surface.answer-shapes· ready floor ready - The evaluation sink runs one body and prints its return ·
spec:consumers.agent-surface.evaluation-sink· ready floor ready - A body calls a shipped recipe and returns its answer unchanged ·
spec:consumers.agent-surface.evaluation-sink.recipe-call· ready floor ready - A call to a recipe the catalog does not hold fails the body ·
spec:consumers.agent-surface.evaluation-sink.unknown-recipe· ready floor ready - A script holding a graph runs a shipped recipe through the exported evaluator ·
spec:consumers.agent-surface.evaluation-sink.exported-evaluator· ready floor ready - Design Review renders graph context without becoming a gate ·
spec:consumers.design-review· ready floor ready - The view is the graph read twice, and the corpus is untouched by reading it ·
spec:consumers.design-review.pure-projection· ready floor ready - Census renders the runtime taxonomy without becoming a registry ·
spec:consumers.census-page· ready floor ready - Mermaid renders bounded one-hop and Pack diagrams without becoming a graph browser ·
spec:consumers.mermaid-view· ready floor ready - Gherkin view renders any Spec as a disposable read shape ·
spec:consumers.gherkin-view· ready floor ready - The reader bridges agent entry points to composable graph context ·
spec:consumers.reader· ready floor ready - A concept recorded only inside a Spec's sections is still reached, and the field is named ·
spec:consumers.reader.concept-entry· ready floor ready - A source file reaches the Spec its binding names, and a carrier reaches its own Spec ·
spec:consumers.reader.file-entry· ready floor ready - A changeset names what it reaches, why, and what it cannot see ·
spec:consumers.reader.changeset-entry· ready floor ready - Views compose scoped intent instead of patching canonical source ·
spec:consumers.edit-model· ready floor ready - Authors move one Spec from intent to reviewed evidence ·
spec:consumers.authoring-on-ramp· ready floor ready - The reading skill teaches agents to query the graph ·
spec:consumers.reading-on-ramp· ready floor ready - Delivery sessions route work from current graph state ·
spec:consumers.delivery-session-on-ramp· ready floor ready - Authoring questions stay executable graph recipes ·
spec:consumers.agent-surface.authoring-recipes· ready floor ready - Register questions stay executable graph recipes ·
spec:consumers.agent-surface.register-recipes· ready floor ready - Composed intent hands off on one proposal shape ·
spec:consumers.intent-composition· ready floor ready - The next body of work is planned from the graph, not from a prose index ·
spec:consumers.graph-first-planning· ready floor ready - An adopter learns graph homes, carrier grammar and shipped paths from the on-ramps ·
spec:consumers.adopter-on-ramp· ready floor ready - The package ships the Specs and on-ramps its skills cite ·
spec:consumers.shipped-protocol-corpus· ready floor ready - Derived readiness renders beside the stated rung and warns in one direction ·
spec:consumers.derived-readiness-banner· ready floor ready - An overstated rung raises the banner and names the clause that refused ·
spec:consumers.derived-readiness-banner.dishonest-divergence· ready floor ready - A rung the structure overshoots renders as information, not as a banner ·
spec:consumers.derived-readiness-banner.honest-headroom· ready floor ready - Views speak binding language, never the internal fact name ·
spec:consumers.binding-language-views· ready floor ready - A fully bound Spec renders binding language on the page and in the index ·
spec:consumers.binding-language-views.bound-spec-page· ready floor ready - The Pack member table speaks the page's binding language, not a shorthand ·
spec:consumers.binding-language-views.pack-member-table· ready floor ready - Every view run rewrites the view wholesale ·
spec:consumers.wholesale-view-rewrite· ready floor ready - A page from an earlier run does not survive the next one ·
spec:consumers.wholesale-view-rewrite.stale-page-removed· ready floor ready - A page the build's invalidation never saw still does not survive the swap ·
spec:consumers.wholesale-view-rewrite.late-stale-page· ready floor ready - A run that cannot produce a current view leaves no view at all ·
spec:consumers.wholesale-view-rewrite.failed-run-view-removed· ready floor ready - A build that never renders still takes the old view down ·
spec:consumers.wholesale-view-rewrite.build-invalidates-view· ready floor ready - Address resolution and dependency cycles stay executable graph recipes ·
spec:consumers.agent-surface.address-and-cycle-recipes· ready floor ready - The shipped dependency-cycles file fails a rules run on a cycle ·
spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run· ready floor ready - The shipped address-resolution file fails a rules run on an address that names no entry ·
spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run· ready floor ready - A dependency chain with no cycle yields no finding ·
spec:consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing· ready floor ready - The Spec Studio is a static HTML workbench over the one graph ·
spec:consumers.spec-studio· ready floor ready - The index says where the corpus stands and narrows every Spec ·
spec:consumers.spec-studio.index-page· ready floor ready - A Pack page shows the Pack's design as one card per member ·
spec:consumers.spec-studio.pack-page· ready floor ready sdp studiopublishes the Studio as one page set ·spec:consumers.spec-studio.publisher· ready floor ready- Search finds a Spec, a Pack, an entry or a bound file by a word ·
spec:consumers.spec-studio.search· ready floor ready - A few custom elements filter, search, open and copy on a rendered page ·
spec:consumers.spec-studio.page-elements· ready floor ready - The Studio renders from the reader's values and embeds only what its script reads ·
spec:consumers.spec-studio.data· ready floor ready - The Studio's shell frames every page with navigation, a rail and a canvas ·
spec:consumers.spec-studio.shell· ready floor ready - Five lenses read the graph as Packs, capabilities, architecture, tests and evidence ·
spec:consumers.spec-studio.lenses· ready floor ready - A Spec page shows one Spec in collapsible panels, in a fixed order ·
spec:consumers.spec-studio.spec-page· ready floor ready - A Spec page's core shows the whole Spec, with an anchor for every entry ·
spec:consumers.spec-studio.spec-page.core· ready floor ready - The panels for examples, targets, verifiers and evidence ·
spec:consumers.spec-studio.verification-panels· ready floor ready - A composing panel on every page gathers scoped intent for an agent ·
spec:consumers.spec-studio.intent-panel· ready floor ready - The Studio's custom elements each hold one view the build renders ·
spec:consumers.spec-studio.components· ready floor ready - The Studio reads on a phone as on a desktop ·
spec:consumers.spec-studio.responsive· ready floor ready - A Studio build is stamped and shared from a static host ·
spec:consumers.spec-studio.sharing· ready floor ready - The stamp is written beside the page set, and a later build removes it ·
spec:consumers.spec-studio.sharing.stamp-written-apart· ready floor ready - A page takes each recipe answer from the recipe's shipped body ·
spec:consumers.spec-studio.data.recipe-answers· ready floor ready - The Studio reads two named inputs beside the graph, a base graph and run records ·
spec:consumers.spec-studio.data.inputs· ready floor ready - Without inputs the page set is the graph's alone ·
spec:consumers.spec-studio.data.inputs.graph-only· ready floor ready - Both inputs add their pages, named, and the same inputs write the same bytes ·
spec:consumers.spec-studio.data.inputs.both-given· ready floor ready sdp studio --watchrebuilds the page set on each carrier change ·spec:consumers.spec-studio.publisher.watch· ready floor ready- Each watch cycle writes the page set a plain run writes ·
spec:consumers.spec-studio.publisher.watch.matches-plain-run· ready floor ready - Every page of the page set is reached from the top navigation and the index ·
spec:consumers.spec-studio.navigation· ready floor ready - The Packs lens groups every Spec by the Packs that hold it ·
spec:consumers.spec-studio.lenses.packs· ready floor ready - The architecture lens draws components by context and layer, the planned beside the built ·
spec:consumers.spec-studio.lenses.architecture· ready floor ready - The architecture page lists each component's significant units by role ·
spec:consumers.spec-studio.lenses.architecture.unit-register· ready floor ready - A component design no anchor realizes draws planned beside the built one ·
spec:consumers.spec-studio.lenses.architecture.planned-apart· ready floor ready - The tests lens shows how far each Spec's verification reaches ·
spec:consumers.spec-studio.lenses.tests· ready floor ready - A Spec's row on the tests lens counts its exercised keyed rules ·
spec:consumers.spec-studio.lenses.tests.coverage-row· ready floor ready - The evidence lens names each source of runtime evidence and reads it as not tracked ·
spec:consumers.spec-studio.lenses.evidence· ready floor ready - A Pack page's maturity map places every member by its stated rung and its floor ·
spec:consumers.spec-studio.pack-page.maturity-map· ready floor ready - A pinned declaration shows the test line that cites it ·
spec:consumers.spec-studio.spec-page.cited-declaration· ready floor ready - Each keyed rule shows the examples that exercise it, or that none does ·
spec:consumers.spec-studio.verification-panels.rule-coverage· ready floor ready - The corpus's registers are pages a reviewer opens from a link ·
spec:consumers.spec-studio.registers· ready floor ready - The questions page lists the Specs with a blocking question first ·
spec:consumers.spec-studio.registers.blocking-first· ready floor ready - The owner queue page orders the statements and questions only a person can settle ·
spec:consumers.spec-studio.owner-queue· ready floor ready - The owner queue lists a waiting statement after the one it rests on ·
spec:consumers.spec-studio.owner-queue.dependency-first· ready floor ready - The diff page shows what changed in the design since a base graph ·
spec:consumers.spec-studio.diff-page· ready floor ready - The diff page shows a changed entry's base and built values ·
spec:consumers.spec-studio.diff-page.changed-entry· ready floor ready - The runs page shows the run records the build was given, joined to test files ·
spec:consumers.spec-studio.runs-page· ready floor ready - The runs page shows a run as external evidence from a test file ·
spec:consumers.spec-studio.runs-page.external-evidence· ready floor ready - The glossary page lists every term the corpus's Specs define ·
spec:consumers.spec-studio.glossary-page· ready floor ready - A word two Specs define appears once per Spec on the glossary page ·
spec:consumers.spec-studio.glossary-page.same-word-twice· ready floor ready - Refreshing a tab keeps every gathered intent ·
spec:consumers.spec-studio.intent-panel.refresh-keeps-intents· ready floor ready - A diagram is laid out from graph values into SVG with a text equivalent ·
spec:consumers.spec-studio.diagrams· ready floor ready - An architecture within the bound draws in one diagram, the same bytes twice ·
spec:consumers.spec-studio.diagrams.within-bound· ready floor ready - An architecture over the bound folds by context ·
spec:consumers.spec-studio.diagrams.folds-by-context· ready floor ready - One context over the bound folds by layer ·
spec:consumers.spec-studio.diagrams.folds-by-layer· ready floor ready - A Pack exports as one file, and every page prints as a document ·
spec:consumers.spec-studio.export· ready floor ready - A Pack's export opens alone and keeps its links inside it ·
spec:consumers.spec-studio.export.self-contained· ready floor ready - The Studio skill teaches agents to publish, share and read the Spec Studio ·
spec:consumers.studio-on-ramp· ready floor ready - The Pack context carries the Pack's design ·
spec:consumers.pack-design· ready floor ready - A Pack page shows where the Pack's design stands ·
spec:consumers.design-review.pack-design-page· ready floor ready - Recipes take parameters as data and ship as runnable files ·
spec:consumers.agent-surface.recipe-parameters· ready floor ready - Design work reads its answers from catalog recipes ·
spec:consumers.agent-surface.design-recipes· ready floor ready - The CLI names the engine that produced a result ·
spec:consumers.engine-provenance· ready floor ready - Validation re-runs while an author edits carriers ·
spec:consumers.validate-watch· ready floor ready - Example spaces report which values their examples cover ·
spec:consumers.agent-surface.example-space-coverage· ready floor ready - A literal no example binds is reported uncovered, and an unbound child is named ·
spec:consumers.agent-surface.example-space-coverage.uncovered-literal· ready floor ready - A number slot is not enumerable and reports no uncovered value ·
spec:consumers.agent-surface.example-space-coverage.number-not-enumerable· ready floor ready - A Pack is read from a named perspective ·
spec:consumers.review-perspectives· ready floor ready - A context bundle is composed per invocation within a stated budget ·
spec:consumers.context-bundle· ready floor ready - A Pack too large for one bundle reads whole in parts ·
spec:consumers.context-bundle.parts-cover-the-pack· ready floor ready - A member larger than the budget is named, and no part is returned ·
spec:consumers.context-bundle.oversized-member-named· ready floor ready - Designs are compared between a base commit and the working tree at entry grain ·
spec:consumers.design-diff· ready floor ready - A change proposal is addressed, based and checked before it lands ·
spec:consumers.intent-composition.proposal· ready floor ready - Recipe 49 renders a change proposal as the Markdown memo a person reviews ·
spec:consumers.intent-composition.proposal.memo· ready floor ready - Recipe 49 and the composing panel write one memo for one proposal ·
spec:consumers.intent-composition.proposal.memo.shared· ready floor ready - An Obsidian vault lets a person iterate on designs from the one graph ·
spec:consumers.obsidian-vault· ready floor ready - A fresh vault is written the same way twice and every link resolves ·
spec:consumers.obsidian-vault.fresh-vault· ready floor ready - A regeneration removes a note that left the graph and keeps a person's notes ·
spec:consumers.obsidian-vault.person-notes-survive· ready floor ready - A note a person wrote inside the generated folder refuses the regeneration ·
spec:consumers.obsidian-vault.unknown-note-refused· ready floor ready - A generated note a person changed refuses the regeneration and keeps the edit ·
spec:consumers.obsidian-vault.changed-note-refused· ready floor ready - A person's file under a temporary's name refuses the regeneration ·
spec:consumers.obsidian-vault.hidden-file-refused· ready floor ready - A vault directory the build removes refuses the run and keeps a person's notes ·
spec:consumers.obsidian-vault.vault-in-build-path-refused· ready floor ready - A run after a stopped synchronization finishes it ·
spec:consumers.obsidian-vault.interrupted-run-recovered· ready floor ready - A failed extraction keeps the notes and says so on the index ·
spec:consumers.obsidian-vault.failed-extraction-keeps-notes· ready floor ready - The run after a failed extraction passes the guard and restores the index ·
spec:consumers.obsidian-vault.failed-extraction-recovered· ready floor ready - Every Spec, Pack, code unit and keyed term is a note, and every relation is a link ·
spec:consumers.obsidian-vault.notes· ready floor ready - An entry address in prose opens the entry's block in its Spec's note ·
spec:consumers.obsidian-vault.notes.entry-address-link· ready floor ready - A mention of an entry that does not exist stays as written ·
spec:consumers.obsidian-vault.notes.unresolved-mention-stays· ready floor ready - A keyed Model term gets a note, and its address in prose opens the term's block ·
spec:consumers.obsidian-vault.notes.term-address-link· ready floor ready - Two Specs whose notes differ only in case refuse the run ·
spec:consumers.obsidian-vault.notes.case-collision-refused· ready floor ready - A Pack's members and the standing queries are tables over the reader's values ·
spec:consumers.obsidian-vault.bases· ready floor ready - Each standing view selects what its source selects ·
spec:consumers.obsidian-vault.bases.views-match-sources· ready floor ready - A design pass is followed and answered from the vault ·
spec:consumers.obsidian-vault.iteration· ready floor ready - A carrier edit under watch rewrites only the notes it changes ·
spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes· ready floor ready - An anchor added in a source file under watch rewrites the Spec's note ·
spec:consumers.obsidian-vault.iteration.watch-source-anchor· ready floor ready - The vault skill teaches agents to keep an Obsidian vault of the graph ·
spec:consumers.vault-on-ramp· ready floor ready - The readiness planner orders the statements a person can make ·
spec:consumers.readiness-planner· ready floor ready - The Spec another rests on comes first in the queue ·
spec:consumers.readiness-planner.dependency-order· ready floor ready - A waiting decision comes before the Spec it shapes ·
spec:consumers.readiness-planner.decision-first· ready floor ready - Waiting Specs that rest on each other share a round and report a cycle ·
spec:consumers.readiness-planner.cycle-shares-a-round· ready floor ready - An owner's blocking question lists the Specs it holds ·
spec:consumers.readiness-planner.owner-question-holds· ready floor ready - The upgrade kit shows a corpus what it could adopt ·
spec:consumers.upgrade-kit· ready floor ready - Capability adoption counts where each capability is used and where it could apply ·
spec:consumers.upgrade-kit.capability-adoption· ready floor ready - Capability adoption counts keyed rules and reasoned relations ·
spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus· ready floor ready - The rule-key proposal keys every unkeyed rule as a change proposal ·
spec:consumers.upgrade-kit.rule-key-proposal· ready floor ready - A rule-key proposal passes the proposal check and validates once applied ·
spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean· ready floor ready - Two rules that coin one key stay apart, and a rule with no ASCII word stays unkeyed ·
spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable· ready floor ready - Every verb answers --help, and one verb writes every projection root ·
spec:consumers.command-line· ready floor ready - A root that fails its check is removed while sdp generate writes the others ·
spec:consumers.command-line.generate-check-failure· ready floor ready - One run of sdp generate leaves all five roots current ·
spec:consumers.command-line.generate-writes-every-root· ready floor ready - A publisher's --help prints its help and touches no root ·
spec:consumers.command-line.verb-help-touches-nothing· ready floor ready - The capability map reads every epic and its refinement descendants ·
spec:consumers.capability-map· ready floor ready - The capability map page makes refinement readable by epic ·
spec:consumers.spec-studio.capability-map-page· ready floor ready - The Studio chooses diagram kinds from graph values ·
spec:consumers.spec-studio.diagram-kinds· ready floor ready - A diagram preserves readable labels before zoom ·
spec:consumers.spec-studio.diagram-kinds.legibility· ready floor ready - Edges route around boxes with deterministic orthogonal paths ·
spec:consumers.spec-studio.diagram-kinds.edge-routing· ready floor ready - A diagram offers Mermaid source as copyable text ·
spec:consumers.spec-studio.diagram-kinds.mermaid-source· ready floor ready - A dependency drawing shows the declared footing of a Spec set ·
spec:consumers.spec-studio.diagram-kinds.dependency· ready floor ready - A refinement drawing follows the capability map ·
spec:consumers.spec-studio.diagram-kinds.capability-tree· ready floor ready - A Spec set draws the architecture it touches ·
spec:consumers.spec-studio.diagram-kinds.scoped-architecture· ready floor ready - The maturity map is drawn as a grid of counts ·
spec:consumers.spec-studio.diagram-kinds.maturity-picture· ready floor ready - A requirement drawing separates intent from realization and verification ·
spec:consumers.spec-studio.diagram-kinds.requirement-trace· ready floor ready - A slice reads a Pack as one design, with the architecture it touches and what each member needs next ·
spec:consumers.design-slice· ready floor ready - Outside components stop at the touched components' neighbors ·
spec:consumers.design-slice.outside-components· ready floor ready - Members rest on a chain ·
spec:consumers.design-slice.chain· ready floor ready - A shaping decision comes before its member ·
spec:consumers.design-slice.decision-backlink· ready floor ready - A cycle shares a depth ·
spec:consumers.design-slice.dependency-cycle· ready floor ready - An example folds without lending its readiness ·
spec:consumers.design-slice.folded-example· ready floor ready - An example with its own dependency stays unfolded ·
spec:consumers.design-slice.independent-example· ready floor ready - An unanchored component design stays visible ·
spec:consumers.design-slice.component-absent· ready floor ready - An anchor alone does not realize a component design ·
spec:consumers.design-slice.component-unrelated· ready floor ready - A realized component matches its declared values ·
spec:consumers.design-slice.component-matching· ready floor ready - A realized component keeps its differing layer and uses apart ·
spec:consumers.design-slice.component-differing· ready floor ready - An unreadable declared layer stays visible ·
spec:consumers.design-slice.component-unreadable· ready floor ready - A prerequisite reaches its satisfying component ·
spec:consumers.design-slice.outside-satisfied· ready floor ready - An unbound prerequisite invents no component ·
spec:consumers.design-slice.outside-unbound· ready floor ready - An outside prerequisite names the member it holds ·
spec:consumers.design-slice.outside-holding· ready floor ready - A slice page shows a Pack's design as one whole ·
spec:consumers.spec-studio.slice-page· ready floor ready - A roadmap orders the next bodies of work, and the graph says what each still needs ·
spec:consumers.roadmap· ready floor ready - Built work stays on the roadmap ·
spec:consumers.roadmap.built-work· ready floor ready - A ready unbound part needs building ·
spec:consumers.roadmap.buildable-part· ready floor ready - A complete part waits for a statement ·
spec:consumers.roadmap.statement-part· ready floor ready - An unfinished part needs design ·
spec:consumers.roadmap.design-part· ready floor ready - A binding below ready remains drift ·
spec:consumers.roadmap.drifting-part· ready floor ready - A descendant without evidence names its holding clause ·
spec:consumers.roadmap.missing-evidence· ready floor ready - A descendant question holds the entry for design ·
spec:consumers.roadmap.blocking-part· ready floor ready - A descendant names its outside parent ·
spec:consumers.roadmap.outside-parent· ready floor ready - Waiting statements keep dependency order against roadmap places ·
spec:consumers.roadmap.statement-order· ready floor ready - The roadmap page shows the upcoming work in priority order, split by what it needs ·
spec:consumers.spec-studio.roadmap-page· ready floor ready - A roadmap renders as the forward section of a pull request description ·
spec:consumers.roadmap.memo· ready floor ready - CI run records are joined to verifiers in a view ·
spec:observation.run-evidence· ready floor ready - A test whose reporter wrote an absolute path joins its anchored file ·
spec:observation.run-evidence.absolute-path-joins· ready floor ready - A test in a file with no test anchor is reported as unjoined ·
spec:observation.run-evidence.unanchored-file-unjoined· ready floor ready - The Protocol authors and validates itself ·
spec:protocol.self-hosting· ready floor ready - The engine's structural self-binding covers its architecturally significant units ·
spec:protocol.structural-self-binding· ready floor ready - The engine's accepted set covers its significant abstractions and only those ·
spec:protocol.significant-units-review· ready floor ready - The engine's architectural roles each name one pattern ·
spec:protocol.role-vocabulary· ready floor ready - The Protocol organizes its own features in capability epics ·
spec:protocol.capability-epics· ready floor ready - The Protocol reads its next work from its roadmap and keeps its delivery record in git and its pull requests ·
spec:protocol.roadmap-replaces-plans· ready floor ready - Durable references lead with meaning ·
spec:decisions.plain-language-references· ready floor ready - Concept documents may dissolve after executable truth lands ·
spec:decisions.concept-docs-dissolve· ready floor ready - Validation follows one graph ·
spec:decisions.one-validation-path· ready floor ready - Spec extensions identify the carrier without colliding with tests ·
spec:decisions.sdp-ts-extension· ready floor ready - Each example binds one point ·
spec:decisions.point-per-example· ready floor ready - Markdown is the default Spec carrier ·
spec:decisions.carrier-ruling· ready floor ready - Prose belongs to typed graph owners ·
spec:decisions.prose-ownership· ready floor ready - The Protocol owns the envelope grammar ·
spec:decisions.envelope-grammar-posture· ready floor ready - Consumer exclusions stay exact ·
spec:decisions.exclusion-contract· ready floor ready - The Protocol is an executable meta-model ·
spec:decisions.executable-meta-model· ready floor ready - Delivery nouns remain familiar without workflow gates ·
spec:decisions.adopt-the-nouns· ready floor ready - One Spec carries named delivery coordinates ·
spec:decisions.one-primitive· ready floor ready - The meta-model is a software delivery protocol ·
spec:decisions.protocol-naming· ready floor ready - Bindings state existence, not liveness ·
spec:decisions.binding-not-liveness· ready floor ready - Sections carry content while relations carry links ·
spec:decisions.content-only-sections· ready floor ready - Floor-read sections are closed typed shapes ·
spec:decisions.typing-law· ready floor ready - Readiness evidence follows the Spec kind ·
spec:decisions.kind-conditional-floor· ready floor ready - Promoted evidence must carry its own evidence ·
spec:decisions.carried-evidence· ready floor ready - Packs group review context without becoming truth ·
spec:decisions.pack-reified· ready floor ready - Agents script the visible graph ·
spec:decisions.agent-surface-scripts-graph· ready floor ready - MCP integration remains deferred ·
spec:decisions.mcp-deferred· ready floor ready - The agent front door is one evaluation sink over the exported reader ·
spec:decisions.agent-front-door· ready floor ready - Verification mode states posture, not realization ·
spec:decisions.verification-posture-not-realization· ready floor ready - Example realization stays evidence, not backlog work ·
spec:decisions.example-realization-posture· ready floor ready - Packs have a Markdown manifest carrier ·
spec:decisions.pack-markdown-carrier· ready floor ready - Decision records state readiness from ratification evidence ·
spec:decisions.decision-readiness-posture· ready floor ready - Behavior and example Specs may use Gherkin canonically ·
spec:decisions.gherkin-carrier-option· ready floor ready - Canonical Gherkin carriers use
.sdp.gherkin·spec:decisions.sdp-gherkin-extension· ready floor ready - Carrier universality is bounded by honest kind structure ·
spec:decisions.carrier-universality· ready floor ready - Adopted runnable registrars are committed ·
spec:decisions.adopted-registrars-committed· ready floor ready - The shipped projections stay frozen ·
spec:decisions.shipped-projections-frozen· ready floor ready - Planning truths live in ruled graph homes ·
spec:decisions.planning-truths-placement· ready floor ready - A Spec id written in prose is a checked mention ·
spec:decisions.checked-mentions· ready floor ready - The Design Review renders open-section entries as a list ·
spec:decisions.authored-entry-order· ready floor ready - The Design Review shows an open question's key ·
spec:decisions.question-key-rendering· ready floor ready - The Studio renders HTML, and the HTML stays derived ·
spec:decisions.studio-html-surface· ready floor ready - The Studio is built from custom elements, not a framework ·
spec:decisions.studio-web-components· ready floor ready - The build renders every Studio view, and an element only enhances it ·
spec:decisions.studio-build-renders· ready floor ready - The engine lays out every Studio diagram as static SVG when the page set is built ·
spec:decisions.studio-diagram-renderer· ready floor ready - The comment form is a second anchor representation ·
spec:decisions.anchor-comment-form· ready floor ready - Bindings are optional, plural, and may reference a design ·
spec:decisions.anchor-binding-grain· ready floor ready - Architectural significance is annotated where it is realized ·
spec:decisions.architectural-annotation· ready floor ready - The Design Review's Pack page presents the Pack's design ·
spec:decisions.pack-design-page· ready floor ready - The vault's generator owns one folder and synchronizes it ·
spec:decisions.vault-owned-folder· ready floor ready - A roadmap states advisory priority in the graph ·
spec:decisions.roadmap-priority· ready floor ready - Plan and review files stop carrying the delivery record once the roadmap and the pull request do ·
spec:decisions.roadmap-over-plans· ready floor ready - Capability epics keep kind independent of altitude ·
spec:decisions.epics-of-any-kind· ready floor ready
Mermaid source
Preferred syntax: block. Fixed categorical cells; membership appears in comments.
Framing
The Protocol authors and validates its own delivery model. Every Spec of the self-hosted corpus is a member, grouped for review by carrier, model, extraction, validation, consumers, observation and protocol, then decisions; an example follows the Spec it refines when both share a family.
Vocabulary: spec:model.core-model
Changed since the base
Compared with the base graph base da4b141. Read the diff.
Base input: schema 0.11.0, 405 Specs.
Changed members
- spec:carrier.markdown-authoring
- spec:carrier.markdown-pack-authoring
- spec:consumers.agent-surface
- spec:consumers.agent-surface.answer-shapes
- spec:consumers.authoring-on-ramp
- spec:consumers.delivery-session-on-ramp
- spec:consumers.design-diff
- spec:consumers.engine-provenance
- spec:consumers.graph-first-planning
- spec:consumers.obsidian-vault.notes
- spec:consumers.projections-model
- spec:consumers.projections-model.roadmap-views
- spec:consumers.review-perspectives
- spec:consumers.spec-studio
- spec:consumers.spec-studio.components
- spec:consumers.spec-studio.data
- spec:consumers.spec-studio.data.recipe-answers
- spec:consumers.spec-studio.diagrams
- spec:consumers.spec-studio.diff-page
- spec:consumers.spec-studio.export
- spec:consumers.spec-studio.index-page
- spec:consumers.spec-studio.lenses
- spec:consumers.spec-studio.lenses.architecture
- spec:consumers.spec-studio.lenses.packs
- spec:consumers.spec-studio.navigation
- spec:consumers.spec-studio.pack-page
- spec:consumers.spec-studio.pack-page.maturity-map
- spec:consumers.spec-studio.page-elements
- spec:consumers.spec-studio.publisher
- spec:consumers.spec-studio.spec-page
- spec:consumers.upgrade-kit
- spec:decisions.architectural-annotation
- spec:extraction.build-pipeline
- spec:extraction.derive-graph
- spec:extraction.determinism
- spec:extraction.example-runner
- spec:extraction.executable-contracts
- spec:extraction.pack-member-order
- spec:extraction.schema-versioning.declared-version
- spec:model.core-model
- spec:model.pack-aggregate
- spec:model.planned-architecture
- spec:model.structural-patterns
- spec:observation.run-evidence
- spec:observation.runtime-overlay
- spec:protocol.structural-self-binding
- spec:validation.architecture-constraints
- spec:validation.corpus-rules
- spec:validation.duplicate-ids
- spec:validation.external-registers
- spec:validation.readiness-floor
- spec:validation.two-check-families
Added members
- spec:consumers.capability-map
- spec:consumers.design-slice
- 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
- spec:consumers.roadmap
- 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.memo
- spec:consumers.roadmap.missing-evidence
- spec:consumers.roadmap.outside-parent
- spec:consumers.roadmap.statement-order
- spec:consumers.roadmap.statement-part
- spec:consumers.spec-studio.capability-map-page
- spec:consumers.spec-studio.cited-line-text
- 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.lenses.architecture.unit-register
- spec:consumers.spec-studio.register-input
- spec:consumers.spec-studio.roadmap-page
- spec:consumers.spec-studio.slice-page
- spec:decisions.epics-of-any-kind
- spec:decisions.roadmap-over-plans
- spec:decisions.roadmap-priority
- spec:extraction.executable-examples
- spec:protocol.capability-epics
- spec:protocol.delivery-record-cleanup
- spec:protocol.roadmap-replaces-plans
- spec:protocol.role-vocabulary
- spec:protocol.significant-units-review
Pack membership
changed · pack:self-hosting-v1
Members added: spec:extraction.executable-examples, spec:consumers.spec-studio.lenses.architecture.unit-register, spec:consumers.capability-map, spec:consumers.spec-studio.capability-map-page, spec:consumers.spec-studio.diagram-kinds, spec:consumers.spec-studio.diagram-kinds.legibility, spec:consumers.spec-studio.diagram-kinds.edge-routing, spec:consumers.spec-studio.diagram-kinds.mermaid-source, spec:consumers.spec-studio.diagram-kinds.dependency, spec:consumers.spec-studio.diagram-kinds.capability-tree, spec:consumers.spec-studio.diagram-kinds.scoped-architecture, spec:consumers.spec-studio.diagram-kinds.maturity-picture, spec:consumers.spec-studio.diagram-kinds.requirement-trace, spec:consumers.design-slice, spec:consumers.design-slice.outside-components, spec:consumers.design-slice.chain, 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.component-absent, spec:consumers.design-slice.component-unrelated, spec:consumers.design-slice.component-matching, spec:consumers.design-slice.component-differing, spec:consumers.design-slice.component-unreadable, spec:consumers.design-slice.outside-satisfied, spec:consumers.design-slice.outside-unbound, spec:consumers.design-slice.outside-holding, spec:consumers.spec-studio.slice-page, spec:consumers.roadmap, spec:consumers.roadmap.built-work, spec:consumers.roadmap.buildable-part, spec:consumers.roadmap.statement-part, spec:consumers.roadmap.design-part, spec:consumers.roadmap.drifting-part, spec:consumers.roadmap.missing-evidence, spec:consumers.roadmap.blocking-part, spec:consumers.roadmap.outside-parent, spec:consumers.roadmap.statement-order, spec:consumers.spec-studio.roadmap-page, spec:consumers.roadmap.memo, spec:consumers.spec-studio.cited-line-text, spec:consumers.spec-studio.register-input, spec:protocol.significant-units-review, spec:protocol.role-vocabulary, spec:protocol.capability-epics, spec:protocol.roadmap-replaces-plans, spec:protocol.delivery-record-cleanup, spec:decisions.roadmap-priority, spec:decisions.roadmap-over-plans, spec:decisions.epics-of-any-kind
Members removed: None
Member order unchanged.
Diagnostics
{ "part": "schemaVersion", "base": "0.11.0", "head": "0.12.0" }
Members
1. Markdown authoring enters the one graphbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:carrier.markdown-authoring
Design
No design entries · no pinned declarations
Decisions
- Markdown is the default Spec carrier · stated ready
- Spec extensions identify the carrier without colliding with tests · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.markdown-parser· reifies Markdown Specs and Packs through one carrier boundary ·src/extract/markdown.ts:37· role extractor · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
2. The Markdown envelope is explicit and boundedcontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:carrier.envelope-contract
Design
No design entries · no pinned declarations
Decisions
- The Protocol owns the envelope grammar · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.envelope-contract· parses the bounded Markdown frontmatter envelope ·src/extract/markdown-frontmatter.ts:33· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.markdown-yaml-policy· bounded YAML scalars and relation-target forms ·src/extract/markdown-yaml-policy.ts:33· role codec · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
3. The Markdown parser reifies the ruled subsetbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.markdown-parser· reifies Markdown Specs and Packs through one carrier boundary ·src/extract/markdown.ts:37· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.static-reification· reifies authored carriers from the AST and never evaluates them ·src/extract/reify.ts:2139· role extractor · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 1 verifying example, 1 enabled
4. One finding class is shared while the carriers' outcomes stay their ownexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-parser.bounded-parity
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
5. A TypeScript-carried Spec can be converted to Markdownbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
2 design entries · 2 pinned declarations
Decisions
- Markdown is the default Spec carrier · stated ready
Open questions
None.
Implementation binding: present
component:protocol.import· canonical conversion with a fidelity boundary ·src/import/import.ts:45· role service · layer application · context protocol impl:protocol.import-fidelity· refuses Markdown emission that changes authored meaning ·src/import/markdown-fidelity.ts:102· role validator · component component:protocol.import· layer application · context protocolimpl:protocol.sdp-import· plans, refuses, and publishes TypeScript-to-Markdown Spec imports ·src/cli/import-command.ts:71· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.sdp-import-core· converts a TypeScript-carrier Spec into an idiomatic Markdown twin ·src/import/import.ts:58· role service · component component:protocol.import· layer application · context protocolimpl:protocol.sdp-import-markdown-emit· emits the Markdown document twin for an imported Spec ·src/import/emit-markdown.ts:253· role codec · component component:protocol.import· layer application · context protocolimpl:protocol.sdp-import-publish· stages Markdown siblings and publishes them with atomic hard links ·src/cli/import-publish.ts:23· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.sdp-import-scan· collects .sdp.ts paths and reports scan failures ·src/cli/import-scan.ts:62· role service · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
6. A TypeScript carrier survives import as an equal Markdown graphexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.sdp-import.round-trip
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
7. A bare .feature corpus can be importedbehavior · idea floor idea · next rung scoped: waits on 1 unmet clause · 1 open, 1 blocking questions · implementation binding none · verifier binding none
spec:carrier.sdp-import.feature-adapter
Next rung scoped waits on 1 unmet clause:
kind-evidence-present· The kind's natural evidence is present (per-kind evidence table).
Design
No design entries · no pinned declarations
Open questions
- blocking · question.featureAdapter
· line 15 · specs/carrier/sdp-import.feature-adapter.sdp.md:15· Which bare .feature constructs can an import adapter preserve honestly?Decider: ownerTrigger: an adopter migrates a gen-1.featurecorpus into the Protocol
Implementation binding: none
Design reference: none
Verifier binding: none
8. Every prose value has one typed ownerrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:carrier.prose-ownership-rule
Design
No design entries · no pinned declarations
Decisions
- Prose belongs to typed graph owners · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.markdown-body-grammar· maps Markdown body content to typed prose owners ·src/extract/markdown-body.ts:120· role codec · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
9. A Pack has a Markdown manifest carrierbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:carrier.markdown-pack-authoring
Design
No design entries · no pinned declarations
Decisions
- Packs have a Markdown manifest carrier · stated ready
- A roadmap states advisory priority in the graph · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.markdown-pack-authoring· reifies the Markdown Pack manifest into the one carrier path ·src/extract/markdown-pack.ts:117· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.markdown-yaml-policy· bounded YAML scalars and relation-target forms ·src/extract/markdown-yaml-policy.ts:33· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.static-reification· reifies authored carriers from the AST and never evaluates them ·src/extract/reify.ts:2139· role extractor · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 2 verifying examples, 2 enabled
10. A Markdown Pack twin matches its TypeScript manifestexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-pack-authoring.markdown-ts-parity
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
11. A Spec key on a Pack envelope is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-pack-authoring.spec-envelope-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
12. The Markdown body accepts one closed form per sectionbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:carrier.markdown-body-grammar
Design
No design entries · no pinned declarations
Decisions
- Markdown is the default Spec carrier · stated ready
- Prose belongs to typed graph owners · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.markdown-body-grammar· maps Markdown body content to typed prose owners ·src/extract/markdown-body.ts:120· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.markdown-content· decodes located Markdown entries and typed fences ·src/extract/markdown-body-content.ts:7· role codec · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
15 verifiers, 15 enabled · 15 verifying examples, 15 enabled
13. A table under a section is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.table-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
14. A bullet wrapped onto a second line is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.continuation-line-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
15. An ordered list is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.ordered-list-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
16. A fence other than gwt or gwt-vocabulary is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.foreign-fence-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
17. An H3 under Design is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.h3-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
18. A plain bullet under an open section is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.plain-bullet-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
19. A keyed bullet under a plain-bullet owner is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.keyed-bullet-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
20. Prose after structured content is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.trailing-prose-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
21. A repeated single-valued field is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.repeated-field-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
22. An unrecognized heading is refused with a suggestionexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.unrecognized-heading-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
23. A second primary owner is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.second-primary-owner-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
24. Raw HTML outside a code span is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.raw-html-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
26. An integer-like Model term is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.markdown-body-grammar.integer-term-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
27. Inline code is content, never markuprule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:carrier.inline-code-spans
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.inline-code-spans· scans raw HTML outside matched code spans ·src/extract/markdown-inline-code.ts:4· role codec · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
4 verifiers, 4 enabled · 4 verifying examples, 4 enabled
28. Code spans in a Spec narrative are literalexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.inline-code-spans.narrative
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
29. Code spans in section descriptions are literalexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.inline-code-spans.description
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
30. Code spans in list entries are literalexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.inline-code-spans.list
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
31. Code spans in Pack framing are literalexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.inline-code-spans.pack
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
32. Gherkin authoring enters the one graphbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:carrier.gherkin-authoring
Design
1 design entry · no pinned declarations
Decisions
- Carrier universality is bounded by honest kind structure · stated ready
- Behavior and example Specs may use Gherkin canonically · stated ready
- Packs have a Markdown manifest carrier · stated ready
- Prose belongs to typed graph owners · stated ready
- Canonical Gherkin carriers use
.sdp.gherkin· stated ready
Open questions
None.
Implementation binding: present
impl:protocol.gherkin-authoring· reifies Gherkin behavior and example authoring into the one carrier path ·src/extract/gherkin.ts:1323· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.gherkin-kind-policy· shared Gherkin kind-refusal and loss explanations ·src/extract/gherkin-kind-honesty.ts:6· role decider · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
13 verifiers, 13 enabled · 13 verifying examples, 13 enabled
33. A Feature and Scenario enter the graph as parent and childexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.parent-child-extraction
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
34. The pseudo-scenario supplies example space without a nodeexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.example-space-extraction
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
35. Markdown and Gherkin twins derive equal graphs and contractsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.contract-parity
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
36. A Feature without identity is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.missing-id-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
37. A Scenario Outline is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.unsupported-construct-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
38. A graph-aware tag near miss is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.unknown-tag-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
39. An authored delivery fact lookalike is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.authored-fact-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
40. A malformed relation target is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.malformed-relation-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
41. A Gherkin example with an unbound used slot fails its stated readiness floorexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.unbound-ready-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
42. Duplicate Markdown and Gherkin surfaces are both excludedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.duplicate-surface-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
43. A bad description key reports its physical source lineexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.description-location-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
44. A step-less Scenario is refused at its Scenario lineexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.step-less-scenario-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
45. Multiple findings exclude one carrier and keep a healthy siblingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.gherkin-authoring.multi-finding-bounded
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
46. Slot notation declares, binds, and refuses to guessrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
component:protocol.notation· the leaf step codec ·src/notation/slots.ts:261· role codec · layer domain · context protocol impl:protocol.slot-notation· parses slot groups and normalizes a step to its skeleton ·src/notation/slots.ts:269· role codec · component component:protocol.notation· layer domain · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 3 verifying examples, 3 enabled
47. A typed declaration normalizes to the skeleton its binding sharesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.slot-notation.typed-declaration
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
48. A stray brace stays prose while an unusable group stays a named slotexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.slot-notation.refused-guess
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
49. A one-literal group in a vocabulary is a binding that declares nothingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.slot-notation.one-literal-binding
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
50. An example step may carry a key that survives rewordingrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
9 design entries · 7 pinned declarations
Decisions
- The shipped projections stay frozen · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.example-runner· plans and executes a bound example against the caller's world ·src/runner/index.ts:108· role service · component component:protocol.runner· layer application · context protocolimpl:protocol.example-space-decoding· shared example-space interpretation for contracts and reader contexts ·src/notation/example-space.ts:473· role codec · component component:protocol.reader· layer application · context protocolimpl:protocol.executable-contracts· derives step and example-space contracts from the graph ·src/codegen/contracts.ts:647· role projection · component component:protocol.codegen· layer application · context protocolimpl:protocol.key-markers· normalizes step and term markers across the three carriers ·src/extract/key-markers.ts:136· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.open-section-order· preserves authored open-section and model-term order and Pack field order ·src/extract/serialize.ts:105· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.sdp-import-markdown-emit· emits the Markdown document twin for an imported Spec ·src/import/emit-markdown.ts:253· role codec · component component:protocol.import· layer application · context protocolimpl:protocol.spec-sections· typed Spec section shapes ·src/model/sections.ts:138· role contract · component component:protocol.model· layer domain · context protocol
Design reference: none
Verifier binding: present
11 verifiers, 11 enabled · 10 verifying examples, 10 enabled
51. A keyed step reworded in its vocabulary and its example keeps its bindingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.step-keys.reworded-keyed-step-stays-bound
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
52. The same rewording without a key breaks the bindingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.step-keys.reworded-unkeyed-step-breaks
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
53. A keyed Gherkin step keeps its binding across a rewordingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.step-keys.gherkin-keyed-step-stays-bound
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
54. Renaming a step key breaks the bindingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.step-keys.renamed-key-breaks
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
55. One key on two vocabulary steps refuses the carrierexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.step-keys.repeated-key-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
56. Two keys on one step refuse the carrierexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.step-keys.two-keys-on-one-step-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
57. A step marker whose key is off the grammar refuses the carrierexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.step-keys.malformed-marker-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
58. An example marker that disagrees with its vocabulary withholds the contractexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.step-keys.conflicting-example-key-withheld
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
59. A step key equal to another step's skeleton withholds the contractexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.step-keys.key-equal-to-a-skeleton-withheld
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
60. A keyed TypeScript step keeps its key through import to Markdownexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:carrier.step-keys.typescript-keyed-step-imports-keyed
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
61. The Protocol models delivery with one enrichable Specmodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- Example realization stays evidence, not backlog work · stated ready
- One Spec carries named delivery coordinates · stated ready
Open questions
None.
Implementation binding: present
component:protocol.model· the authored contracts and stable ids ·src/model/anchors.ts:100· role contract · layer domain · context protocol impl:protocol.spec-descriptors· Spec kind, altitude, and readiness coordinates ·src/model/descriptors.ts:38· role contract · component component:protocol.model· layer domain · context protocolimpl:protocol.spec-primitive· Spec envelope and enrich-in-place shape ·src/model/spec.ts:20· role contract · component component:protocol.model· layer domain · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
62. Enrichment keeps one Spec while its detail changesmodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:model.enrichment-lifecycle
Design
2 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.slimming-recipe· asserts realization of the shipped slimming-candidates recipe ·test/curation-recipes.test.ts:26
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
63. Spec sections carry typed detail and direct verifier semanticsmodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding none
Design
No design entries · no pinned declarations
Decisions
- The comment form is a second anchor representation · stated ready
- Sections carry content while relations carry links · stated ready
- Each example binds one point · stated ready
- Floor-read sections are closed typed shapes · stated ready
- Verification mode states posture, not realization · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.spec-sections· typed Spec section shapes ·src/model/sections.ts:138· role contract · component component:protocol.model· layer domain · context protocolimpl:protocol.verifier-semantics· readiness clauses over direct verification bindings ·src/validate/readiness-floor.ts:593· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: none
64. Specs declare typed directed relationsmodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- Planning truths live in ruled graph homes · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.spec-relations· declared Spec relation builders ·src/model/relations.ts:81· role contract · component component:protocol.model· layer domain · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
65. Stable IDs are the Protocol's durable join keyrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- A Spec id written in prose is a checked mention · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.stable-ids· stable ID grammar parser ·src/ids.ts:173· role codec · component component:protocol.model· layer domain · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 3 verifying examples, 3 enabled
66. A namespaced dotted path with a sub-part survives parsing unchangedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.stable-ids.namespaced-round-trip
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
67. An uppercase namespace is refused with its reason namedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.stable-ids.malformed-refusal
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
68. A # sub-part without its section is refused with its reason namedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.stable-ids.unsectioned-address-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
69. A Pack is a truth-free review aggregatemodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- Packs group review context without becoming truth · stated ready
- A roadmap states advisory priority in the graph · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.pack-aggregate· Pack aggregate and model references ·src/model/pack.ts:23· role contract · component component:protocol.model· layer domain · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
70. Source anchors bind code without carrying intentmodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
1 design entry · 1 pinned declaration
Decisions
- Bindings are optional, plural, and may reference a design · stated ready
- The comment form is a second anchor representation · stated ready
- Architectural significance is annotated where it is realized · stated ready
- Bindings state existence, not liveness · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.anchor-extraction· anchor reification seam: the constant form and the comment form ·src/extract/anchors.ts:121· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.anchor-model· binding-only anchor model builders ·src/model/anchors.ts:108· role contract · component component:protocol.model· layer domain · context protocolimpl:protocol.anchors-subpath· zero-dependency subpath exporting the id and anchor builders only ·src/anchors.ts:8· role contract · component component:protocol.model· layer domain · context protocolimpl:protocol.protocol-bindings· Protocol builder-import trust (protocolBindingScopeFor / collectProtocolBindings) ·src/extract/protocol-bindings.ts:93· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.structural-anchors· checks structural anchor validity and disjoint realization and reference targets ·src/validate/validators.ts:595· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
71. A consumer-local lookalike builder mints no anchor and no findingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.anchors.lookalike-refusal
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
72. A deep relative import that resolves to the Protocol builders is trustedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.anchors.physical-identity
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
73. Architecturally significant units are annotated where they are realizedmodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:model.structural-patterns
Design
No design entries · no pinned declarations
Decisions
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.anchor-extraction· anchor reification seam: the constant form and the comment form ·src/extract/anchors.ts:121· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.census-page· renders the derived census and runtime taxonomy projection ·src/projections/census.ts:21· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.structural-self-binding· realizes the declared significant-unit set and its structural self-binding ·test/self-hosting-oracle/structural-edges.ts:76
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
74. An open question may carry a key that addresses itrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- A Spec id written in prose is a checked mention · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.open-question-keys· reads an open question's optional key from its Markdown marker and refuses a bad or repeated key ·src/extract/markdown-body-owner-behavior.ts:38· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.open-section-order· preserves authored open-section and model-term order and Pack field order ·src/extract/serialize.ts:105· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.prose-mentions· checks that prose mentions resolve and warns once per unbacked Spec pair ·src/validate/validators.ts:1370· role validator · component component:protocol.validate· layer domain · context protocolimpl:protocol.register-recipes· asserts realization of the shipped register recipes ·test/recipes.test.ts:2057impl:protocol.sdp-import-markdown-emit· emits the Markdown document twin for an imported Spec ·src/import/emit-markdown.ts:253· role codec · component component:protocol.import· layer application · context protocolimpl:protocol.stable-ids· stable ID grammar parser ·src/ids.ts:173· role codec · component component:protocol.model· layer domain · context protocolimpl:protocol.static-reification· reifies authored carriers from the AST and never evaluates them ·src/extract/reify.ts:2139· role extractor · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 3 verifying examples, 3 enabled
75. A keyed question is reified and its address resolvesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.open-question-keys.keyed-question-resolves
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
76. A renamed question key fails the mention that addresses itexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.open-question-keys.renamed-key-breaks
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
77. A repeated question key refuses its carrierexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.open-question-keys.repeated-key-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
78. What a Spec's design carries is derived, beside its readinessmodel · ready floor ready · 1 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Open questions
- non-blocking · question.designColumnsSufficiency
· line 20 · specs/model/design-maturity.sdp.md:20· If the first adopter's design passes show that the design columns cannot distinguish settled design from intent alone, should this representation be revisited?Decider: ownerProvisional: derive what design a Spec carries beside readiness without a new rung, floor clause or delivery fact
Implementation binding: present
impl:protocol.pack-design· the Pack design helpers and the Pack context assembly they serve ·src/reader/reader.ts:499· role reader · component component:protocol.reader· layer application · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
79. Components are designed ahead of their codemodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:model.planned-architecture
Design
6 design entries · 1 pinned declaration
Decisions
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.planned-components-recipe· asserts realization of the shipped planned against realized components recipe ·test/architecture-recipes.test.ts:16
Design reference: present
impl:protocol.curation-recipe· asserts the curation report over external inferred imports ·test/curation-recipes.test.ts:32
Verifier binding: present
3 verifiers, 3 enabled · 3 verifying examples, 3 enabled
80. A component design no anchor satisfies is listed as unrealizedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.planned-architecture.unrealized-design
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
81. A realized component that differs from its design gives one row per fieldexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.planned-architecture.differing-layer-and-uses
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
82. A realized component that matches its design gives no rowexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.planned-architecture.matching-design
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
83. An open question may name who decides it, its links, a provisional reading and a re-entry triggerrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:model.open-question-fields
Design
7 design entries · 1 pinned declaration
Decisions
- Delivery nouns remain familiar without workflow gates · stated ready
- Planning truths live in ruled graph homes · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.authoring-grammar-recipes· asserts the authoring grammar's realization in docs/agent-surface/recipes.md ·test/recipes.test.ts:6597impl:protocol.authoring-normalization· normalizes rule markers and question fields after carrier reification ·src/extract/authoring-normalization.ts:8· role codec · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 1 verifying example, 1 enabled
84. A TypeScript question list that cannot be read drops whole with a warningexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.open-question-fields.dropped-list-warns
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
85. A rule or flow entry may carry a key that addresses itrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
10 design entries · 6 pinned declarations
Decisions
- A Spec id written in prose is a checked mention · stated ready
- The shipped projections stay frozen · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.authoring-grammar-recipes· asserts the authoring grammar's realization in docs/agent-surface/recipes.md ·test/recipes.test.ts:6597impl:protocol.authoring-normalization· normalizes rule markers and question fields after carrier reification ·src/extract/authoring-normalization.ts:8· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.rule-exercises· checks the keys named by declared verifies relations ·src/validate/validators.ts:1479· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
86. An authored relation may carry its reasonrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
5 design entries · no pinned declarations
Decisions
- Prose belongs to typed graph owners · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.authoring-grammar-recipes· asserts the authoring grammar's realization in docs/agent-surface/recipes.md ·test/recipes.test.ts:6597impl:protocol.authoring-normalization· normalizes rule markers and question fields after carrier reification ·src/extract/authoring-normalization.ts:8· role codec · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
87. A Model term may carry a key that addresses itrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
10 design entries · 7 pinned declarations
Decisions
- A Spec id written in prose is a checked mention · stated ready
- The shipped projections stay frozen · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.address-and-cycle-recipes· asserts realization of the shipped address resolution and dependency cycle recipes ·test/recipes.test.ts:3568impl:protocol.entry-locations· builds the carrier entry location table ·src/extract/derive.ts:78· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.key-markers· normalizes step and term markers across the three carriers ·src/extract/key-markers.ts:136· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.open-section-order· preserves authored open-section and model-term order and Pack field order ·src/extract/serialize.ts:105· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.prose-mentions· checks that prose mentions resolve and warns once per unbacked Spec pair ·src/validate/validators.ts:1370· role validator · component component:protocol.validate· layer domain · context protocolimpl:protocol.register-recipes· asserts realization of the shipped register recipes ·test/recipes.test.ts:2057impl:protocol.sdp-import-markdown-emit· emits the Markdown document twin for an imported Spec ·src/import/emit-markdown.ts:253· role codec · component component:protocol.import· layer application · context protocolimpl:protocol.spec-sections· typed Spec section shapes ·src/model/sections.ts:138· role contract · component component:protocol.model· layer domain · context protocolimpl:protocol.stable-ids· stable ID grammar parser ·src/ids.ts:173· role codec · component component:protocol.model· layer domain · context protocol
Design reference: none
Verifier binding: present
6 verifiers, 6 enabled · 5 verifying examples, 5 enabled
88. A keyed term is reified and its address resolvesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.term-addresses.keyed-term-resolves
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
89. An address that names a term key no term carries is an errorexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.term-addresses.unknown-term-key-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
90. A term key repeated in one Spec refuses its carrierexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.term-addresses.repeated-term-key-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
91. A term marker whose key is off the grammar refuses its carrierexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.term-addresses.malformed-term-marker-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
92. A keyed TypeScript term keeps its address through import to Markdownexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:model.term-addresses.typescript-term-imports-keyed
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
93. Carrier reification derives the one graphbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
6 design entries · 4 pinned declarations
Decisions
- Bindings are optional, plural, and may reference a design · stated ready
- Validation follows one graph · stated ready
Open questions
None.
Implementation binding: present
component:protocol.extract· the carrier and source pipeline ·src/extract/index.ts:192· role extractor · layer application · context protocol impl:protocol.carrier-reification· reifies each canonical carrier surface into specs, packs, and findings ·src/extract/carrier.ts:54· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.derive-graph· derives the graph from reified carriers and bindings ·src/extract/derive.ts:241· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.extract· extracts authored carriers and bindings into one graph ·src/extract/index.ts:208· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.schema-version· versioned graph nodes, claims, edges and located evidence ·src/graph/schema.ts:9· role contract · component component:protocol.graph· layer domain · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
94. Resolving bindings confer direct delivery factsbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.delivery-facts
Design
No design entries · no pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.delivery-facts· computes delivery facts from resolving binding edges ·src/graph/delivery-facts.ts:65· role decider · component component:protocol.graph· layer domain · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
95. Committed source derives byte-identical outputconstraint · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.build-pipeline-emit· stages build outputs, checks determinism and invalidates projections ·src/cli/build-command.ts:251· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.static-reification· reifies authored carriers from the AST and never evaluates them ·src/extract/reify.ts:2139· role extractor · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
96. The build pipeline has one ordered flowworkflow · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.build-pipeline
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
component:protocol.cli· entry points, shared build and publication ·src/cli/build-command.ts:32· role service · layer edge · context protocol impl:protocol.build-pipeline-emit· stages build outputs, checks determinism and invalidates projections ·src/cli/build-command.ts:251· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.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 ·src/cli/q-command.ts:212· role service · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
97. One query invocation shares its extracted graph and validation resultexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.build-pipeline.same-invocation
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
98. Extraction exclusions are strict consumer inputrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- Consumer exclusions stay exact · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.discover-files· realizes exclusion-aware discovery (normalizeExcludes / discoverFiles) ·src/extract/discover.ts:35· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.exclusion-surface· strict root-relative exclusion input for both extraction surfaces ·src/extract/index.ts:43· role contract · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
99. A prefix excludes its own tree and leaves a similar sibling standingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.excludes.segment-boundary
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
100. A Windows-drive absolute path is refused rather than normalizedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.excludes.refused-path
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
101. Graph claims retain their epistemic sourcemodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.claim-taxonomy
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
component:protocol.graph· the one graph and its semantic decisions ·src/graph/schema.ts:34· role contract · layer domain · context protocol impl:protocol.derive-graph· derives the graph from reified carriers and bindings ·src/extract/derive.ts:241· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.schema-version· versioned graph nodes, claims, edges and located evidence ·src/graph/schema.ts:9· role contract · component component:protocol.graph· layer domain · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
102. Generated artifacts are disposable projectionsrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.regenerability
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.build-pipeline-emit· stages build outputs, checks determinism and invalidates projections ·src/cli/build-command.ts:251· role service · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
103. The graph declares its schema versionrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.schema-versioning
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.schema-version· versioned graph nodes, claims, edges and located evidence ·src/graph/schema.ts:9· role contract · component component:protocol.graph· layer domain · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
104. A derived payload carries a schema version its consumer can readexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.schema-versioning.declared-version
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
105. Bound examples execute their authored stepsbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding none
spec:extraction.executable-examples
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.delivery-facts· computes delivery facts from resolving binding edges ·src/graph/delivery-facts.ts:65· role decider · component component:protocol.graph· layer domain · context protocolimpl:protocol.example-runner· plans and executes a bound example against the caller's world ·src/runner/index.ts:108· role service · component component:protocol.runner· layer application · context protocolimpl:protocol.example-runner-adapter· registers one test per example and owns the fresh world lifecycle ·src/adapters/vitest.ts:32· role adapter · component component:protocol.adapters· layer adapter · context protocolimpl:protocol.example-testing-helpers· adapter-lifecycle and oracle-comparison helpers for bound examples ·src/testing/index.ts:50· role adapter · component component:protocol.testing· layer adapter · context protocolimpl:protocol.executable-contracts· derives step and example-space contracts from the graph ·src/codegen/contracts.ts:647· role projection · component component:protocol.codegen· layer application · context protocolimpl:protocol.runnable-modules· derives and publishes runnable registrar modules from the graph ·src/codegen/contracts.ts:658· role projection · component component:protocol.codegen· layer application · context protocol
Design reference: none
Verifier binding: none
106. The build derives step and space contracts from graph examplesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.executable-contracts
Design
6 design entries · 5 pinned declarations
Decisions
- Each example binds one point · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.example-space· resolves example-space vocabulary for contracts and floors ·src/graph/example-space.ts:117· role decider · component component:protocol.graph· layer domain · context protocolimpl:protocol.executable-contracts· derives step and example-space contracts from the graph ·src/codegen/contracts.ts:647· role projection · component component:protocol.codegen· layer application · context protocol
Design reference: none
Verifier binding: present
7 verifiers, 7 enabled · 7 verifying examples, 7 enabled
107. An unbound slot in a used step earns no step contractexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.executable-contracts.concreteness-refusal
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
108. A second structured entry is named, never left silently inertexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.executable-contracts.multi-entry-example
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
109. A case-only path collision withholds the whole contracts treeexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.executable-contracts.case-colliding-path
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
110. Pinned declarations give an adopter a derived module to typecheckbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.contract-declarations
Design
No design entries · no pinned declarations
Decisions
- Floor-read sections are closed typed shapes · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.pack-design· the Pack design helpers and the Pack context assembly they serve ·src/reader/reader.ts:499· role reader · component component:protocol.reader· layer application · context protocolimpl:protocol.register-recipes· asserts realization of the shipped register recipes ·test/recipes.test.ts:2057
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
111. Serialization preserves authored entry orderrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.open-section-order
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.open-section-order· preserves authored open-section and model-term order and Pack field order ·src/extract/serialize.ts:105· role codec · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
112. Derived runnable modules freeze the registrar interfacebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.runnable-modules
Design
7 design entries · 5 pinned declarations
Decisions
- Adopted runnable registrars are committed · stated ready
- The comment form is a second anchor representation · stated ready
- Bindings state existence, not liveness · stated ready
- Each example binds one point · stated ready
Open questions
None.
Implementation binding: present
component:protocol.codegen· contracts and registrar output ·src/codegen/contracts.ts:633· role projection · layer application · context protocol component:protocol.testing· the generated registrar runtime ·src/testing/index.ts:38· role adapter · layer adapter · context protocol impl:protocol.example-testing-helpers· adapter-lifecycle and oracle-comparison helpers for bound examples ·src/testing/index.ts:50· role adapter · component component:protocol.testing· layer adapter · context protocolimpl:protocol.runnable-modules· derives and publishes runnable registrar modules from the graph ·src/codegen/contracts.ts:658· role projection · component component:protocol.codegen· layer application · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · no verifying examples, 0 enabled
113. A bound example runs its contract steps against a fresh worldbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.example-runner
Design
1 design entry · 1 pinned declaration
Open questions
None.
Implementation binding: present
component:protocol.adapters· external runtime and source adapters ·src/adapters/vitest.ts:23· role adapter · layer adapter · context protocol component:protocol.runner· provider-neutral example execution ·src/runner/index.ts:99· role service · layer application · context protocol impl:protocol.example-runner· plans and executes a bound example against the caller's world ·src/runner/index.ts:108· role service · component component:protocol.runner· layer application · context protocolimpl:protocol.example-runner-adapter· registers one test per example and owns the fresh world lifecycle ·src/adapters/vitest.ts:32· role adapter · component component:protocol.adapters· layer adapter · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 2 verifying examples, 2 enabled
114. A repeated step runs its one handler at each occurrence, in contract orderexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.example-runner.step-order
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
115. A red step names itself before the assertion detailexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.example-runner.red-step-naming
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
116. A Pack node keeps its members in authored orderrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.pack-member-order
Design
No design entries · no pinned declarations
Decisions
- A roadmap states advisory priority in the graph · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.markdown-yaml-policy· bounded YAML scalars and relation-target forms ·src/extract/markdown-yaml-policy.ts:33· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.open-section-order· preserves authored open-section and model-term order and Pack field order ·src/extract/serialize.ts:105· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.pack-coherence· checks Pack membership agreement and uniqueness and model-reference kinds ·src/validate/validators.ts:1102· role validator · component component:protocol.validate· layer domain · context protocolimpl:protocol.pack-design-page· renders the Pack page from the Pack design ·src/projections/design-review-pages.ts:120· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.pack-member-order· keeps manifest member order on the Pack node ·src/extract/derive.ts:153· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.reader· typed graph queries, entry adapters and context joins ·src/reader/reader.ts:687· role reader · component component:protocol.reader· layer application · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 1 verifying example, 1 enabled
117. A manifest's member order survives into the graph and the readerexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.pack-member-order.manifest-order-kept
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
118. The graph records where each addressable entry is writtenbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.entry-locations
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.entry-location-recipes· asserts realization of the entry lines the entry search and address resolution recipes return ·test/recipes.test.ts:5979impl:protocol.entry-locations· builds the carrier entry location table ·src/extract/derive.ts:78· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.reader· typed graph queries, entry adapters and context joins ·src/reader/reader.ts:687· role reader · component component:protocol.reader· layer application · context protocol
Design reference: present
impl:protocol.pack-design· the Pack design helpers and the Pack context assembly they serve ·src/reader/reader.ts:499· role reader · component component:protocol.reader· layer application · context protocol
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
119. The graph records where anchored source cites an entry addressbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:extraction.entry-citations
Design
8 design entries · 7 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.entry-address-resolution· resolves entry addresses for prose validation and citation readers ·src/graph/entry-address.ts:6· role reader · component component:protocol.graph· layer domain · context protocolimpl:protocol.entry-citation-reader· resolves citations and joins file anchors with direct and example-based test verification ·src/reader/entry-citations.ts:19· role reader · component component:protocol.reader· layer application · context protocolimpl:protocol.entry-citation-recipe· asserts realization of Entry citations in docs/agent-surface/recipes.md ·test/recipes.test.ts:7008impl:protocol.entry-citation-scan· records prose-mention tokens with addresses in anchored source files ·src/extract/entry-citations.ts:6· role extractor · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
4 verifiers, 4 enabled · 4 verifying examples, 4 enabled
120. A code file's comment cites a declaration without reading as a test lineexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.entry-citations.code-comment-cites-declaration
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
121. A test title in an anchored file cites a pinned declarationexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.entry-citations.test-title-cites-declaration
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
122. A file that carries no anchor is not read for citationsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.entry-citations.unanchored-file-unread
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
123. A citation of an entry its Spec lacks reports through the recipe, never as a Protocol findingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:extraction.entry-citations.unresolved-citation
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
124. Stated readiness must clear its floorrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.readiness-floor
Design
No design entries · no pinned declarations
Decisions
- Promoted evidence must carry its own evidence · stated ready
- Readiness evidence follows the Spec kind · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.readiness-floor· evaluates the stated readiness floor against the graph ·src/validate/readiness-floor.ts:612· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 2 verifying examples, 2 enabled
126. A blocking open question holds a Spec below definedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.readiness-floor.blocking-open-question
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
127. A ready Spec rests only on settled dependenciesrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.typed-dependency-floor
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.typed-dependency-floor· checks stated readiness across all four typed dependencies ·src/validate/readiness-floor.ts:347· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
4 verifiers, 4 enabled · 4 verifying examples, 4 enabled
128. Every relation reads the four stated target rungsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.typed-dependency-floor.relation-rungs
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
129. Missing targets fail relation resolution onceexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.typed-dependency-floor.missing-targets
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
130. An unsettled constraint bounds ready but permits definedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.typed-dependency-floor.unsettled-fact
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
131. Target floor failures do not propagate across dependenciesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.typed-dependency-floor.stated-readiness
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
132. Duplicate carrier IDs are excluded loudlybehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.duplicate-id-exclusion· excludes duplicated carrier ids from the graph ·src/extract/index.ts:93· role validator · component component:protocol.extract· layer application · context protocolimpl:protocol.duplicate-ids· rejects duplicate node identities from any graph producer ·src/validate/validators.ts:263· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
133. TypeScript and Markdown duplicates are both refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.duplicate-ids.dual-carrier
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
134. Validation separates well-formedness from non-pretendingrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.two-check-families
Design
No design entries · no pinned declarations
Decisions
- Validation follows one graph · stated ready
Open questions
None.
Implementation binding: present
component:protocol.validate· one finding currency and ordered checks ·src/validate/validators.ts:72· role validator · layer domain · context protocol impl:protocol.graph-index· builds the one-graph index validators and the reader share ·src/validate/graph-index.ts:28· role index · component component:protocol.validate· layer domain · context protocolimpl:protocol.validation-contracts· conformance/honesty family currency and finding shapes ·src/validate/contracts.ts:5· role contract · component component:protocol.validate· layer domain · context protocolimpl:protocol.validation-families· conformance and honesty validator registry ·src/validate/validators.ts:60· role contract · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
135. One report carries both families and claims neither as its ownexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.two-check-families.split-report
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
136. Every graph reference resolvesrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.referential-integrity
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.referential-integrity· checks every graph edge endpoint and Pack model reference resolves ·src/validate/validators.ts:183· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
137. An unrelated missing target is a bare conformance errorexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.referential-integrity.dangling-target
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
138. A unique near miss earns a did-you-mean suggestionexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.referential-integrity.did-you-mean
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
139. Every Spec id written in prose resolvesrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.prose-mentions
Design
No design entries · no pinned declarations
Decisions
- A Spec id written in prose is a checked mention · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.entry-address-resolution· resolves entry addresses for prose validation and citation readers ·src/graph/entry-address.ts:6· role reader · component component:protocol.graph· layer domain · context protocolimpl:protocol.prose-mentions· checks that prose mentions resolve and warns once per unbacked Spec pair ·src/validate/validators.ts:1370· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
140. Graph claims and contracts stay distinctrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.claim-separation
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.claim-separation· checks graph claims, descriptors, node shapes, and relation endpoint contracts ·src/validate/validators.ts:534· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
141. A binding edge cannot borrow the declared claimexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.claim-separation.collapsed-edge-claim
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
142. An unratified kind fails closed instead of reaching the floorexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.claim-separation.unratified-descriptor
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
143. Example verification and oracle bindings resolve honestlyrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.verification-linkage
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.oracle-linkage· resolves and de-duplicates expected-outcome oracle bindings ·src/validate/validators.ts:913· role validator · component component:protocol.validate· layer domain · context protocolimpl:protocol.verifies-linkage· resolves declared example verification through enabled test bindings ·src/validate/validators.ts:838· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
144. A declared verifier no test binds confers nothingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.verification-linkage.unbound-example
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
145. An oracle targeting a Spec with no example space is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.verification-linkage.unresolved-oracle
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
146. An unbound example below ready is data, not a warningrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.unbound-example-posture
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.unbound-example-posture· limits unbound example warnings to stated ready ·src/validate/validators.ts:847· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 3 verifying examples, 3 enabled
147. Below-ready examples keep declared verifier dataexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.unbound-example-posture.lower-rungs
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
148. Ready examples and non-example verifiers keep warningsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.unbound-example-posture.warning-cases
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
149. Parent gaps follow enabled bindings and preserve the decision exemptionexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.unbound-example-posture.parent-traces
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
150. Oracle eligibility follows example-space ownershiprule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.oracle-target-eligibility
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.oracle-linkage· resolves and de-duplicates expected-outcome oracle bindings ·src/validate/validators.ts:913· role validator · component component:protocol.validate· layer domain · context protocolimpl:protocol.oracle-target-eligibility· resolves oracle targets by example-space ownership across Spec kinds ·src/graph/oracle-bindings.ts:25· role decider · component component:protocol.graph· layer domain · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
151. A rule owning an example space accepts an oracleexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.oracle-target-eligibility.rule-space-accepted
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
152. A target without an example space refuses an oracleexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.oracle-target-eligibility.missing-space-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
153. Packs are coherent aggregatesrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.pack-coherence
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.pack-coherence· checks Pack membership agreement and uniqueness and model-reference kinds ·src/validate/validators.ts:1102· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
154. A repeated member and a non-model modelRef are both namedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.pack-coherence.incoherent-aggregate
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
155. Machine truth is never authoredrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.authored-honesty
Design
No design entries · no pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.authored-honesty-delivery-facts· checks stated delivery facts equal the one recomputed derivation ·src/validate/validators.ts:1624· role validator · component component:protocol.validate· layer domain · context protocolimpl:protocol.authored-honesty-shape· refuses delivery facts smuggled through authored section carriers ·src/validate/validators.ts:1556· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
156. A delivery fact smuggled into a section is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.authored-honesty.section-authored-fact
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
157. A stated delivery fact no binding earns is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.authored-honesty.unearned-stated-fact
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
158. Missing connective evidence warns without failingrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.warn-level-signals
Design
No design entries · no pinned declarations
Decisions
- Decision records state readiness from ratification evidence · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.orphan-signal· surfaces relationless Specs as informative orphan warnings ·src/validate/validators.ts:1128· role validator · component component:protocol.validate· layer domain · context protocolimpl:protocol.verifier-gap-signal· surfaces ready Specs without recomputed verifier bindings as informative gaps ·src/validate/validators.ts:1734· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
159. A disconnected Spec warns and fails nothingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.warn-level-signals.orphan-signal
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
160. A ready Spec without a verifier warns and fails nothingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.warn-level-signals.ready-gap-signal
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
161. Each kind carries its own evidencerule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- Promoted evidence must carry its own evidence · stated ready
- Readiness evidence follows the Spec kind · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.kind-evidence· defines the code-level per-kind evidence rows for readiness floors ·src/validate/readiness-floor.ts:398· role decider · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
5 verifiers, 5 enabled · 5 verifying examples, 5 enabled
162. Constraints alone stop short of complete behavior evidenceexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.kind-evidence.constraints-alone
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
163. A constraint without a machine-readable target is not completeexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.kind-evidence.untargeted-constraint
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
164. An empty promoted child confers no evidenceexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.kind-evidence.empty-promoted-child
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
165. A constraint whose second entry has no target is not completeexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.kind-evidence.second-entry-untargeted
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
166. One diagnostic currency, its location composed from structured fieldsrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.diagnostic-rendering
Design
1 design entry · 1 pinned declaration
Open questions
None.
Implementation binding: present
impl:protocol.diagnostic-rendering-cli· composes structured finding fields into the one command-line diagnostic form ·src/cli/output.ts:23· role codec · component component:protocol.cli· layer edge · context protocolimpl:protocol.diagnostic-rendering-design-review· renders structured finding locations in the Design Review table ·src/projections/design-review-context.ts:208· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.validate-summary· prints validate's findings and its summary line ·src/cli/validate-view-command.ts:23· role codec · component component:protocol.cli· layer edge · context protocolimpl:protocol.validation-contracts· conformance/honesty family currency and finding shapes ·src/validate/contracts.ts:5· role contract · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
167. One finding, three location shapes, one composition ruleexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.diagnostic-rendering.composed-location
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
168. The same three location shapes, rendered as table cellsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.diagnostic-rendering.table-cell-location
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
169. Every validator ships evidence in both directionsrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.validator-self-testing
Design
5 design entries · 5 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.validator-probe-table· declares the refusing and accepting probes for every registered finding id ·test/helpers/validator-probes.ts:372· role contract impl:protocol.validator-self-testing· audits the finding registries against source literals and paired probes ·test/helpers/validator-audit.ts:86· role validator
Design reference: none
Verifier binding: present
6 verifiers, 6 enabled · 6 verifying examples, 6 enabled
170. Every shipped check reports its refusing probe and leaves its near miss aloneexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.validator-self-testing.shipped-checks-paired
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
171. A check that stops reporting is named silentexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.validator-self-testing.silent-check-named
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
172. A check that reports its near miss is named overeagerexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.validator-self-testing.overeager-check-named
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
173. A registered check without a probe pair is named unpairedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.validator-self-testing.unpaired-check-named
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
174. A check paired twice is namedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.validator-self-testing.duplicate-pair-named
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
175. A finding id the source writes outside every registry is namedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.validator-self-testing.unregistered-id-named
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
176. The floor names what blocks the floor's next rungrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.next-rung-floor
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.next-rung-floor· evaluates the floor for a target rung and names the targets that break a dependency ·src/validate/readiness-floor.ts:603· role validator · component component:protocol.validate· layer domain · context protocolimpl:protocol.reader· typed graph queries, entry adapters and context joins ·src/reader/reader.ts:687· role reader · component component:protocol.reader· layer application · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
177. A defined Spec resting on a scoped dependency is told which oneexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.next-rung-floor.typed-dependency-targets
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
178. A scoped Spec held by a blocking question is told the clauseexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.next-rung-floor.blocking-question
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
179. A Spec shaped by a superseded decision warnsrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.superseded-decision-signal
Design
10 design entries · 7 pinned declarations
Decisions
- Planning truths live in ruled graph homes · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.superseded-decision-signal· walks decision replacements to surface stale shaping relations ·src/validate/validators.ts:1817· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
9 verifiers, 9 enabled · 9 verifying examples, 9 enabled
180. A Spec shaped by a replaced decision warns once and fails nothingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.superseded-decision-signal.replaced-ruling-warns
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
181. The warning names the decision at the end of a chain of replacementsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.superseded-decision-signal.chain-end-named
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
182. A replacement chain that branches names every endexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.superseded-decision-signal.branch-names-every-end
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
183. A chain of replacements that closes on itself is named and fails nothingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.superseded-decision-signal.closed-chain-named
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
184. A dependency on a replaced decision raises no warningexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.superseded-decision-signal.dependency-unread
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
185. A superseded decision is not warned for the decision it namesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.superseded-decision-signal.superseded-subject-silent
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
186. A replacement still below ready is named as it standsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.superseded-decision-signal.replacement-below-ready-named
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
187. A decision still decided by the record it replaces warnsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.superseded-decision-signal.live-replacement-warns
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
188. A chain of replacements that reaches an end and a loop names bothexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.superseded-decision-signal.end-and-loop-named
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
189. Declared architecture rules are checked against anchored structurerule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.architecture-constraints
Design
6 design entries · 3 pinned declarations
Decisions
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.architecture-walk-recipe· asserts realization of the shipped architecture walk recipe ·test/architecture-recipes.test.ts:10
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 3 verifying examples, 3 enabled
190. A domain member that uses an infrastructure member breaks a forbidden pairexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.architecture-constraints.forbidden-layer-pair
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
191. The walk named as a rules file fails validation on an isolation breachexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.architecture-constraints.isolated-context-as-rule
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
192. A component with no layer leaves its edge unclassifiedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.architecture-constraints.unstated-layer-unclassified
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
193. Corpus-authored rules run on the one validation pathbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
11 design entries · 7 pinned declarations
Decisions
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.corpus-rule-runner· runs selected corpus rules and separates their failures ·src/cli/corpus-rules.ts:65· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.corpus-rules· runs copied rule bodies after Protocol validation and composes the separate corpus report, output and exit ·src/cli/validate-view-command.ts:79· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.validate-watch· watches carrier directories and coalesces events into a pending validation rerun ·src/cli/validate-watch.ts:591· role service · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
9 verifiers, 9 enabled · 9 verifying examples, 9 enabled
194. A rules file that empties its graph leaves the next file's graph wholeexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.corpus-rules.copies-contain-changes
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
195. An error from a corpus rule fails validation and leaves the Protocol's line aloneexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.corpus-rules.error-finding-fails
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
196. A finding with no subject fails its rules fileexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.corpus-rules.malformed-finding-fails
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
197. Editing a parameter file starts a cycle that reads the new parametersexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.corpus-rules.params-edit-starts-a-cycle
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
198. Rewriting a rules file under node_modules starts a cycle that runs the new bodyexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.corpus-rules.rules-edit-starts-a-cycle
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
199. A parameter file that stops being JSON fails only its own rules file, and the watcher runs onexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.corpus-rules.unreadable-params-fail-one-file
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
200. A warning from a corpus rule informs and passesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.corpus-rules.warning-finding-informs
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
201. A corpus checks the register tokens its prose citesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:validation.external-registers
Design
8 design entries · 7 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.external-registers-recipe· asserts realization of the shipped external-registers recipe ·test/external-registers.test.ts:9
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
202. A cited token the register lacks or retires fails a rules runexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.external-registers.unknown-and-retired
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
203. A held token no Spec cites fails a rules run only when the caller asksexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:validation.external-registers.uncited-on-request
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
204. Projections fan out from one graph without becoming truth storesmodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.projections-model
Design
No design entries · no pinned declarations
Decisions
- MCP integration remains deferred · stated ready
- The shipped projections stay frozen · stated ready
Open questions
None.
Implementation binding: present
component:protocol.projections· read-only output, layout and owned publication ·src/projections/design-review.ts:29· role projection · layer edge · context protocol impl:protocol.projections-model· pure generated projection page contract ·src/projections/design-review.ts:16· role contract · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · no verifying examples, 0 enabled
205. Roadmap views read releases, baselines and phases from git and the graphmodel · scoped floor scoped · next rung defined: waits on 1 unmet clause · 1 open, 1 blocking questions · implementation binding none · verifier binding none
spec:consumers.projections-model.roadmap-views
Next rung defined waits on 1 unmet clause:
no-blocking-open-questions· Spec has no blocking open question in intent.openQuestions.
Design
No design entries · no pinned declarations
Open questions
- blocking · question.releaseReader
· line 22 · specs/consumers/projections-model.roadmap-views.sdp.md:22· Does a reader need release or baseline views that the roadmap, the recipes and git tags do not serve?Decider: ownerProvisional: Keep release and baseline views deferred; the trigger opens this question and does not authorize either view's build.Trigger: the first published release
Implementation binding: none
Design reference: none
Verifier binding: none
206. Mechanical code structure stays inferred and apart from curated intentbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.typescript-imports· TypeScript file imports and barrel reach for external curation input ·src/adapters/typescript-imports.ts:7· role adapter · component component:protocol.adapters· layer adapter · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
207. File-level imports show where curation is missingbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.impact-graph.curation-assist
Design
7 design entries · 4 pinned declarations
Decisions
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.build-imports· opt-in imports publication in the build command ·src/cli/build-command.ts:243· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.curation-recipe· asserts the curation report over external inferred imports ·test/curation-recipes.test.ts:32impl:protocol.typescript-imports· TypeScript file imports and barrel reach for external curation input ·src/adapters/typescript-imports.ts:7· role adapter · component component:protocol.adapters· layer adapter · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
208. Exhaustive symbol reach waits for a language-neutral identitybehavior · idea floor scoped · next rung scoped: nothing blocks · 1 open, 1 blocking questions · implementation binding none · verifier binding none
spec:consumers.impact-graph.symbol-reach
Next rung scoped: nothing blocks; it waits only for the author's statement.
Design
No design entries · no pinned declarations
Decisions
- Planning truths live in ruled graph homes · stated ready
Open questions
- blocking · question.symbolIdentity
· line 18 · specs/consumers/impact-graph.symbol-reach.sdp.md:18· Which language-neutral identity and extraction boundary can support exhaustive symbol reach without freezing a single compiler's representation into the Protocol?Decider: ownerTrigger: a reader needs symbol-level reach that file-level imports and curated anchors cannot give
Implementation binding: none
Design reference: none
Verifier binding: none
209. Agents script a visible typed graphbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- The agent front door is one evaluation sink over the exported reader · stated ready
- Agents script the visible graph · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.agent-surface-cli· CLI verb dispatcher and agent-surface front of the package CLI ·src/cli/sdp.ts:94· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.reader· typed graph queries, entry adapters and context joins ·src/reader/reader.ts:687· role reader · component component:protocol.reader· layer application · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
210. A scripted body returns claim-decoded context, pre-shaped by the bodyexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.agent-surface.scripted-context-body
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
211. One body reaches every entry point the demand map names, and no symbol entryexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.agent-surface.demand-map-entries
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
212. Recipe answers fit an agent's context and explain their missesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.agent-surface.answer-shapes
Design
10 design entries · 2 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.answer-shape-recipes· asserts realization of the catalog's compact and detailed answers ·test/recipes.test.ts:6214
Design reference: present
impl:protocol.authoring-grammar-recipes· asserts the authoring grammar's realization in docs/agent-surface/recipes.md ·test/recipes.test.ts:6597impl:protocol.reader· typed graph queries, entry adapters and context joins ·src/reader/reader.ts:687· role reader · component component:protocol.reader· layer application · context protocol
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
213. The evaluation sink runs one body and prints its returnbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.agent-surface.evaluation-sink
Design
7 design entries · 3 pinned declarations
Decisions
Open questions
None.
Implementation binding: present
api:protocol.evaluate-body· evaluates bodies and shipped recipes over one in-memory reader, graph and report ·src/reader/evaluate-body.ts:120· role service · component component:protocol.reader· layer application · context protocolimpl: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 ·src/cli/q-command.ts:212· role service · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
5 verifiers, 5 enabled · 3 verifying examples, 3 enabled
214. A body calls a shipped recipe and returns its answer unchangedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.agent-surface.evaluation-sink.recipe-call
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
215. A call to a recipe the catalog does not hold fails the bodyexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.agent-surface.evaluation-sink.unknown-recipe
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
216. A script holding a graph runs a shipped recipe through the exported evaluatorexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.agent-surface.evaluation-sink.exported-evaluator
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
217. Design Review renders graph context without becoming a gatebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
3 design entries · no pinned declarations
Decisions
- Bindings are optional, plural, and may reference a design · stated ready
- Architectural significance is annotated where it is realized · stated ready
- The Design Review renders open-section entries as a list · stated ready
- The Design Review shows an open question's key · stated ready
- The shipped projections stay frozen · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.design-review· renders the contextual Design Review projection ·src/projections/design-review.ts:44· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.design-review-codec· shared Design Review Markdown paths and links ·src/projections/design-review-markdown.ts:3· role codec · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
218. The view is the graph read twice, and the corpus is untouched by reading itexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-review.pure-projection
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
219. Census renders the runtime taxonomy without becoming a registrybehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- Bindings are optional, plural, and may reference a design · stated ready
- Architectural significance is annotated where it is realized · stated ready
- The shipped projections stay frozen · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.census-page· renders the derived census and runtime taxonomy projection ·src/projections/census.ts:21· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.census-page-cli· publishes the census through the explicit `sdp census` surface ·src/cli/census-command.ts:66· role publisher · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
220. Mermaid renders bounded one-hop and Pack diagrams without becoming a graph browserbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- The shipped projections stay frozen · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.mermaid-view· renders bounded Spec one-hop and Pack membership diagrams ·src/projections/mermaid.ts:14· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.mermaid-view-cli· publishes Mermaid through the explicit `sdp mermaid` surface ·src/cli/mermaid-command.ts:82· role publisher · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
221. Gherkin view renders any Spec as a disposable read shapebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- Carrier universality is bounded by honest kind structure · stated ready
- Prose belongs to typed graph owners · stated ready
- The shipped projections stay frozen · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.gherkin-kind-policy· shared Gherkin kind-refusal and loss explanations ·src/extract/gherkin-kind-honesty.ts:6· role decider · component component:protocol.extract· layer application · context protocolimpl:protocol.gherkin-view· renders a generated Gherkin-shaped READ projection of any Spec ·src/projections/gherkin-view.ts:19· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.gherkin-view-cli· publishes the Gherkin view through the explicit `sdp gherkin` surface ·src/cli/gherkin-command.ts:66· role publisher · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
222. The reader bridges agent entry points to composable graph contextbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- The agent front door is one evaluation sink over the exported reader · stated ready
- Agents script the visible graph · stated ready
- Bindings are optional, plural, and may reference a design · stated ready
- Decision records state readiness from ratification evidence · stated ready
Open questions
None.
Implementation binding: present
component:protocol.reader· the typed graph contract and body evaluator ·src/reader/reader.ts:671· role reader · layer application · context protocol impl:protocol.reader· typed graph queries, entry adapters and context joins ·src/reader/reader.ts:687· role reader · component component:protocol.reader· layer application · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 3 verifying examples, 3 enabled
223. A concept recorded only inside a Spec's sections is still reached, and the field is namedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.reader.concept-entry
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
224. A source file reaches the Spec its binding names, and a carrier reaches its own Specexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.reader.file-entry
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
225. A changeset names what it reaches, why, and what it cannot seeexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.reader.changeset-entry
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
226. Views compose scoped intent instead of patching canonical sourcebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.studio-intent-panel· gathers ordered intents under the page-root storage key and partitions their hand-off ·src/studio-elements/intent-panel.ts:51· role service · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-intent-panel-element· displays gathered requests and writes copy selections or local download links ·src/studio-elements/intent-panel-element.ts:14· role interaction · component component:protocol.studio-elements· layer edge · context protocol
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
227. Authors move one Spec from intent to reviewed evidencebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.authoring-on-ramp
Design
No design entries · no pinned declarations
Decisions
- Bindings are optional, plural, and may reference a design · stated ready
- The comment form is a second anchor representation · stated ready
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.authoring-on-ramp· asserts realization of the shipped graph-first authoring skill document ·test/skills.test.ts:76impl:protocol.spec-scaffolder· scaffolds an honest idea-rung Markdown Spec through `sdp new spec` ·src/cli/new-spec-command.ts:348· role service · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
228. The reading skill teaches agents to query the graphbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.reading-on-ramp
Design
No design entries · no pinned declarations
Decisions
Open questions
None.
Implementation binding: present
impl:protocol.reading-on-ramp· asserts realization of the shipped graph-reading skill document ·test/skills.test.ts:662
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
229. Delivery sessions route work from current graph statebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.delivery-session-on-ramp
Design
No design entries · no pinned declarations
Decisions
- Planning truths live in ruled graph homes · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.delivery-session-on-ramp· asserts realization of the shipped advisory delivery-session skill document ·test/skills.test.ts:83
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
230. Authoring questions stay executable graph recipesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.agent-surface.authoring-recipes
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.authoring-recipes· asserts realization of the shipped authoring recipe catalog ·test/recipes.test.ts:335
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
231. Register questions stay executable graph recipesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.agent-surface.register-recipes
Design
3 design entries · 2 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.register-recipes· asserts realization of the shipped register recipes ·test/recipes.test.ts:2057
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
232. Composed intent hands off on one proposal shapebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.intent-composition
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.studio-intent-panel· gathers ordered intents under the page-root storage key and partitions their hand-off ·src/studio-elements/intent-panel.ts:51· role service · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-intent-panel-element· displays gathered requests and writes copy selections or local download links ·src/studio-elements/intent-panel-element.ts:14· role interaction · component component:protocol.studio-elements· layer edge · context protocol
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
233. The next body of work is planned from the graph, not from a prose indexbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.graph-first-planning
Design
No design entries · no pinned declarations
Decisions
- Planning truths live in ruled graph homes · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.graph-first-planning· realizes placement homes and advisory session guidance in the shipped skills ·test/skills.test.ts:290
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
234. An adopter learns graph homes, carrier grammar and shipped paths from the on-rampsbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.adopter-on-ramp
Design
No design entries · no pinned declarations
Decisions
- Decision records state readiness from ratification evidence · stated ready
- Planning truths live in ruled graph homes · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.adopter-help· SDP_HELP_TEXT indexes the shipped skills, recipe catalog, schema, walkthrough, glossary and specs/ by package-relative path ·src/cli/help.ts:167· role projection · component component:protocol.cli· layer edge · context protocolimpl:protocol.adopter-on-ramp· asserts realization of the shipped adopter teaching in the authoring skill ·test/skills.test.ts:712
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
235. The package ships the Specs and on-ramps its skills citebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.shipped-protocol-corpus
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.shipped-protocol-corpus· asserts the published package ships the Protocol corpus ·test/package-smoke.test.ts:252
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
236. Derived readiness renders beside the stated rung and warns in one directionrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.derived-readiness-banner
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.derived-readiness-banner· renders stated readiness beside the structural floor and dishonest divergence ·src/projections/design-review-context.ts:18· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 2 verifying examples, 2 enabled
237. An overstated rung raises the banner and names the clause that refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.derived-readiness-banner.dishonest-divergence
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
238. A rung the structure overshoots renders as information, not as a bannerexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.derived-readiness-banner.honest-headroom
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
239. Views speak binding language, never the internal fact namerule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.binding-language-views
Design
No design entries · no pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.binding-language-index-table· renders binding presence in index and Pack tables ·src/projections/design-review-pages.ts:201· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.binding-language-spec-page· renders implementation, verifier, oracle, and observation binding language ·src/projections/design-review-context.ts:95· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
240. A fully bound Spec renders binding language on the page and in the indexexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.binding-language-views.bound-spec-page
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
241. The Pack member table speaks the page's binding language, not a shorthandexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.binding-language-views.pack-member-table
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
242. Every view run rewrites the view wholesalerule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.wholesale-view-rewrite
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.build-pipeline-emit· stages build outputs, checks determinism and invalidates projections ·src/cli/build-command.ts:251· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.wholesale-view-rewrite· publishes each Design Review as one wholesale temporary-directory replacement ·src/cli/validate-view-command.ts:128· role publisher · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
4 verifiers, 4 enabled · 4 verifying examples, 4 enabled
243. A page from an earlier run does not survive the next oneexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.wholesale-view-rewrite.stale-page-removed
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
244. A page the build's invalidation never saw still does not survive the swapexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.wholesale-view-rewrite.late-stale-page
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
245. A run that cannot produce a current view leaves no view at allexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.wholesale-view-rewrite.failed-run-view-removed
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
246. A build that never renders still takes the old view downexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.wholesale-view-rewrite.build-invalidates-view
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
247. Address resolution and dependency cycles stay executable graph recipesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.agent-surface.address-and-cycle-recipes
Design
4 design entries · 3 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.address-and-cycle-recipes· asserts realization of the shipped address resolution and dependency cycle recipes ·test/recipes.test.ts:3568
Design reference: none
Verifier binding: present
4 verifiers, 4 enabled · 3 verifying examples, 3 enabled
248. The shipped dependency-cycles file fails a rules run on a cycleexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
249. The shipped address-resolution file fails a rules run on an address that names no entryexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
250. A dependency chain with no cycle yields no findingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
251. The Spec Studio is a static HTML workbench over the one graphbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- The shipped projections stay frozen · stated ready
- The build renders every Studio view, and an element only enhances it · stated ready
- The Studio renders HTML, and the HTML stays derived · stated ready
- The Studio is built from custom elements, not a framework · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-command· validates and renders the Studio with independent byte checks and diagnostic exit codes ·src/cli/studio-command.ts:106· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.studio-data· assembles reader contexts, Pack totals, rails and search records for static pages ·src/projections/studio/data.ts:279· role contract · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-frame· renders Studio navigation, page rails and composing controls ·src/projections/studio/pages/frame.ts:6· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
252. The index says where the corpus stands and narrows every Specbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.index-page
Design
7 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-index-page· renders Pack disclosures and filterable Spec rows ·src/projections/studio/pages/index-page.ts:8· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
253. A Pack page shows the Pack's design as one card per memberbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.pack-page
Design
7 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-pack-page· renders Pack members, maturity and boundary joins ·src/projections/studio/pages/pack-page.ts:68· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
254. sdp studio publishes the Studio as one page setbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.publisher
Design
No design entries · no pinned declarations
Decisions
- The shipped projections stay frozen · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.build-pipeline-emit· stages build outputs, checks determinism and invalidates projections ·src/cli/build-command.ts:251· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.studio-command· validates and renders the Studio with independent byte checks and diagnostic exit codes ·src/cli/studio-command.ts:106· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.studio-page-catalog· selects Studio pages, optional inputs and Pack exports ·src/projections/studio/pages/index.ts:21· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-paths· encodes uppercase id letters for collision-free Pack and Spec page paths ·src/projections/studio/paths.ts:2· role codec · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-publish· copies local assets and replaces the Studio directory through its temporary sibling ·src/projections/studio/publish.ts:24· role publisher · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
255. Search finds a Spec, a Pack, an entry or a bound file by a wordbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.search
Design
6 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-concept-match· matches concepts deterministically across graph and browser queries ·src/reader/concept-match.ts:43· role reader · component component:protocol.reader· layer application · context protocolimpl:protocol.studio-search-page· publishes search records beside the browser results view ·src/projections/studio/pages/search-page.ts:5· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-search-results· ranks and renders concept, entry and file search hits ·src/studio-elements/search-results.ts:95· role projection · component component:protocol.studio-elements· layer edge · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · no verifying examples, 0 enabled
256. A few custom elements filter, search, open and copy on a rendered pagecontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.page-elements
Design
6 design entries · 6 pinned declarations
Decisions
- The Studio is built from custom elements, not a framework · stated ready
Open questions
None.
Implementation binding: present
component:protocol.studio-elements· optional browser behavior and proposal handoff ·src/studio-elements/index.ts:13· role interaction · layer edge · context protocol impl:protocol.studio-copy· copies text with selection fallback and failure feedback ·src/studio-elements/copy.ts:22· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-expander· opens fragment ancestors and expands disclosures for print ·src/studio-elements/expander.ts:16· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-filter· filters build-rendered rows through their recorded attributes ·src/studio-elements/filter.ts:25· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-search-form· routes search forms through page-root URLs and fragments ·src/studio-elements/search.ts:18· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-search-results· ranks and renders concept, entry and file search hits ·src/studio-elements/search-results.ts:95· role projection · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-stamp· resolves published stamps and source links in the browser ·src/studio-elements/stamp.ts:30· role interaction · component component:protocol.studio-elements· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
257. The Studio renders from the reader's values and embeds only what its script readscontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.data
Design
5 design entries · 5 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-data· assembles reader contexts, Pack totals, rails and search records for static pages ·src/projections/studio/data.ts:279· role contract · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
258. The Studio's shell frames every page with navigation, a rail and a canvasbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.shell
Design
5 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-code-spans· escapes and maps code spans across Studio text ·src/projections/studio/pages/code-spans.ts:9· role codec · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-frame· renders Studio navigation, page rails and composing controls ·src/projections/studio/pages/frame.ts:6· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-html· shared Studio HTML, source and link encoding ·src/projections/studio/pages/html.ts:8· role codec · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-text· escapes prose and links graph-resolving mentions ·src/projections/studio/pages/text.ts:7· role codec · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
259. Five lenses read the graph as Packs, capabilities, architecture, tests and evidencebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.lenses
Design
1 design entry · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-architecture-lens· renders recipe component rows and planned designs as architecture and member diagrams ·src/projections/studio/pages/architecture-page.ts:50· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-evidence-lens· names the four evidence sources and what would bring each into the Studio ·src/projections/studio/pages/evidence-page.ts:3· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-frame· renders Studio navigation, page rails and composing controls ·src/projections/studio/pages/frame.ts:6· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-tests-lens· renders shared rule and example-space coverage with filters and verifier bindings ·src/projections/studio/pages/tests-page.ts:34· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
260. A Spec page shows one Spec in collapsible panels, in a fixed orderbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.spec-page
Design
10 design entries · no pinned declarations
Decisions
- The Design Review renders open-section entries as a list · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-requirement-view· selects Spec refiners, verifying examples and their recorded bindings ·src/projections/studio/pages/requirement-view.ts:8· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-spec-page· renders Spec intent, relations and realization bindings ·src/projections/studio/pages/spec-page.ts:201· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-spec-structure· renders requirement and trace diagrams and the recorded structural neighborhood ·src/projections/studio/pages/spec-structure.ts:44· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 1 verifying example, 1 enabled
261. A Spec page's core shows the whole Spec, with an anchor for every entrybehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.spec-page.core
Design
8 design entries · no pinned declarations
Decisions
- The Design Review renders open-section entries as a list · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-spec-page· renders Spec intent, relations and realization bindings ·src/projections/studio/pages/spec-page.ts:201· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
262. The panels for examples, targets, verifiers and evidencebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.verification-panels
Design
8 design entries · no pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
- Verification mode states posture, not realization · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-run-rows· renders recipe 45 file rows shared by the runs page and verification panel ·src/projections/studio/pages/run-rows.ts:69· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-verification-panels· renders rule coverage, example cards, constraint targets, verifiers and example-space coverage ·src/projections/studio/pages/spec-verification.ts:74· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 1 verifying example, 1 enabled
263. A composing panel on every page gathers scoped intent for an agentbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.intent-panel
Design
9 design entries · 3 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-compose· opens a native request dialog beside build-rendered scopes without changing their content ·src/studio-elements/compose.ts:13· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-frame· renders Studio navigation, page rails and composing controls ·src/projections/studio/pages/frame.ts:6· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-intent-panel· gathers ordered intents under the page-root storage key and partitions their hand-off ·src/studio-elements/intent-panel.ts:51· role service · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-intent-panel-element· displays gathered requests and writes copy selections or local download links ·src/studio-elements/intent-panel-element.ts:14· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-scenario-editor· gathers the edited Given, When and Then as exact text scoped to its subject ·src/studio-elements/scenario-editor.ts:17· role interaction · component component:protocol.studio-elements· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 1 verifying example, 1 enabled
264. The Studio's custom elements each hold one view the build renderscontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.components
Design
10 design entries · 10 pinned declarations
Decisions
- The build renders every Studio view, and an element only enhances it · stated ready
- The engine lays out every Studio diagram as static SVG when the page set is built · stated ready
- The Studio is built from custom elements, not a framework · stated ready
Open questions
None.
Implementation binding: present
component:protocol.studio-elements· optional browser behavior and proposal handoff ·src/studio-elements/index.ts:13· role interaction · layer edge · context protocol impl:protocol.studio-compose· opens a native request dialog beside build-rendered scopes without changing their content ·src/studio-elements/compose.ts:13· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-filter· filters build-rendered rows through their recorded attributes ·src/studio-elements/filter.ts:25· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-intent-panel-element· displays gathered requests and writes copy selections or local download links ·src/studio-elements/intent-panel-element.ts:14· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-maturity-map· places resolved Pack members by their stated rung and floor in authored order ·src/projections/studio/pages/maturity-map.ts:7· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-pack-page· renders Pack members, maturity and boundary joins ·src/projections/studio/pages/pack-page.ts:68· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-scenario-editor· gathers the edited Given, When and Then as exact text scoped to its subject ·src/studio-elements/scenario-editor.ts:17· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-search-results· ranks and renders concept, entry and file search hits ·src/studio-elements/search-results.ts:95· role projection · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-spec-structure· renders requirement and trace diagrams and the recorded structural neighborhood ·src/projections/studio/pages/spec-structure.ts:44· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-verification-panels· renders rule coverage, example cards, constraint targets, verifiers and example-space coverage ·src/projections/studio/pages/spec-verification.ts:74· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
265. The Studio reads on a phone as on a desktopbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.responsive
Design
3 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-frame· renders Studio navigation, page rails and composing controls ·src/projections/studio/pages/frame.ts:6· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
266. A Studio build is stamped and shared from a static hostbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.sharing
Design
9 design entries · 3 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.stamp-command· writes the publishing stamp without extraction or rendering ·src/cli/stamp-command.ts:8· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.studio-preview-workflow· asserts the reusable Studio preview workflow and Protocol CI caller ·test/studio-s4.test.ts:742impl:protocol.studio-stamp· resolves published stamps and source links in the browser ·src/studio-elements/stamp.ts:30· role interaction · component component:protocol.studio-elements· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
267. The stamp is written beside the page set, and a later build removes itexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.sharing.stamp-written-apart
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
268. A page takes each recipe answer from the recipe's shipped bodycontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.data.recipe-answers
Design
2 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-recipes· evaluates shipped recipe bodies once and shares answers between Studio pages ·src/projections/studio/recipes.ts:34· role service · component component:protocol.projections· layer edge · context protocol
Design reference: present
impl:protocol.studio-register-contracts· shared recipe answer shapes for Studio registers ·src/projections/studio/pages/register-answers.ts:4· role contract · component component:protocol.projections· layer edge · context protocol
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
269. The Studio reads two named inputs beside the graph, a base graph and run recordscontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.data.inputs
Design
2 design entries · 2 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-base-input· reads named Studio base graphs and run inputs ·src/cli/studio-inputs.ts:9· role codec · component component:protocol.cli· layer edge · context protocolimpl:protocol.studio-command· validates and renders the Studio with independent byte checks and diagnostic exit codes ·src/cli/studio-command.ts:106· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.studio-inputs· named base graph and run input contract ·src/projections/studio/inputs.ts:1· role contract · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
270. Without inputs the page set is the graph's aloneexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.data.inputs.graph-only
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
271. Both inputs add their pages, named, and the same inputs write the same bytesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.data.inputs.both-given
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
272. sdp studio --watch rebuilds the page set on each carrier changebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.publisher.watch
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-watch· awaits the plain Studio publication in each coalesced carrier-watch cycle ·src/cli/studio-command.ts:122· role service · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
273. Each watch cycle writes the page set a plain run writesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.publisher.watch.matches-plain-run
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
275. The Packs lens groups every Spec by the Packs that hold itbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.lenses.packs
Design
1 design entry · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-index-page· renders Pack disclosures and filterable Spec rows ·src/projections/studio/pages/index-page.ts:8· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
276. The architecture lens draws components by context and layer, the planned beside the builtbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.lenses.architecture
Design
5 design entries · 1 pinned declaration
Decisions
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-architecture-lens· renders recipe component rows and planned designs as architecture and member diagrams ·src/projections/studio/pages/architecture-page.ts:50· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 1 verifying example, 1 enabled
277. The architecture page lists each component's significant units by rolebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.lenses.architecture.unit-register
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-unit-register· renders component source bindings and role-grouped recorded units ·src/projections/studio/pages/architecture-register.ts:7· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
278. A component design no anchor realizes draws planned beside the built oneexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.lenses.architecture.planned-apart
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
279. The tests lens shows how far each Spec's verification reachesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.lenses.tests
Design
3 design entries · no pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
- Verification mode states posture, not realization · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-tests-lens· renders shared rule and example-space coverage with filters and verifier bindings ·src/projections/studio/pages/tests-page.ts:34· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
280. A Spec's row on the tests lens counts its exercised keyed rulesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.lenses.tests.coverage-row
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
281. The evidence lens names each source of runtime evidence and reads it as not trackedbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.lenses.evidence
Design
1 design entry · no pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-evidence-lens· names the four evidence sources and what would bring each into the Studio ·src/projections/studio/pages/evidence-page.ts:3· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
282. A Pack page's maturity map places every member by its stated rung and its floorbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.pack-page.maturity-map
Design
1 design entry · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-maturity-map· places resolved Pack members by their stated rung and floor in authored order ·src/projections/studio/pages/maturity-map.ts:7· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
283. A pinned declaration shows the test line that cites itexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.spec-page.cited-declaration
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
284. Each keyed rule shows the examples that exercise it, or that none doesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.verification-panels.rule-coverage
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
285. The corpus's registers are pages a reviewer opens from a linkbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.registers
Design
4 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-registers· renders question, decision, declaration and backlog registers ·src/projections/studio/pages/registers-page.ts:47· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
286. The questions page lists the Specs with a blocking question firstexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.registers.blocking-first
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
287. The owner queue page orders the statements and questions only a person can settlebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.owner-queue
Design
2 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-owner-queue· renders waiting readiness statements and decider questions ·src/projections/studio/pages/queue-page.ts:9· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
288. The owner queue lists a waiting statement after the one it rests onexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.owner-queue.dependency-first
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
289. The diff page shows what changed in the design since a base graphbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diff-page
Design
4 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-diff· renders declared design changes and binding changes separately ·src/projections/studio/pages/diff-page.ts:91· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 1 verifying example, 1 enabled
290. The diff page shows a changed entry's base and built valuesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.diff-page.changed-entry
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
291. The runs page shows the run records the build was given, joined to test filesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.runs-page
Design
3 design entries · no pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-run-rows· renders recipe 45 file rows shared by the runs page and verification panel ·src/projections/studio/pages/run-rows.ts:69· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-runs-page· renders readable CTRF inputs, file results, unjoined records and diagnostics ·src/projections/studio/pages/runs-page.ts:6· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
292. The runs page shows a run as external evidence from a test fileexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.runs-page.external-evidence
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
293. The glossary page lists every term the corpus's Specs definebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.glossary-page
Design
2 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-glossary· renders Model terms with their entry-address links ·src/projections/studio/pages/glossary-page.ts:7· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
294. A word two Specs define appears once per Spec on the glossary pageexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.glossary-page.same-word-twice
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
295. Refreshing a tab keeps every gathered intentexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.intent-panel.refresh-keeps-intents
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
296. A diagram is laid out from graph values into SVG with a text equivalentcontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diagrams
Design
14 design entries · 4 pinned declarations
Decisions
Open questions
None.
Implementation binding: present
impl:protocol.studio-architecture-diagrams· architecture grids and bounded context and layer folds ·src/projections/studio/diagrams/architecture.ts:4· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-diagram-model· shared diagram boxes, edges and drawing bounds ·src/projections/studio/diagrams/model.ts:1· role contract · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-diagrams· deterministic grid and band layouts with bounded folds and full text equivalents ·src/projections/studio/diagrams/svg.ts:73· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-relation-diagrams· relation and member bands and bounded relation folds ·src/projections/studio/diagrams/bands.ts:10· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
4 verifiers, 4 enabled · 3 verifying examples, 3 enabled
297. An architecture within the bound draws in one diagram, the same bytes twiceexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.diagrams.within-bound
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
298. An architecture over the bound folds by contextexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.diagrams.folds-by-context
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
299. One context over the bound folds by layerexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.diagrams.folds-by-layer
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
300. A Pack exports as one file, and every page prints as a documentbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.export
Design
5 design entries · 1 pinned declaration
Open questions
None.
Implementation binding: present
impl:protocol.studio-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-expander· opens fragment ancestors and expands disclosures for print ·src/studio-elements/expander.ts:16· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-pack-export· copies rendered canvas content into one inline-styled document with prefixed element references ·src/projections/studio/pages/export-page.ts:35· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-pack-page· renders Pack members, maturity and boundary joins ·src/projections/studio/pages/pack-page.ts:68· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 1 verifying example, 1 enabled
301. A Pack's export opens alone and keeps its links inside itexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.spec-studio.export.self-contained
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
302. The Studio skill teaches agents to publish, share and read the Spec Studiobehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-on-ramp· asserts realization of the shipped Studio skill document ·test/skills.test.ts:1693
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
303. The Pack context carries the Pack's designbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.pack-design· the Pack design helpers and the Pack context assembly they serve ·src/reader/reader.ts:499· role reader · component component:protocol.reader· layer application · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
304. A Pack page shows where the Pack's design standsbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.design-review.pack-design-page
Design
No design entries · no pinned declarations
Decisions
- The Design Review's Pack page presents the Pack's design · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.pack-design-page· renders the Pack page from the Pack design ·src/projections/design-review-pages.ts:120· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: present
impl:protocol.pack-design-sections· renders the Pack page's next-rung, boundary, question and code sections ·src/projections/design-review-pack-sections.ts:19· role projection · component component:protocol.projections· layer edge · context protocol
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
305. Recipes take parameters as data and ship as runnable filesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.agent-surface.recipe-parameters
Design
2 design entries · 2 pinned declarations
Decisions
Open questions
None.
Implementation binding: present
impl:protocol.build-artifacts· the build step that writes each catalog recipe to dist/recipes and records the build commit beside the CLI ·src/cli/build-artifacts.ts:182· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.parameter-codec· decodes recipe parameters and refuses duplicate keys ·src/cli/params.ts:121· role codec · component component:protocol.cli· layer edge · context protocolimpl:protocol.query-params· reads --params as JSON data and injects it as the sink's fourth binding, params ·src/cli/q-command.ts:71· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.recipe-parameters-catalog· asserts realization of the catalog recipes that read their parameter from params ·test/recipes.test.ts:4405
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · no verifying examples, 0 enabled
306. Design work reads its answers from catalog recipesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.agent-surface.design-recipes
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.design-recipes· asserts realization of the shipped design recipes ·test/recipes.test.ts:4769
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
307. The CLI names the engine that produced a resultbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.engine-provenance
Design
1 design entry · 1 pinned declaration
Open questions
None.
Implementation binding: present
impl:protocol.build-artifacts· the build step that writes each catalog recipe to dist/recipes and records the build commit beside the CLI ·src/cli/build-artifacts.ts:182· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.engine-provenance-cli· prints sdp version and the commit parsed from the build-info file beside the compiled CLI ·src/cli/sdp.ts:102· role projection · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
308. Validation re-runs while an author edits carriersbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.validate-watch· watches carrier directories and coalesces events into a pending validation rerun ·src/cli/validate-watch.ts:591· role service · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
309. Example spaces report which values their examples coverbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.agent-surface.example-space-coverage
Design
7 design entries · 5 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.example-space-coverage-recipe· asserts realization of shipped recipe 44 ·test/studio-s1.test.ts:856impl:protocol.example-space-decoding· shared example-space interpretation for contracts and reader contexts ·src/notation/example-space.ts:473· role codec · component component:protocol.reader· layer application · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
310. A literal no example binds is reported uncovered, and an unbound child is namedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.agent-surface.example-space-coverage.uncovered-literal
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
311. A number slot is not enumerable and reports no uncovered valueexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.agent-surface.example-space-coverage.number-not-enumerable
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
312. A Pack is read from a named perspectivebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.review-perspectives
Design
4 design entries · 1 pinned declaration
Open questions
None.
Implementation binding: present
impl:protocol.perspective-filter-recipe· realizes the perspective filter in the shipped recipe catalog ·test/iteration-recipes.test.ts:753· role projection
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
313. A context bundle is composed per invocation within a stated budgetbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
17 design entries · 7 pinned declarations
Decisions
Open questions
None.
Implementation binding: present
impl:protocol.context-bundle-recipe· realizes the context bundle in the shipped recipe catalog ·test/iteration-recipes.test.ts:765· role projection
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 2 verifying examples, 2 enabled
314. A Pack too large for one bundle reads whole in partsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.context-bundle.parts-cover-the-pack
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
315. A member larger than the budget is named, and no part is returnedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.context-bundle.oversized-member-named
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
316. Designs are compared between a base commit and the working tree at entry grainbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
8 design entries · 4 pinned declarations
Decisions
- A roadmap states advisory priority in the graph · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.design-diff-recipe· realizes the design diff in the shipped recipe catalog ·test/iteration-recipes.test.ts:27· role projection
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
317. A change proposal is addressed, based and checked before it landscontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.intent-composition.proposal
Design
7 design entries · 2 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.proposal-schema-and-recipe· realizes the shipped proposal schema and proposal check in the recipe catalog ·test/iteration-recipes.test.ts:1510· role contract impl:protocol.studio-proposal-contract· browser proposal shape and schema checks ·src/studio-elements/proposal.ts:1· role contract · component component:protocol.studio-elements· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
318. Recipe 49 renders a change proposal as the Markdown memo a person reviewscontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.intent-composition.proposal.memo
Design
5 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.proposal-memo-recipe· realizes the catalog proposal memo through its verbatim body check ·test/recipes.test.ts:7298impl:protocol.studio-proposal-memo· renders proposal fields verbatim with fences that outgrow their content ·src/studio-elements/memo.ts:13· role projection · component component:protocol.studio-elements· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
320. A reference projection serves a reader outside the repositorybehavior · idea floor idea · next rung scoped: waits on 1 unmet clause · 2 open, 1 blocking questions · implementation binding none · verifier binding none
spec:consumers.reference-projection
Next rung scoped waits on 1 unmet clause:
kind-evidence-present· The kind's natural evidence is present (per-kind evidence table).
Design
No design entries · no pinned declarations
Open questions
- blocking · question.namedOutsideReader
· line 17 · specs/consumers/reference-projection.sdp.md:17· Does a human reader outside the repository need a reference projection the four shipped roots do not serve? The taxonomy row is not that reader.Decider: ownerTrigger: a named consumer outside the repository, with a way to measure that demand inside the arc that builds the projection - non-blocking · question.referenceSource
· line 20 · specs/consumers/reference-projection.sdp.md:20· Would the reference read pinned declarations, contract-kind Specs orapi:code anchors, and does any of them hold enough to document an interface?
Implementation binding: none
Design reference: none
Verifier binding: none
321. Mermaid diagrams can be rooted at code unitsbehavior · scoped floor scoped · next rung defined: waits on 1 unmet clause · 1 open, 1 blocking questions · implementation binding none · verifier binding none
spec:consumers.structural-mermaid
Next rung defined waits on 1 unmet clause:
no-blocking-open-questions· Spec has no blocking open question in intent.openQuestions.
Design
No design entries · no pinned declarations
Decisions
- The shipped projections stay frozen · stated ready
Open questions
- blocking · question.namedStructuralReader
· line 21 · specs/consumers/structural-mermaid.sdp.md:21· Does a reader need diagrams rooted at code units, which census tables and Spec-rooted one-hop Mermaid do not serve?Decider: ownerTrigger: a named reader with that need, plus a decision that refinesspec:decisions.shipped-projections-frozenfor the affected Mermaid rendering or supersedes that ruling whole
Implementation binding: none
Design reference: none
Verifier binding: none
322. An Obsidian vault lets a person iterate on designs from the one graphbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
13 design entries · 5 pinned declarations
Decisions
- The shipped projections stay frozen · stated ready
- The vault's generator owns one folder and synchronizes it · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.vault-command· validates after vault preflight and retains prior notes behind a failed-extraction index ·src/cli/vault-command.ts:191· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.vault-notes· renders reader contexts, declared relations and keyed terms as linked notes ·src/projections/vault/notes.ts:45· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.vault-sync· guards every owned entry and records transitional hashes before atomic file replacement ·src/projections/vault/sync.ts:98· role publisher · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
9 verifiers, 9 enabled · 9 verifying examples, 9 enabled
323. A fresh vault is written the same way twice and every link resolvesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.fresh-vault
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
324. A regeneration removes a note that left the graph and keeps a person's notesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.person-notes-survive
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
325. A note a person wrote inside the generated folder refuses the regenerationexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.unknown-note-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
326. A generated note a person changed refuses the regeneration and keeps the editexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.changed-note-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
328. A vault directory the build removes refuses the run and keeps a person's notesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.vault-in-build-path-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
329. A run after a stopped synchronization finishes itexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.interrupted-run-recovered
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
330. A failed extraction keeps the notes and says so on the indexexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.failed-extraction-keeps-notes
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
331. The run after a failed extraction passes the guard and restores the indexexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.failed-extraction-recovered
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
332. Every Spec, Pack, code unit and keyed term is a note, and every relation is a linkbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.obsidian-vault.notes
Design
17 design entries · 8 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.vault-notes· renders reader contexts, declared relations and keyed terms as linked notes ·src/projections/vault/notes.ts:45· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.vault-sections· renders sections in graph order with keyed entry block ids ·src/projections/vault/sections.ts:10· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.vault-text· renders checked mentions and escapes Obsidian syntax outside code spans ·src/projections/vault/text.ts:30· role codec · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
5 verifiers, 5 enabled · 4 verifying examples, 4 enabled
333. An entry address in prose opens the entry's block in its Spec's noteexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.notes.entry-address-link
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
334. A mention of an entry that does not exist stays as writtenexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.notes.unresolved-mention-stays
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
335. A keyed Model term gets a note, and its address in prose opens the term's blockexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.notes.term-address-link
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
336. Two Specs whose notes differ only in case refuse the runexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.notes.case-collision-refused
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
337. A Pack's members and the standing queries are tables over the reader's valuesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.obsidian-vault.bases
Design
9 design entries · 5 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.vault-bases· serializes standing query predicates over reader properties as Obsidian Bases ·src/projections/vault/bases.ts:43· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.vault-notes· renders reader contexts, declared relations and keyed terms as linked notes ·src/projections/vault/notes.ts:45· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
338. Each standing view selects what its source selectsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.bases.views-match-sources
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
339. A design pass is followed and answered from the vaultbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.obsidian-vault.iteration
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.vault-sync· guards every owned entry and records transitional hashes before atomic file replacement ·src/projections/vault/sync.ts:98· role publisher · component component:protocol.projections· layer edge · context protocolimpl:protocol.vault-text· renders checked mentions and escapes Obsidian syntax outside code spans ·src/projections/vault/text.ts:30· role codec · component component:protocol.projections· layer edge · context protocolimpl:protocol.vault-watch· reuses the coalescing watcher with source suffixes and a synchronous vault cycle ·src/cli/vault-command.ts:219· role service · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
340. A carrier edit under watch rewrites only the notes it changesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
341. An anchor added in a source file under watch rewrites the Spec's noteexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.obsidian-vault.iteration.watch-source-anchor
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
342. The vault skill teaches agents to keep an Obsidian vault of the graphbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- The vault's generator owns one folder and synchronizes it · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.vault-on-ramp· asserts realization of the shipped vault skill document ·test/skills.test.ts:1995
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
343. The readiness planner orders the statements a person can makebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.readiness-planner
Design
6 design entries · 4 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.statement-queue-recipe· realizes the statement queue in the shipped recipe catalog ·test/self-hosting-readiness-planner.test.ts:74· role projection
Design reference: none
Verifier binding: present
4 verifiers, 4 enabled · 4 verifying examples, 4 enabled
344. The Spec another rests on comes first in the queueexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.readiness-planner.dependency-order
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
345. A waiting decision comes before the Spec it shapesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.readiness-planner.decision-first
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
347. An owner's blocking question lists the Specs it holdsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.readiness-planner.owner-question-holds
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
348. The upgrade kit shows a corpus what it could adoptbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
2 design entries · 1 pinned declaration
Open questions
None.
Implementation binding: present
impl:protocol.upgrade-guide· realizes the shipped upgrade guide document ·test/upgrade-kit.test.ts:87
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
349. Capability adoption counts where each capability is used and where it could applybehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.upgrade-kit.capability-adoption
Design
6 design entries · 4 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.capability-adoption-recipe· realizes capability adoption in the shipped recipe catalog ·test/upgrade-kit.test.ts:514· role projection
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · 1 verifying example, 1 enabled
350. Capability adoption counts keyed rules and reasoned relationsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
351. The rule-key proposal keys every unkeyed rule as a change proposalbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.upgrade-kit.rule-key-proposal
Design
9 design entries · 6 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.rule-key-proposal-recipe· realizes the rule-key proposal in the shipped recipe catalog ·test/upgrade-kit.test.ts:742· role projection
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
352. A rule-key proposal passes the proposal check and validates once appliedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
353. Two rules that coin one key stay apart, and a rule with no ASCII word stays unkeyedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
354. Every verb answers --help, and one verb writes every projection rootbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
5 design entries · 2 pinned declarations
Decisions
- The shipped projections stay frozen · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.adopter-help· SDP_HELP_TEXT indexes the shipped skills, recipe catalog, schema, walkthrough, glossary and specs/ by package-relative path ·src/cli/help.ts:167· role projection · component component:protocol.cli· layer edge · context protocolimpl:protocol.agent-surface-cli· CLI verb dispatcher and agent-surface front of the package CLI ·src/cli/sdp.ts:94· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.build-args· shared build arguments and corpus-rule inputs ·src/cli/build-args.ts:11· role codec · component component:protocol.cli· layer edge · context protocolimpl:protocol.generate-command· prepares all prior roots before one shared build and publishes with each verb's checks ·src/cli/generate-command.ts:34· role publisher · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 3 verifying examples, 3 enabled
355. A root that fails its check is removed while sdp generate writes the othersexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.command-line.generate-check-failure
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
356. One run of sdp generate leaves all five roots currentexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.command-line.generate-writes-every-root
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
357. A publisher's --help prints its help and touches no rootexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.command-line.verb-help-touches-nothing
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
358. The capability map reads every epic and its refinement descendantsbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
10 design entries · 4 pinned declarations
Decisions
- Capability epics keep kind independent of altitude · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.capability-map-recipe· asserts realization of The capability map in docs/agent-surface/recipes.md ·test/recipes.test.ts:7602· role projection
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
359. The capability map page makes refinement readable by epicbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.capability-map-page
Design
6 design entries · 1 pinned declaration
Open questions
None.
Implementation binding: present
impl:protocol.studio-capabilities-page· renders epic evidence, refinement and unreached Specs from the capability map ·src/projections/studio/pages/capabilities-page.ts:78· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-filter· filters build-rendered rows through their recorded attributes ·src/studio-elements/filter.ts:25· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-frame· renders Studio navigation, page rails and composing controls ·src/projections/studio/pages/frame.ts:6· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-index-page· renders Pack disclosures and filterable Spec rows ·src/projections/studio/pages/index-page.ts:8· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
360. The Studio chooses diagram kinds from graph valuesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diagram-kinds
Design
37 design entries · 1 pinned declaration
Decisions
Open questions
None.
Implementation binding: present
impl:protocol.studio-architecture-lens· renders recipe component rows and planned designs as architecture and member diagrams ·src/projections/studio/pages/architecture-page.ts:50· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-capability-diagrams· places refinement occurrences and bounded branches from the capability map ·src/projections/studio/diagrams/capability.ts:101· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-diagram-layout· title-first box placement, wrapping and band sizing for desktop and phone ·src/projections/studio/diagrams/layout.ts:140· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-diagram-source· escaped Mermaid flowchart and mindmap source in placed box order ·src/projections/studio/diagrams/mermaid.ts:13· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-diagrams· deterministic grid and band layouts with bounded folds and full text equivalents ·src/projections/studio/diagrams/svg.ts:73· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-maturity-map· places resolved Pack members by their stated rung and floor in authored order ·src/projections/studio/pages/maturity-map.ts:7· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-requirement-diagram· folds requirement bindings by relation direction and claim and serializes exact relations ·src/projections/studio/diagrams/requirement.ts:12· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-slice-architecture· selected component grid with distinct planned identities and complete unit edges ·src/projections/studio/diagrams/slice.ts:219· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-slice-dependencies· supplied depth bands with protected boundary boxes and lossless text ·src/projections/studio/diagrams/slice.ts:10· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
361. A diagram preserves readable labels before zoomcontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diagram-kinds.legibility
Design
6 design entries · 3 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-diagram-layout· title-first box placement, wrapping and band sizing for desktop and phone ·src/projections/studio/diagrams/layout.ts:140· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-diagrams· deterministic grid and band layouts with bounded folds and full text equivalents ·src/projections/studio/diagrams/svg.ts:73· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
362. Edges route around boxes with deterministic orthogonal pathscontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diagram-kinds.edge-routing
Design
6 design entries · 1 pinned declaration
Open questions
None.
Implementation binding: present
impl:protocol.studio-diagram-routing· port, channel and overflow-rail edge routes around boxes and labels ·src/projections/studio/diagrams/routing.ts:38· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-diagrams· deterministic grid and band layouts with bounded folds and full text equivalents ·src/projections/studio/diagrams/svg.ts:73· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
363. A diagram offers Mermaid source as copyable textbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diagram-kinds.mermaid-source
Design
6 design entries · no pinned declarations
Decisions
- The shipped projections stay frozen · stated ready
- The engine lays out every Studio diagram as static SVG when the page set is built · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.studio-diagram-source· escaped Mermaid flowchart and mindmap source in placed box order ·src/projections/studio/diagrams/mermaid.ts:13· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-diagrams· deterministic grid and band layouts with bounded folds and full text equivalents ·src/projections/studio/diagrams/svg.ts:73· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
364. A dependency drawing shows the declared footing of a Spec setbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diagram-kinds.dependency
Design
6 design entries · 2 pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-slice-dependencies· supplied depth bands with protected boundary boxes and lossless text ·src/projections/studio/diagrams/slice.ts:10· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
365. A refinement drawing follows the capability mapbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diagram-kinds.capability-tree
Design
5 design entries · 1 pinned declaration
Open questions
None.
Implementation binding: present
impl:protocol.studio-capability-diagrams· places refinement occurrences and bounded branches from the capability map ·src/projections/studio/diagrams/capability.ts:101· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-diagram-source· escaped Mermaid flowchart and mindmap source in placed box order ·src/projections/studio/diagrams/mermaid.ts:13· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
366. A Spec set draws the architecture it touchesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diagram-kinds.scoped-architecture
Design
5 design entries · 1 pinned declaration
Open questions
None.
Implementation binding: present
impl:protocol.studio-slice-architecture· selected component grid with distinct planned identities and complete unit edges ·src/projections/studio/diagrams/slice.ts:219· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
367. The maturity map is drawn as a grid of countsbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diagram-kinds.maturity-picture
Design
6 design entries · 1 pinned declaration
Open questions
None.
Implementation binding: present
impl:protocol.studio-maturity-map· places resolved Pack members by their stated rung and floor in authored order ·src/projections/studio/pages/maturity-map.ts:7· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
368. A requirement drawing separates intent from realization and verificationbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.diagram-kinds.requirement-trace
Design
8 design entries · 1 pinned declaration
Open questions
None.
Implementation binding: present
impl:protocol.studio-requirement-diagram· folds requirement bindings by relation direction and claim and serializes exact relations ·src/projections/studio/diagrams/requirement.ts:12· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-requirement-view· selects Spec refiners, verifying examples and their recorded bindings ·src/projections/studio/pages/requirement-view.ts:8· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
369. A slice reads a Pack as one design, with the architecture it touches and what each member needs nextbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
18 design entries · 15 pinned declarations
Decisions
- Bindings are optional, plural, and may reference a design · stated ready
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.design-slice-recipe· realizes the design slice in the shipped recipe catalog ·test/self-hosting-design-slice.test.ts:148· role projection
Design reference: present
impl:protocol.studio-slice-answer· full design slice answer consumed by the page and drawings ·src/projections/studio/slice-answer.ts:1· role contract · component component:protocol.projections· layer edge · context protocol
Verifier binding: present
15 verifiers, 15 enabled · 14 verifying examples, 14 enabled
370. Outside components stop at the touched components' neighborsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.outside-components
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
371. Members rest on a chainexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.chain
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
372. A shaping decision comes before its memberexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.decision-backlink
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
373. A cycle shares a depthexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.dependency-cycle
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
374. An example folds without lending its readinessexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.folded-example
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
375. An example with its own dependency stays unfoldedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.independent-example
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
376. An unanchored component design stays visibleexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.component-absent
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
378. A realized component matches its declared valuesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.component-matching
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
379. A realized component keeps its differing layer and uses apartexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.component-differing
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
380. An unreadable declared layer stays visibleexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.component-unreadable
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
381. A prerequisite reaches its satisfying componentexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.outside-satisfied
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
382. An unbound prerequisite invents no componentexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.outside-unbound
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
383. An outside prerequisite names the member it holdsexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.design-slice.outside-holding
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
384. A slice page shows a Pack's design as one wholebehavior · ready floor ready · 1 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.slice-page
Design
12 design entries · no pinned declarations
Open questions
- non-blocking · question.exportCarriesSlice
· line 38 · specs/consumers/spec-studio.slice-page.sdp.md:38· Does a Pack export also carry the Pack's slice page?Decider: delegatedProvisional: no; the export keeps the Pack page and its members, and the slice page stays one link away in the page set
Implementation binding: present
impl:protocol.studio-slice-page· design slice summaries, member needs, architecture comparisons and boundary tables ·src/projections/studio/pages/slice-page.ts:25· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
385. A roadmap orders the next bodies of work, and the graph says what each still needsbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
13 design entries · 10 pinned declarations
Decisions
- A roadmap states advisory priority in the graph · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.roadmap-recipe· realizes the roadmap in the shipped recipe catalog ·test/roadmap.test.ts:20· role projection
Design reference: none
Verifier binding: present
10 verifiers, 10 enabled · 9 verifying examples, 9 enabled
386. Built work stays on the roadmapexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.roadmap.built-work
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
387. A ready unbound part needs buildingexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.roadmap.buildable-part
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
388. A complete part waits for a statementexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.roadmap.statement-part
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
389. An unfinished part needs designexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.roadmap.design-part
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
390. A binding below ready remains driftexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.roadmap.drifting-part
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
391. A descendant without evidence names its holding clauseexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.roadmap.missing-evidence
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
392. A descendant question holds the entry for designexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.roadmap.blocking-part
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
393. A descendant names its outside parentexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.roadmap.outside-parent
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
394. Waiting statements keep dependency order against roadmap placesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:consumers.roadmap.statement-order
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
395. The roadmap page shows the upcoming work in priority order, split by what it needsbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:consumers.spec-studio.roadmap-page
Design
5 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.studio-roadmap-page· renders roadmap needs, holding parts and the shared Markdown memo ·src/projections/studio/pages/roadmap-page.ts:168· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
396. A roadmap renders as the forward section of a pull request descriptionbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
11 design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.roadmap-memo-recipe· realizes the roadmap memo in the shipped recipe catalog ·test/roadmap.test.ts:27· role projection impl:protocol.studio-roadmap-page· renders roadmap needs, holding parts and the shared Markdown memo ·src/projections/studio/pages/roadmap-page.ts:168· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
397. A pinned declaration shows the words of each test line that cites itbehavior · scoped floor scoped · next rung defined: waits on 1 unmet clause · 2 open, 1 blocking questions · implementation binding none · verifier binding none
spec:consumers.spec-studio.cited-line-text
Next rung defined waits on 1 unmet clause:
no-blocking-open-questions· Spec has no blocking open question in intent.openQuestions.
Design
No design entries · no pinned declarations
Open questions
- blocking · question.lineText
· line 26 · specs/consumers/spec-studio.cited-line-text.sdp.md:26· May the Studio show source text the graph does not hold, and if so is it recorded in the graph beside the citation or read as a named input?Decider: ownerProvisional: the extractor records the citing line's text, trimmed and bounded, on the citation row it already writes, as inferred data that confers nothing, and the Studio reads no source - non-blocking · question.lineBound
· line 29 · specs/consumers/spec-studio.cited-line-text.sdp.md:29· How long may a recorded line be, and how does a page show a line that was cut?Decider: delegatedProvisional: a bound of a few hundred code units, cut at a word boundary and marked as cut, the whole line one source link away
Implementation binding: none
Design reference: none
Verifier binding: none
398. An outside register is a named Studio input, so a cited token links to its entrybehavior · scoped floor scoped · next rung defined: waits on 1 unmet clause · 3 open, 2 blocking questions · implementation binding none · verifier binding none
spec:consumers.spec-studio.register-input
Next rung defined waits on 1 unmet clause:
no-blocking-open-questions· Spec has no blocking open question in intent.openQuestions.
Design
No design entries · no pinned declarations
Open questions
- blocking · question.registerEntry
· line 26 · specs/consumers/spec-studio.register-input.sdp.md:26· What does a register file give the Studio beyond what the external-registers recipe reads, so a token's entry can be shown?Decider: delegatedProvisional: an optionaltitleand an optionalhrefon a token object; the Studio writes one page per register listing each token with its title, retired tokens marked, each linking to itshrefwhen present - blocking · question.inputForm
· line 29 · specs/consumers/spec-studio.register-input.sdp.md:29· How does the studio verb name a register, its pattern and the words that name it on a page?Decider: delegatedProvisional: a repeatable--register NAME=PATHwith a matching--register-pattern NAME=SOURCE, the name naming the register in words wherever it shows - non-blocking · question.textLinks
· line 32 · specs/consumers/spec-studio.register-input.sdp.md:32· Does a cited token become a link inside the rendered text of a Spec, or only in a list beside it?Decider: delegatedProvisional: inside the text, matched by the register's pattern exactly as the recipe matches it, so the page and the check agree on what is cited
Implementation binding: none
Design reference: none
Verifier binding: none
399. Runtime observations can close the liveness loopbehavior · idea floor idea · next rung scoped: waits on 1 unmet clause · 1 open, 1 blocking questions · implementation binding none · verifier binding none
spec:observation.runtime-overlay
Next rung scoped waits on 1 unmet clause:
kind-evidence-present· The kind's natural evidence is present (per-kind evidence table).
Design
No design entries · no pinned declarations
Open questions
- blocking · question.observationIdentity
· line 18 · specs/observation/runtime-overlay.sdp.md:18· Which external observation identity and freshness boundary is small enough for the graph while still supporting an honestobserveddelivery fact?Decider: ownerTrigger: An adopter needs runtime measurements linked to measurable Spec targets and can supply an observation identity and freshness policy for review.
Implementation binding: none
Design reference: none
Verifier binding: none
400. CI run records are joined to verifiers in a viewbehavior · ready floor ready · 1 open, 0 blocking questions · implementation binding present · verifier binding present
Design
7 design entries · 5 pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
Open questions
- non-blocking · question.freshness
· line 28 · specs/observation/run-evidence.sdp.md:28· How does a view say a run is stale: by its commit against the commit being read, or by whether the bound files changed between the two?Decider: ownerProvisional: Display the run and source commit identifiers when they differ, as the differing-commit rule requires; whether freshness also follows changes to bound files remains open.
Implementation binding: present
impl:protocol.run-evidence-recipe· asserts realization of Run evidence in docs/agent-surface/recipes.md ·test/recipes.test.ts:7277impl:protocol.studio-runs-page· renders readable CTRF inputs, file results, unjoined records and diagnostics ·src/projections/studio/pages/runs-page.ts:6· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
401. A test whose reporter wrote an absolute path joins its anchored fileexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:observation.run-evidence.absolute-path-joins
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
402. A test in a file with no test anchor is reported as unjoinedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present
spec:observation.run-evidence.unanchored-file-unjoined
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
403. The Protocol authors and validates itselfbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Decisions
- Delivery nouns remain familiar without workflow gates · stated ready
- Concept documents may dissolve after executable truth lands · stated ready
- The Protocol is an executable meta-model · stated ready
- Validation follows one graph · stated ready
- Durable references lead with meaning · stated ready
- The meta-model is a software delivery protocol · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.self-hosting· realizes the self-hosted corpus through the shared extraction and validation path ·test/self-hosting-graph.test.ts:136
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
404. The engine's structural self-binding covers its architecturally significant unitsbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:protocol.structural-self-binding
Design
No design entries · no pinned declarations
Decisions
- Bindings are optional, plural, and may reference a design · stated ready
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.structural-self-binding· realizes the declared significant-unit set and its structural self-binding ·test/self-hosting-oracle/structural-edges.ts:76
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
405. The engine's accepted set covers its significant abstractions and only thosebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:protocol.significant-units-review
Design
1 design entry · no pinned declarations
Decisions
- Bindings are optional, plural, and may reference a design · stated ready
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.structural-self-binding· realizes the declared significant-unit set and its structural self-binding ·test/self-hosting-oracle/structural-edges.ts:76
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
406. The engine's architectural roles each name one patternmodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding none
Design
5 design entries · no pinned declarations
Decisions
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.role-vocabulary· asserts realization of the role vocabulary in the engine anchors' pinned roles ·test/self-hosting-graph.test.ts:143
Design reference: none
Verifier binding: none
407. The Protocol organizes its own features in capability epicsbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:protocol.capability-epics
Design
5 design entries · no pinned declarations
Decisions
- Capability epics keep kind independent of altitude · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.capability-epics· asserts realization of the capability epics in the shipped corpus's refinement ·test/recipes.test.ts:8173
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
408. The Protocol reads its next work from its roadmap and keeps its delivery record in git and its pull requestsbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
spec:protocol.roadmap-replaces-plans
Design
3 design entries · 2 pinned declarations
Decisions
- Plan and review files stop carrying the delivery record once the roadmap and the pull request do · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.roadmap-practice· realizes the roadmap handbook and its current-record gate ·test/check-self-hosting-gates.test.ts:52· role validator
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
409. The Protocol removes its frozen plans, review reports and superseded concept materialbehavior · idea floor idea · next rung scoped: waits on 1 unmet clause · 1 open, 1 blocking questions · implementation binding none · verifier binding none
spec:protocol.delivery-record-cleanup
Next rung scoped waits on 1 unmet clause:
kind-evidence-present· The kind's natural evidence is present (per-kind evidence table).
Design
No design entries · no pinned declarations
Decisions
- Plan and review files stop carrying the delivery record once the roadmap and the pull request do · stated ready
Open questions
- blocking · question.durableContent
· line 23 · specs/protocol/delivery-record-cleanup.sdp.md:23· Which content inplans/,reviews/and the concept documents does no Spec, test, decision or recipe carry yet, and where does each piece belong?Decider: ownerProvisional: a measured inventory by the arc that removes them, reviewed before anything is deleted
Implementation binding: none
Design reference: none
Verifier binding: none
410. Durable references lead with meaningdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.plain-language-references
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
411. Concept documents may dissolve after executable truth landsdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.concept-docs-dissolve
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
412. Validation follows one graphdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.one-validation-path
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
413. Spec extensions identify the carrier without colliding with testsdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.sdp-ts-extension
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
414. Each example binds one pointdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.point-per-example
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
415. Markdown is the default Spec carrierdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
416. Prose belongs to typed graph ownersdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.prose-ownership
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
417. The Protocol owns the envelope grammardecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.envelope-grammar-posture
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
418. Consumer exclusions stay exactdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.exclusion-contract
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
419. The Protocol is an executable meta-modeldecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.executable-meta-model
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
420. Delivery nouns remain familiar without workflow gatesdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.adopt-the-nouns
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
421. One Spec carries named delivery coordinatesdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
422. The meta-model is a software delivery protocoldecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.protocol-naming
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
423. Bindings state existence, not livenessdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.binding-not-liveness
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
424. Sections carry content while relations carry linksdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.content-only-sections
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
425. Floor-read sections are closed typed shapesdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
426. Readiness evidence follows the Spec kinddecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.kind-conditional-floor
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
427. Promoted evidence must carry its own evidencedecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.carried-evidence
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
428. Packs group review context without becoming truthdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
429. Agents script the visible graphdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.agent-surface-scripts-graph
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
430. MCP integration remains deferreddecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
431. The agent front door is one evaluation sink over the exported readerdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.agent-front-door
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
432. Verification mode states posture, not realizationdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.verification-posture-not-realization
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
433. Example realization stays evidence, not backlog workdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.example-realization-posture
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
434. Packs have a Markdown manifest carrierdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.pack-markdown-carrier
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
435. Decision records state readiness from ratification evidencedecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.decision-readiness-posture
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
436. Behavior and example Specs may use Gherkin canonicallydecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.gherkin-carrier-option
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
437. Canonical Gherkin carriers use .sdp.gherkindecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.sdp-gherkin-extension
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
438. Carrier universality is bounded by honest kind structuredecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.carrier-universality
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.gherkin-kind-policy· shared Gherkin kind-refusal and loss explanations ·src/extract/gherkin-kind-honesty.ts:6· role decider · component component:protocol.extract· layer application · context protocol
Verifier binding: none
439. Adopted runnable registrars are committeddecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.adopted-registrars-committed
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
440. The shipped projections stay frozendecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.shipped-projections-frozen
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
441. Planning truths live in ruled graph homesdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.planning-truths-placement
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
442. A Spec id written in prose is a checked mentiondecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.checked-mentions
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
443. The Design Review renders open-section entries as a listdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.authored-entry-order
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
444. The Design Review shows an open question's keydecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.question-key-rendering
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
445. The Studio renders HTML, and the HTML stays deriveddecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.studio-html-surface
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
446. The Studio is built from custom elements, not a frameworkdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.studio-web-components
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
447. The build renders every Studio view, and an element only enhances itdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.studio-build-renders
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.studio-architecture-lens· renders recipe component rows and planned designs as architecture and member diagrams ·src/projections/studio/pages/architecture-page.ts:50· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-diagrams· deterministic grid and band layouts with bounded folds and full text equivalents ·src/projections/studio/diagrams/svg.ts:73· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-evidence-lens· names the four evidence sources and what would bring each into the Studio ·src/projections/studio/pages/evidence-page.ts:3· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-recipes· evaluates shipped recipe bodies once and shares answers between Studio pages ·src/projections/studio/recipes.ts:34· role service · component component:protocol.projections· layer edge · context protocolimpl:protocol.studio-tests-lens· renders shared rule and example-space coverage with filters and verifier bindings ·src/projections/studio/pages/tests-page.ts:34· role projection · component component:protocol.projections· layer edge · context protocol
Verifier binding: none
448. The engine lays out every Studio diagram as static SVG when the page set is builtdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.studio-diagram-renderer
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.studio-diagram-element· adds view-box pan, zoom and pinch to build-rendered SVG without changing its layout ·src/studio-elements/diagram.ts:23· role interaction · component component:protocol.studio-elements· layer edge · context protocolimpl:protocol.studio-diagrams· deterministic grid and band layouts with bounded folds and full text equivalents ·src/projections/studio/diagrams/svg.ts:73· role projection · component component:protocol.projections· layer edge · context protocol
Verifier binding: none
449. The comment form is a second anchor representationdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.anchor-comment-form
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.anchor-extraction· anchor reification seam: the constant form and the comment form ·src/extract/anchors.ts:121· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.anchors-subpath· zero-dependency subpath exporting the id and anchor builders only ·src/anchors.ts:8· role contract · component component:protocol.model· layer domain · context protocol
Verifier binding: none
450. Bindings are optional, plural, and may reference a designdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.anchor-binding-grain
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.derive-graph· derives the graph from reified carriers and bindings ·src/extract/derive.ts:241· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.schema-version· versioned graph nodes, claims, edges and located evidence ·src/graph/schema.ts:9· role contract · component component:protocol.graph· layer domain · context protocolimpl:protocol.structural-anchors· checks structural anchor validity and disjoint realization and reference targets ·src/validate/validators.ts:595· role validator · component component:protocol.validate· layer domain · context protocol
Verifier binding: none
451. Architectural significance is annotated where it is realizeddecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.architectural-annotation
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.anchor-model· binding-only anchor model builders ·src/model/anchors.ts:108· role contract · component component:protocol.model· layer domain · context protocolimpl:protocol.census-page· renders the derived census and runtime taxonomy projection ·src/projections/census.ts:21· role projection · component component:protocol.projections· layer edge · context protocolimpl:protocol.structural-anchors· checks structural anchor validity and disjoint realization and reference targets ·src/validate/validators.ts:595· role validator · component component:protocol.validate· layer domain · context protocol
Verifier binding: none
452. The Design Review's Pack page presents the Pack's designdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.pack-design-page
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.pack-design-page· renders the Pack page from the Pack design ·src/projections/design-review-pages.ts:120· role projection · component component:protocol.projections· layer edge · context protocol
Verifier binding: none
453. The vault's generator owns one folder and synchronizes itdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.vault-owned-folder
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.vault-command· validates after vault preflight and retains prior notes behind a failed-extraction index ·src/cli/vault-command.ts:191· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.vault-sync· guards every owned entry and records transitional hashes before atomic file replacement ·src/projections/vault/sync.ts:98· role publisher · component component:protocol.projections· layer edge · context protocol
Verifier binding: none
454. A roadmap states advisory priority in the graphdecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.roadmap-priority
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.pack-aggregate· Pack aggregate and model references ·src/model/pack.ts:23· role contract · component component:protocol.model· layer domain · context protocolimpl:protocol.pack-member-order· keeps manifest member order on the Pack node ·src/extract/derive.ts:153· role extractor · component component:protocol.extract· layer application · context protocol
Verifier binding: none
455. Plan and review files stop carrying the delivery record once the roadmap and the pull request dodecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.roadmap-over-plans
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: none
Verifier binding: none
456. Capability epics keep kind independent of altitudedecision · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding none
spec:decisions.epics-of-any-kind
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: none
Design reference: present
impl:protocol.capability-map-recipe· asserts realization of The capability map in docs/agent-surface/recipes.md ·test/recipes.test.ts:7602· role projection
Verifier binding: none
Boundary
Rests on (0)
None.
Rested on by (0)
None.
Verified by (0)
None.
Superseded by (0)
None.
Members with no verifier binding
The graph records bindings and never runs. Decision records are left out: a decision never needs a verifier binding. The runs page, the tests lens and the Spec pages of the Specs their files verify show the run records as external evidence from test files.
- Spec sections carry typed detail and direct verifier semantics ·
spec:model.spec-sections· stated ready - Bound examples execute their authored steps ·
spec:extraction.executable-examples· stated ready - The engine's architectural roles each name one pattern ·
spec:protocol.role-vocabulary· stated ready - A bare .feature corpus can be imported ·
spec:carrier.sdp-import.feature-adapter· stated idea - Roadmap views read releases, baselines and phases from git and the graph ·
spec:consumers.projections-model.roadmap-views· stated scoped - Exhaustive symbol reach waits for a language-neutral identity ·
spec:consumers.impact-graph.symbol-reach· stated idea - A reference projection serves a reader outside the repository ·
spec:consumers.reference-projection· stated idea - Mermaid diagrams can be rooted at code units ·
spec:consumers.structural-mermaid· stated scoped - A pinned declaration shows the words of each test line that cites it ·
spec:consumers.spec-studio.cited-line-text· stated scoped - An outside register is a named Studio input, so a cited token links to its entry ·
spec:consumers.spec-studio.register-input· stated scoped - Runtime observations can close the liveness loop ·
spec:observation.runtime-overlay· stated idea - The Protocol removes its frozen plans, review reports and superseded concept material ·
spec:protocol.delivery-record-cleanup· stated idea
Findings
None.
Composing (0)
Composing needs the script.