Spec Studio

An adopter at full speed

pack:adopter-speed-v1specs/adopter-speed.pack.sdp.md

Read this Pack as one design

Download this Pack as one file

Where the design stands

  • 59 members in authored reading order; no unresolved members.
  • No members held below their stated next rung.
  • No members waiting only for their author's statement.
  • 115 design entries and 75 pinned declarations.
  • No open questions and no blocking questions.
  • 16 members with an implementation binding.
  • No members with a design reference.
  • 48 outside Specs the Pack rests on; 36 outside Specs rest on the Pack; 7 outside Specs verify it; no outside Specs supersede it.

Maturity map

59 members at stated ready and floor ready: full member list.

Stated readiness by floor reached
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 An adopter at full speedFloor reached →Stated readiness ↓noneideascopeddefinedreadyideascopeddefinedreadystated ready, floor ready: 59 members59
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—————
stated scoped—————
stated defined—————
stated ready————59
stated ready, floor ready · 59 members
Mermaid source

Preferred syntax: block. Fixed categorical cells; membership appears in comments.

Framing

What a corpus needs to move onto the Protocol's capabilities at scale and keep designing fast. First the reach of a body and a rules file: shipped recipes called as functions, recipes that answer as rules files, rules and parameter files watched, outside registers checked by pattern, help on every verb and one verb that writes every projection root. Then keys that survive rewording, for example steps and for Model terms, and the test lines that cite a pinned declaration. Then reading material that fits a budget in parts. Last, the order a person makes the waiting statements in, and the kit that shows a corpus what it could adopt next. Each Spec is followed by the examples that verify it.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Boundary

Rests on (48)
SpecStated rungImplementation bindingJoined members
Slot notation declares, binds, and refuses to guess
spec:carrier.slot-notation
readypresentrefines: spec:carrier.step-keys
An adopter learns graph homes, carrier grammar and shipped paths from the on-ramps
spec:consumers.adopter-on-ramp
readypresentdependsOn: spec:consumers.command-line
Agents script a visible typed graph
spec:consumers.agent-surface
readypresentrefines: spec:consumers.agent-surface.evaluation-sink, spec:validation.corpus-rules, spec:consumers.context-bundle
dependsOn: spec:validation.corpus-rules
Design work reads its answers from catalog recipes
spec:consumers.agent-surface.design-recipes
readypresentdependsOn: spec:consumers.context-bundle
Recipes take parameters as data and ship as runnable files
spec:consumers.agent-surface.recipe-parameters
readypresentdependsOn: spec:validation.corpus-rules, spec:consumers.agent-surface.address-and-cycle-recipes, spec:validation.external-registers
Register questions stay executable graph recipes
spec:consumers.agent-surface.register-recipes
readypresentrefines: spec:consumers.agent-surface.address-and-cycle-recipes
dependsOn: spec:validation.external-registers
Authors move one Spec from intent to reviewed evidence
spec:consumers.authoring-on-ramp
readypresentrefines: spec:consumers.validate-watch, spec:consumers.upgrade-kit
The capability map reads every epic and its refinement descendants
spec:consumers.capability-map
readypresentdependsOn: spec:consumers.upgrade-kit
Views compose scoped intent instead of patching canonical source
spec:consumers.edit-model
readynonedependsOn: spec:consumers.upgrade-kit
The next body of work is planned from the graph, not from a prose index
spec:consumers.graph-first-planning
readypresentrefines: spec:consumers.readiness-planner
Composed intent hands off on one proposal shape
spec:consumers.intent-composition
readynonedependsOn: spec:consumers.upgrade-kit
A change proposal is addressed, based and checked before it lands
spec:consumers.intent-composition.proposal
readypresentdependsOn: spec:consumers.upgrade-kit.rule-key-proposal
Projections fan out from one graph without becoming truth stores
spec:consumers.projections-model
readypresentrefines: spec:consumers.command-line
A Pack is read from a named perspective
spec:consumers.review-perspectives
readypresentdependsOn: spec:consumers.upgrade-kit.capability-adoption
A roadmap orders the next bodies of work, and the graph says what each still needs
spec:consumers.roadmap
readypresentdependsOn: spec:consumers.upgrade-kit
sdp studio publishes the Studio as one page set
spec:consumers.spec-studio.publisher
readypresentdependsOn: spec:consumers.command-line
Every view run rewrites the view wholesale
spec:consumers.wholesale-view-rewrite
readypresentdependsOn: spec:consumers.command-line
Adopted runnable registrars are committed
spec:decisions.adopted-registrars-committed
readynonedecidedBy: spec:extraction.runnable-modules
The agent front door is one evaluation sink over the exported reader
spec:decisions.agent-front-door
readynonedecidedBy: spec:consumers.agent-surface.evaluation-sink, spec:consumers.context-bundle
The comment form is a second anchor representation
spec:decisions.anchor-comment-form
readynonedecidedBy: spec:extraction.runnable-modules
Architectural significance is annotated where it is realized
spec:decisions.architectural-annotation
readynonedecidedBy: spec:validation.corpus-rules
Bindings state existence, not liveness
spec:decisions.binding-not-liveness
readynonedecidedBy: spec:extraction.runnable-modules
Sections carry content while relations carry links
spec:decisions.content-only-sections
readynonedependsOn: spec:decisions.checked-mentions
Validation follows one graph
spec:decisions.one-validation-path
readynonedependsOn: spec:consumers.validate-watch
Each example binds one point
spec:decisions.point-per-example
readynonedecidedBy: spec:extraction.executable-contracts, spec:extraction.runnable-modules
The shipped projections stay frozen
spec:decisions.shipped-projections-frozen
readynonedecidedBy: spec:consumers.command-line, spec:carrier.step-keys, spec:model.term-addresses
The build pipeline has one ordered flow
spec:extraction.build-pipeline
readypresentrefines: spec:extraction.executable-contracts
dependsOn: spec:extraction.runnable-modules
Graph claims retain their epistemic source
spec:extraction.claim-taxonomy
readypresentdependsOn: spec:extraction.entry-citations
Pinned declarations give an adopter a derived module to typecheck
spec:extraction.contract-declarations
readypresentdependsOn: spec:consumers.upgrade-kit.capability-adoption
Carrier reification derives the one graph
spec:extraction.derive-graph
readypresentrefines: spec:extraction.entry-citations
Committed source derives byte-identical output
spec:extraction.determinism
readypresentconstrainedBy: spec:extraction.entry-citations
The graph records where each addressable entry is written
spec:extraction.entry-locations
readypresentdependsOn: spec:model.term-addresses, spec:extraction.entry-citations, spec:consumers.upgrade-kit.rule-key-proposal
A bound example runs its contract steps against a fresh world
spec:extraction.example-runner
readypresentrefines: spec:extraction.runnable-modules
Extraction exclusions are strict consumer input
spec:extraction.excludes
readypresentdependsOn: spec:consumers.validate-watch
Bound examples execute their authored steps
spec:extraction.executable-examples
readypresentrefines: spec:extraction.executable-contracts
Source anchors bind code without carrying intent
spec:model.anchors
readypresentdependsOn: spec:extraction.entry-citations
An open question may name who decides it, its links, a provisional reading and a re-entry trigger
spec:model.open-question-fields
readypresentdependsOn: spec:consumers.readiness-planner, spec:consumers.upgrade-kit.capability-adoption
An open question may carry a key that addresses it
spec:model.open-question-keys
readypresentdependsOn: spec:consumers.upgrade-kit.capability-adoption
Components are designed ahead of their code
spec:model.planned-architecture
readypresentdependsOn: spec:consumers.upgrade-kit.capability-adoption
An authored relation may carry its reason
spec:model.relation-reasons
readypresentdependsOn: spec:consumers.upgrade-kit.capability-adoption
A rule or flow entry may carry a key that addresses it
spec:model.rule-keys
readypresentdependsOn: spec:consumers.agent-surface.address-and-cycle-recipes, spec:model.term-addresses, spec:consumers.upgrade-kit.capability-adoption, spec:consumers.upgrade-kit.rule-key-proposal
Spec sections carry typed detail and direct verifier semantics
spec:model.spec-sections
readypresentrefines: spec:model.term-addresses
Stable IDs are the Protocol's durable join key
spec:model.stable-ids
readypresentrefines: spec:decisions.checked-mentions
dependsOn: spec:model.term-addresses
One diagnostic currency, its location composed from structured fields
spec:validation.diagnostic-rendering
readypresentdependsOn: spec:validation.corpus-rules
The floor names what blocks the floor's next rung
spec:validation.next-rung-floor
readypresentdependsOn: spec:consumers.readiness-planner
Every Spec id written in prose resolves
spec:validation.prose-mentions
readypresentdependsOn: spec:extraction.entry-citations
Validation separates well-formedness from non-pretending
spec:validation.two-check-families
readypresentconstrainedBy: spec:validation.corpus-rules
A ready Spec rests only on settled dependencies
spec:validation.typed-dependency-floor
readypresentdependsOn: spec:consumers.readiness-planner
Rested on by (36)
SpecStated rungImplementation bindingJoined members
Gherkin authoring enters the one graph
spec:carrier.gherkin-authoring
readypresentdependsOn: spec:carrier.step-keys
The Markdown body accepts one closed form per section
spec:carrier.markdown-body-grammar
readypresentdependsOn: spec:carrier.step-keys, spec:model.term-addresses
Recipe answers fit an agent's context and explain their misses
spec:consumers.agent-surface.answer-shapes
readypresentdependsOn: spec:consumers.agent-surface.evaluation-sink
Example spaces report which values their examples cover
spec:consumers.agent-surface.example-space-coverage
readypresentdependsOn: spec:extraction.executable-contracts
Register questions stay executable graph recipes
spec:consumers.agent-surface.register-recipes
readypresentdependsOn: spec:model.term-addresses
Delivery sessions route work from current graph state
spec:consumers.delivery-session-on-ramp
readypresentdependsOn: spec:consumers.context-bundle
A slice reads a Pack as one design, with the architecture it touches and what each member needs next
spec:consumers.design-slice
readypresentdependsOn: spec:consumers.context-bundle, spec:consumers.readiness-planner
The CLI names the engine that produced a result
spec:consumers.engine-provenance
readypresentrefines: spec:consumers.command-line
A change proposal is addressed, based and checked before it lands
spec:consumers.intent-composition.proposal
readypresentdependsOn: spec:consumers.agent-surface.address-and-cycle-recipes
A design pass is followed and answered from the vault
spec:consumers.obsidian-vault.iteration
readypresentdependsOn: spec:consumers.validate-watch
Every Spec, Pack, code unit and keyed term is a note, and every relation is a link
spec:consumers.obsidian-vault.notes
readypresentdependsOn: spec:model.term-addresses
A roadmap orders the next bodies of work, and the graph says what each still needs
spec:consumers.roadmap
readypresentdependsOn: spec:consumers.readiness-planner
A pinned declaration shows the words of each test line that cites it
spec:consumers.spec-studio.cited-line-text
scopednonedependsOn: spec:extraction.entry-citations
A page takes each recipe answer from the recipe's shipped body
spec:consumers.spec-studio.data.recipe-answers
readypresentdependsOn: spec:consumers.agent-surface.evaluation-sink
The glossary page lists every term the corpus's Specs define
spec:consumers.spec-studio.glossary-page
readypresentdependsOn: spec:model.term-addresses
The owner queue page orders the statements and questions only a person can settle
spec:consumers.spec-studio.owner-queue
readypresentdependsOn: spec:consumers.readiness-planner
sdp studio --watch rebuilds the page set on each carrier change
spec:consumers.spec-studio.publisher.watch
readypresentdependsOn: spec:consumers.validate-watch
An outside register is a named Studio input, so a cited token links to its entry
spec:consumers.spec-studio.register-input
scopednonedependsOn: spec:validation.external-registers
The corpus's registers are pages a reviewer opens from a link
spec:consumers.spec-studio.registers
readypresentdependsOn: spec:extraction.entry-citations
A Spec page shows one Spec in collapsible panels, in a fixed order
spec:consumers.spec-studio.spec-page
readypresentdependsOn: spec:model.term-addresses, spec:extraction.entry-citations
The panels for examples, targets, verifiers and evidence
spec:consumers.spec-studio.verification-panels
readypresentdependsOn: spec:extraction.executable-contracts
Adopted runnable registrars are committed
spec:decisions.adopted-registrars-committed
readynonerefines: spec:extraction.runnable-modules
Pinned declarations give an adopter a derived module to typecheck
spec:extraction.contract-declarations
readypresentrefines: spec:extraction.executable-contracts
A bound example runs its contract steps against a fresh world
spec:extraction.example-runner
readypresentdependsOn: spec:extraction.executable-contracts
A case-only path collision withholds the whole contracts tree
spec:extraction.executable-contracts.case-colliding-path
readynonerefines: spec:extraction.executable-contracts
An unbound slot in a used step earns no step contract
spec:extraction.executable-contracts.concreteness-refusal
readynonerefines: spec:extraction.executable-contracts
A second structured entry is named, never left silently inert
spec:extraction.executable-contracts.multi-entry-example
readynonerefines: spec:extraction.executable-contracts
An open question may carry a key that addresses it
spec:model.open-question-keys
readypresentdecidedBy: spec:decisions.checked-mentions
A rule or flow entry may carry a key that addresses it
spec:model.rule-keys
readypresentdecidedBy: spec:decisions.checked-mentions
Stable IDs are the Protocol's durable join key
spec:model.stable-ids
readypresentdecidedBy: spec:decisions.checked-mentions
Declared architecture rules are checked against anchored structure
spec:validation.architecture-constraints
readypresentrefines: spec:validation.corpus-rules
dependsOn: spec:validation.corpus-rules
A rules file that empties its graph leaves the next file's graph whole
spec:validation.corpus-rules.copies-contain-changes
readynonerefines: spec:validation.corpus-rules
An error from a corpus rule fails validation and leaves the Protocol's line alone
spec:validation.corpus-rules.error-finding-fails
readynonerefines: spec:validation.corpus-rules
A finding with no subject fails its rules file
spec:validation.corpus-rules.malformed-finding-fails
readynonerefines: spec:validation.corpus-rules
A warning from a corpus rule informs and passes
spec:validation.corpus-rules.warning-finding-informs
readynonerefines: spec:validation.corpus-rules
Every Spec id written in prose resolves
spec:validation.prose-mentions
readypresentdependsOn: spec:model.term-addresses
decidedBy: spec:decisions.checked-mentions
Verified by (7)
SpecStated rungImplementation bindingJoined members
A case-only path collision withholds the whole contracts tree
spec:extraction.executable-contracts.case-colliding-path
readynoneverifies: spec:extraction.executable-contracts
An unbound slot in a used step earns no step contract
spec:extraction.executable-contracts.concreteness-refusal
readynoneverifies: spec:extraction.executable-contracts
A second structured entry is named, never left silently inert
spec:extraction.executable-contracts.multi-entry-example
readynoneverifies: spec:extraction.executable-contracts
A rules file that empties its graph leaves the next file's graph whole
spec:validation.corpus-rules.copies-contain-changes
readynoneverifies: spec:validation.corpus-rules
An error from a corpus rule fails validation and leaves the Protocol's line alone
spec:validation.corpus-rules.error-finding-fails
readynoneverifies: spec:validation.corpus-rules
A finding with no subject fails its rules file
spec:validation.corpus-rules.malformed-finding-fails
readynoneverifies: spec:validation.corpus-rules
A warning from a corpus rule informs and passes
spec:validation.corpus-rules.warning-finding-informs
readynoneverifies: spec:validation.corpus-rules
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.

None.

Findings

None.

Composing (0)

Composing needs the script.