Spec Studio

Self-hosting

pack:self-hosting-v1specs/self-hosting.pack.sdp.md

Read this Pack as one design

Download this Pack as one file

Where the design stands

Maturity map

Rows: stated readiness, idea to ready. Columns: floor reached, none to ready. Each mark counts one member; above 100 members a cell is solid. Floor none is distinct from idea.

Outlined diagonal: matches. Right of diagonal: floor above statement. Left of diagonal: statement above floor.

Maturity map for Self-hostingFloor reached →Stated readiness ↓noneideascopeddefinedreadyideascopeddefinedreadystated idea, floor idea: 4 members4stated idea, floor scoped: 1 member1stated scoped, floor scoped: 4 members4stated ready, floor ready: 447 members447
Maturity map as text
Counts by stated readiness and floor reached. To the right the floor exceeds the statement; to the left the statement exceeds the floor.
Stated rung / floor reachedfloor nonefloor ideafloor scopedfloor definedfloor ready
stated idea—41——
stated scoped——4——
stated defined—————
stated ready————447
stated idea, floor idea · 4 members
stated idea, floor scoped · 1 member
stated scoped, floor scoped · 4 members
stated ready, floor ready · 447 members
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 b5e0a8b. Read the diff.

Base input: schema 0.12.0, 456 Specs.

Changed members

None.

Added members

None.

Pack membership

No membership or order change.

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

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

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 protocol
  • 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 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

spec:carrier.markdown-parser

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 protocol
  • impl: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

spec:carrier.sdp-import

Design

2 design entries · 2 pinned declarations

Decisions

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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • impl: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 .feature corpus 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

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

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 protocol
  • 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 protocol
  • impl: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

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
  • impl: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

25. A second description across Behavior and Example space is refusedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:carrier.markdown-body-grammar.shared-description-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

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 protocol
  • 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

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

spec:carrier.slot-notation

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

spec:carrier.step-keys

Design

9 design entries · 7 pinned declarations

Decisions

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 protocol
  • impl: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
  • impl: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
  • impl: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 protocol
  • 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
  • impl: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 protocol
  • impl: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

spec:model.core-model

Design

No design entries · no pinned declarations

Decisions

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 protocol
  • impl: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

spec:model.spec-sections

Design

No design entries · no pinned declarations

Decisions

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 protocol
  • impl: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

spec:model.relations

Design

No design entries · no pinned declarations

Decisions

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

spec:model.stable-ids

Design

No design entries · no pinned declarations

Decisions

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

spec:model.pack-aggregate

Design

No design entries · no pinned declarations

Decisions

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

spec:model.anchors

Design

1 design entry · 1 pinned declaration

Decisions

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 protocol
  • impl:protocol.anchor-model · binding-only anchor model builders · src/model/anchors.ts:108 · role contract · component component:protocol.model · layer domain · context protocol
  • impl: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
  • impl:protocol.protocol-bindings · Protocol builder-import trust (protocolBindingScopeFor / collectProtocolBindings) · src/extract/protocol-bindings.ts:93 · role extractor · component component:protocol.extract · layer application · context protocol
  • impl: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

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 protocol
  • 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 protocol
  • 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

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

spec:model.open-question-keys

Design

No design entries · no pinned declarations

Decisions

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 protocol
  • 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
  • impl: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
  • impl:protocol.register-recipes · asserts realization of the shipped register recipes · test/recipes.test.ts:2057
  • impl: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 protocol
  • impl:protocol.stable-ids · stable ID grammar parser · src/ids.ts:173 · role codec · component component:protocol.model · layer domain · context protocol
  • impl: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

spec:model.design-maturity

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

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

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:6597
  • impl: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

spec:model.rule-keys

Design

10 design entries · 6 pinned declarations

Decisions

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:6597
  • impl: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
  • impl: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

spec:model.relation-reasons

Design

5 design entries · no pinned declarations

Decisions

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:6597
  • impl: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

spec:model.term-addresses

Design

10 design entries · 7 pinned declarations

Decisions

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
  • impl:protocol.entry-locations · builds the carrier entry location table · src/extract/derive.ts:78 · role extractor · component component:protocol.extract · layer application · context protocol
  • impl: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 protocol
  • 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
  • impl: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
  • impl:protocol.register-recipes · asserts realization of the shipped register recipes · test/recipes.test.ts:2057
  • impl: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 protocol
  • impl:protocol.spec-sections · typed Spec section shapes · src/model/sections.ts:138 · role contract · component component:protocol.model · layer domain · context protocol
  • 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

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

spec:extraction.derive-graph

Design

6 design entries · 4 pinned declarations

Decisions

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 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 protocol
  • impl:protocol.extract · extracts authored carriers and bindings into one graph · src/extract/index.ts:208 · role extractor · component component:protocol.extract · layer application · context protocol
  • 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 · 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

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

spec:extraction.determinism

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
  • impl: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 protocol
  • impl:protocol.build-pipeline-query · runQuery reads one body, derives the graph once for the reader, raw graph and report, and prints the return or refuses on stderr · 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

spec:extraction.excludes

Design

No design entries · no pinned declarations

Decisions

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 protocol
  • impl: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 protocol
  • 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 · 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 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 protocol
  • impl: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
  • 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 protocol
  • impl: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
  • impl: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

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 protocol
  • impl: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

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
  • 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

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

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 protocol
  • impl: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 protocol
  • impl: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

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 protocol
  • 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
  • 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
  • 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
  • impl: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
  • 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

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:5979
  • impl:protocol.entry-locations · builds the carrier entry location table · src/extract/derive.ts:78 · role extractor · component component:protocol.extract · 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: 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 protocol
  • impl: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 protocol
  • impl:protocol.entry-citation-recipe · asserts realization of Entry citations in docs/agent-surface/recipes.md · test/recipes.test.ts:7008
  • impl: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

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

125. A scoped Spec with no relation names the relation clauseexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:validation.readiness-floor.unrelated-scoped-spec

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

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

spec:validation.duplicate-ids

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 protocol
  • impl: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

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 protocol
  • impl: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
  • impl: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

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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • impl: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

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 protocol
  • impl: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

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 protocol
  • impl: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

spec:validation.kind-evidence

Design

No design entries · no pinned declarations

Decisions

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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • impl: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 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

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

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

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

spec:validation.corpus-rules

Design

11 design entries · 7 pinned declarations

Decisions

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 protocol
  • impl: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 protocol
  • 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

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

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

spec:consumers.impact-graph

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

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 protocol
  • impl:protocol.curation-recipe · asserts the curation report over external inferred imports · test/curation-recipes.test.ts:32
  • 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

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

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

spec:consumers.agent-surface

Design

No design entries · no pinned declarations

Decisions

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 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

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:6597
  • 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

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 protocol
  • impl:protocol.build-pipeline-query · runQuery reads one body, derives the graph once for the reader, raw graph and report, and prints the return or refuses on stderr · 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

spec:consumers.design-review

Design

3 design entries · no pinned declarations

Decisions

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 protocol
  • impl: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

spec:consumers.census-page

Design

No design entries · no pinned declarations

Decisions

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 protocol
  • impl: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

spec:consumers.mermaid-view

Design

No design entries · no pinned declarations

Decisions

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 protocol
  • impl: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

spec:consumers.gherkin-view

Design

No design entries · no pinned declarations

Decisions

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 protocol
  • impl: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 protocol
  • impl: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

spec:consumers.reader

Design

No design entries · no pinned declarations

Decisions

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

spec:consumers.edit-model

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 protocol
  • impl: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

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:76
  • impl: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

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 protocol
  • impl: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

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

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 protocol
  • impl: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

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 protocol
  • impl: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 protocol
  • impl: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

spec:consumers.spec-studio

Design

No design entries · no pinned declarations

Decisions

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 protocol
  • 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
  • impl: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

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
  • 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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • impl: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

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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • impl: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
  • impl: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 protocol
  • impl: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
  • impl: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 protocol
  • impl: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 protocol
  • 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
  • impl: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
  • 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 · 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

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 protocol
  • 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
  • impl: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

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

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 protocol
  • impl: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 protocol
  • impl: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
  • 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 protocol
  • impl: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
  • impl: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

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 protocol
  • 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 protocol
  • impl: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 protocol
  • impl: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
  • 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
  • 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
  • impl: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
  • impl: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
  • impl: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
  • impl: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 protocol
  • impl: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 protocol
  • impl:protocol.studio-preview-workflow · asserts the reusable Studio preview workflow and Protocol CI caller · test/studio-s4.test.ts:742
  • impl: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 protocol
  • 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 protocol
  • impl: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

274. Every page of the page set is reached from the top navigation and the indexbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:consumers.spec-studio.navigation

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: present

  • impl: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
  • 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

2 verifiers, 2 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

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

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

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

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 protocol
  • impl: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 protocol
  • 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 protocol
  • impl: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 protocol
  • impl: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
  • impl: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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • 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 · 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

spec:consumers.studio-on-ramp

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

spec:consumers.pack-design

Design

No design entries · no pinned declarations

Decisions

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

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 protocol
  • impl:protocol.parameter-codec · decodes recipe parameters and refuses duplicate keys · src/cli/params.ts:121 · role codec · component component:protocol.cli · layer edge · context protocol
  • impl: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 protocol
  • impl: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 protocol
  • impl: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

spec:consumers.validate-watch

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:856
  • impl: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

spec:consumers.context-bundle

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

spec:consumers.design-diff

Design

8 design entries · 4 pinned declarations

Decisions

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:7298
  • impl: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

319. Recipe 49 and the composing panel write one memo for one proposalexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:consumers.intent-composition.proposal.memo.shared

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

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 or api: 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

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 refines spec:decisions.shipped-projections-frozen for 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

spec:consumers.obsidian-vault

Design

13 design entries · 5 pinned declarations

Decisions

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 protocol
  • 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 protocol
  • 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 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

327. A person's file under a temporary's name refuses the regenerationexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:consumers.obsidian-vault.hidden-file-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 protocol
  • impl: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 protocol
  • impl: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

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

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 protocol
  • 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 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 protocol
  • impl: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
  • impl: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

spec:consumers.vault-on-ramp

Design

No design entries · no pinned declarations

Decisions

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

346. Waiting Specs that rest on each other share a round and report a cycleexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:consumers.readiness-planner.cycle-shares-a-round

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

spec:consumers.upgrade-kit

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

spec:consumers.command-line

Design

5 design entries · 2 pinned declarations

Decisions

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 protocol
  • 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 protocol
  • impl: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 protocol
  • impl: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

spec:consumers.capability-map

Design

10 design entries · 4 pinned declarations

Decisions

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 protocol
  • impl: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 protocol
  • impl: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
  • 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

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 protocol
  • 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 protocol
  • impl: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 protocol
  • 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 protocol
  • impl: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
  • 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
  • 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 protocol
  • 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
  • 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

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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • impl: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

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 protocol
  • impl: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 protocol
  • 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 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 protocol
  • 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 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

spec:consumers.design-slice

Design

18 design entries · 15 pinned declarations

Decisions

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

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

377. An anchor alone does not realize a component designexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:consumers.design-slice.component-unrelated

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

spec:consumers.roadmap

Design

13 design entries · 10 pinned declarations

Decisions

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

spec:consumers.roadmap.memo

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 optional title and an optional href on a token object; the Studio writes one page per register listing each token with its title, retired tokens marked, each linking to its href when 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=PATH with 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 honest observed delivery 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

spec:observation.run-evidence

Design

7 design entries · 5 pinned declarations

Decisions

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:7277
  • impl: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

spec:protocol.self-hosting

Design

No design entries · no pinned declarations

Decisions

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

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

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

spec:protocol.role-vocabulary

Design

5 design entries · no pinned declarations

Decisions

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

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

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

Open questions

  • blocking · question.durableContent · line 23 · specs/protocol/delivery-record-cleanup.sdp.md:23 · Which content in plans/, 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

spec:decisions.carrier-ruling

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

spec:decisions.one-primitive

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

spec:decisions.typing-law

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

spec:decisions.pack-reified

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

spec:decisions.mcp-deferred

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 protocol
  • 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 protocol
  • impl: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
  • 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
  • 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
  • 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

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 protocol
  • impl: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 protocol
  • impl: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 protocol
  • 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
  • impl: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 protocol
  • 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 protocol
  • impl: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 protocol
  • 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 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 protocol
  • impl: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.

Findings

None.

Composing (0)

Composing needs the script.