Spec Studio

Design management

pack:design-management-v1specs/design-management.pack.sdp.md

Read this Pack as one design

Download this Pack as one file

Where the design stands

  • 24 members in authored reading order; no unresolved members.
  • 2 members held below their stated next rung: A reference projection serves a reader outside the repository (1 unmet clause), Mermaid diagrams can be rooted at code units (1 unmet clause).
  • No members waiting only for their author's statement.
  • 108 design entries and 52 pinned declarations.
  • 5 open questions and 2 blocking questions.
  • 21 members with an implementation binding.
  • 4 members with a design reference.
  • 42 outside Specs the Pack rests on; 69 outside Specs rest on the Pack; 31 outside Specs verify it; no outside Specs supersede it.

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 Design managementFloor reached →Stated readiness ↓noneideascopeddefinedreadyideascopeddefinedreadystated idea, floor idea: 1 member1stated scoped, floor scoped: 1 member1stated ready, floor ready: 22 members22
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—1———
stated scoped——1——
stated defined—————
stated ready————22
stated idea, floor idea · 1 member
stated scoped, floor scoped · 1 member
stated ready, floor ready · 22 members
Mermaid source

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

Framing

The design-management arc, in review order: the Pack page and the reader assembly it renders; entry locations, recipe parameters and shipped recipe files; the recipes used in design work; the engine build identity and the authoring watch loop. The remaining Specs capture promises of the original design across the model, consumers, validation and observation. Pack design shows each member's stated next rung, design columns and code bindings.

Vocabulary: spec:model.design-maturity

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Boundary

Rests on (42)
SpecStated rungImplementation bindingJoined members
Slot notation declares, binds, and refuses to guess
spec:carrier.slot-notation
readypresentdependsOn: spec:consumers.agent-surface.example-space-coverage
An adopter learns graph homes, carrier grammar and shipped paths from the on-ramps
spec:consumers.adopter-on-ramp
readypresentdependsOn: spec:consumers.engine-provenance
Agents script a visible typed graph
spec:consumers.agent-surface
readypresentrefines: spec:consumers.agent-surface.recipe-parameters, spec:consumers.context-bundle, spec:validation.corpus-rules
dependsOn: spec:validation.corpus-rules
Address resolution and dependency cycles stay executable graph recipes
spec:consumers.agent-surface.address-and-cycle-recipes
readypresentdependsOn: spec:consumers.intent-composition.proposal
The evaluation sink runs one body and prints its return
spec:consumers.agent-surface.evaluation-sink
readypresentdependsOn: spec:validation.corpus-rules
Register questions stay executable graph recipes
spec:consumers.agent-surface.register-recipes
readypresentrefines: spec:consumers.agent-surface.design-recipes
Authors move one Spec from intent to reviewed evidence
spec:consumers.authoring-on-ramp
readypresentrefines: spec:consumers.validate-watch
Views speak binding language, never the internal fact name
spec:consumers.binding-language-views
readypresentdependsOn: spec:consumers.design-review.pack-design-page
Every verb answers --help, and one verb writes every projection root
spec:consumers.command-line
readypresentrefines: spec:consumers.engine-provenance
Derived readiness renders beside the stated rung and warns in one direction
spec:consumers.derived-readiness-banner
readypresentdependsOn: spec:consumers.design-review.pack-design-page
Design Review renders graph context without becoming a gate
spec:consumers.design-review
readypresentrefines: spec:consumers.design-review.pack-design-page
Views compose scoped intent instead of patching canonical source
spec:consumers.edit-model
readynonedependsOn: spec:consumers.intent-composition.proposal
Composed intent hands off on one proposal shape
spec:consumers.intent-composition
readynonerefines: spec:consumers.intent-composition.proposal
Projections fan out from one graph without becoming truth stores
spec:consumers.projections-model
readypresentrefines: spec:consumers.review-perspectives, spec:consumers.design-diff, spec:consumers.reference-projection, spec:consumers.structural-mermaid, spec:observation.run-evidence
The reader bridges agent entry points to composable graph context
spec:consumers.reader
readypresentrefines: spec:consumers.pack-design
The architecture lens draws components by context and layer, the planned beside the built
spec:consumers.spec-studio.lenses.architecture
readypresentdependsOn: spec:consumers.structural-mermaid
Delivery nouns remain familiar without workflow gates
spec:decisions.adopt-the-nouns
readynonedecidedBy: spec:model.open-question-fields
The agent front door is one evaluation sink over the exported reader
spec:decisions.agent-front-door
readynonedecidedBy: spec:consumers.agent-surface.recipe-parameters, spec:consumers.context-bundle
Architectural significance is annotated where it is realized
spec:decisions.architectural-annotation
readynonedecidedBy: spec:consumers.pack-design, spec:model.planned-architecture, spec:validation.architecture-constraints, spec:validation.corpus-rules
Bindings state existence, not liveness
spec:decisions.binding-not-liveness
readynonedecidedBy: spec:observation.run-evidence
A Spec id written in prose is a checked mention
spec:decisions.checked-mentions
readynonedecidedBy: spec:model.rule-keys
Validation follows one graph
spec:decisions.one-validation-path
readynonedependsOn: spec:consumers.validate-watch
Planning truths live in ruled graph homes
spec:decisions.planning-truths-placement
readynonedecidedBy: spec:model.open-question-fields, spec:validation.superseded-decision-signal
Prose belongs to typed graph owners
spec:decisions.prose-ownership
readynonedecidedBy: spec:model.relation-reasons
A roadmap states advisory priority in the graph
spec:decisions.roadmap-priority
readynonedecidedBy: spec:consumers.design-diff
The shipped projections stay frozen
spec:decisions.shipped-projections-frozen
readynonerefines: spec:decisions.pack-design-page
decidedBy: spec:model.rule-keys, spec:consumers.structural-mermaid
Pinned declarations give an adopter a derived module to typecheck
spec:extraction.contract-declarations
readypresentdependsOn: spec:consumers.pack-design
Resolving bindings confer direct delivery facts
spec:extraction.delivery-facts
readypresentdependsOn: spec:observation.run-evidence
Carrier reification derives the one graph
spec:extraction.derive-graph
readypresentrefines: spec:extraction.entry-locations
Committed source derives byte-identical output
spec:extraction.determinism
readypresentconstrainedBy: spec:extraction.entry-locations, spec:consumers.engine-provenance, spec:consumers.design-diff
Extraction exclusions are strict consumer input
spec:extraction.excludes
readypresentdependsOn: spec:consumers.validate-watch
The build derives step and space contracts from graph examples
spec:extraction.executable-contracts
readypresentdependsOn: spec:consumers.agent-surface.example-space-coverage
A Pack node keeps its members in authored order
spec:extraction.pack-member-order
readypresentdependsOn: spec:consumers.pack-design
Source anchors bind code without carrying intent
spec:model.anchors
readypresentdependsOn: spec:model.planned-architecture, spec:validation.architecture-constraints
The Protocol models delivery with one enrichable Spec
spec:model.core-model
readypresentrefines: spec:model.design-maturity, spec:model.planned-architecture
An open question may carry a key that addresses it
spec:model.open-question-keys
readypresentrefines: spec:model.open-question-fields
dependsOn: spec:extraction.entry-locations, spec:model.rule-keys
Specs declare typed directed relations
spec:model.relations
readypresentrefines: spec:model.relation-reasons
dependsOn: spec:validation.superseded-decision-signal
Spec sections carry typed detail and direct verifier semantics
spec:model.spec-sections
readypresentrefines: spec:model.rule-keys
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.pack-design
Validation separates well-formedness from non-pretending
spec:validation.two-check-families
readypresentconstrainedBy: spec:validation.corpus-rules
Missing connective evidence warns without failing
spec:validation.warn-level-signals
readypresentrefines: spec:validation.superseded-decision-signal
Rested on by (69)
SpecStated rungImplementation bindingJoined members
The Markdown envelope is explicit and bounded
spec:carrier.envelope-contract
readypresentdependsOn: spec:model.rule-keys, spec:model.relation-reasons
Gherkin authoring enters the one graph
spec:carrier.gherkin-authoring
readypresentdependsOn: spec:model.rule-keys
The Markdown body accepts one closed form per section
spec:carrier.markdown-body-grammar
readypresentdependsOn: spec:model.open-question-fields, spec:model.rule-keys
Every prose value has one typed owner
spec:carrier.prose-ownership-rule
readypresentdependsOn: spec:model.open-question-fields, spec:model.relation-reasons
Address resolution and dependency cycles stay executable graph recipes
spec:consumers.agent-surface.address-and-cycle-recipes
readypresentdependsOn: spec:consumers.agent-surface.recipe-parameters, spec:model.rule-keys
Recipe answers fit an agent's context and explain their misses
spec:consumers.agent-surface.answer-shapes
readypresentdependsOn: spec:consumers.agent-surface.design-recipes
A number slot is not enumerable and reports no uncovered value
spec:consumers.agent-surface.example-space-coverage.number-not-enumerable
readynonerefines: spec:consumers.agent-surface.example-space-coverage
A literal no example binds is reported uncovered, and an unbound child is named
spec:consumers.agent-surface.example-space-coverage.uncovered-literal
readynonerefines: spec:consumers.agent-surface.example-space-coverage
Register questions stay executable graph recipes
spec:consumers.agent-surface.register-recipes
readypresentdependsOn: spec:extraction.entry-locations, spec:model.open-question-fields, spec:model.rule-keys, spec:model.relation-reasons
Authors move one Spec from intent to reviewed evidence
spec:consumers.authoring-on-ramp
readypresentdependsOn: spec:model.open-question-fields, spec:model.rule-keys, spec:model.relation-reasons
A member larger than the budget is named, and no part is returned
spec:consumers.context-bundle.oversized-member-named
readynonerefines: spec:consumers.context-bundle
A Pack too large for one bundle reads whole in parts
spec:consumers.context-bundle.parts-cover-the-pack
readynonerefines: spec:consumers.context-bundle
Delivery sessions route work from current graph state
spec:consumers.delivery-session-on-ramp
readypresentdependsOn: spec:consumers.review-perspectives, spec:consumers.context-bundle, spec:consumers.design-diff, spec:consumers.intent-composition.proposal
A slice reads a Pack as one design, with the architecture it touches and what each member needs next
spec:consumers.design-slice
readypresentrefines: spec:consumers.pack-design
dependsOn: spec:consumers.agent-surface.design-recipes, spec:model.planned-architecture, spec:model.open-question-fields, spec:model.rule-keys, spec:consumers.review-perspectives, spec:consumers.context-bundle
The next body of work is planned from the graph, not from a prose index
spec:consumers.graph-first-planning
readypresentdependsOn: spec:model.open-question-fields
File-level imports show where curation is missing
spec:consumers.impact-graph.curation-assist
readypresentdependsOn: spec:model.planned-architecture
Recipe 49 renders a change proposal as the Markdown memo a person reviews
spec:consumers.intent-composition.proposal.memo
readypresentrefines: spec:consumers.intent-composition.proposal
A Pack's members and the standing queries are tables over the reader's values
spec:consumers.obsidian-vault.bases
readypresentdependsOn: spec:consumers.pack-design
A design pass is followed and answered from the vault
spec:consumers.obsidian-vault.iteration
readypresentdependsOn: spec:consumers.validate-watch, spec:consumers.intent-composition.proposal
The readiness planner orders the statements a person can make
spec:consumers.readiness-planner
readypresentdependsOn: spec:model.open-question-fields
A roadmap orders the next bodies of work, and the graph says what each still needs
spec:consumers.roadmap
readypresentdependsOn: spec:model.open-question-fields
The Studio renders from the reader's values and embeds only what its script reads
spec:consumers.spec-studio.data
readypresentdependsOn: spec:consumers.pack-design, spec:extraction.entry-locations
The Studio reads two named inputs beside the graph, a base graph and run records
spec:consumers.spec-studio.data.inputs
readypresentdependsOn: spec:consumers.design-diff, spec:observation.run-evidence
A Spec set draws the architecture it touches
spec:consumers.spec-studio.diagram-kinds.scoped-architecture
readypresentdependsOn: spec:model.planned-architecture
The diff page shows what changed in the design since a base graph
spec:consumers.spec-studio.diff-page
readypresentdependsOn: spec:consumers.design-diff
A composing panel on every page gathers scoped intent for an agent
spec:consumers.spec-studio.intent-panel
readypresentdependsOn: spec:consumers.intent-composition.proposal
The architecture lens draws components by context and layer, the planned beside the built
spec:consumers.spec-studio.lenses.architecture
readypresentdependsOn: spec:model.planned-architecture
The tests lens shows how far each Spec's verification reaches
spec:consumers.spec-studio.lenses.tests
readypresentdependsOn: spec:consumers.agent-surface.example-space-coverage, spec:model.rule-keys, spec:observation.run-evidence
A Pack page shows the Pack's design as one card per member
spec:consumers.spec-studio.pack-page
readypresentdependsOn: spec:consumers.pack-design, spec:model.open-question-fields
sdp studio --watch rebuilds the page set on each carrier change
spec:consumers.spec-studio.publisher.watch
readypresentdependsOn: spec:consumers.validate-watch
The corpus's registers are pages a reviewer opens from a link
spec:consumers.spec-studio.registers
readypresentdependsOn: spec:consumers.agent-surface.design-recipes
The runs page shows the run records the build was given, joined to test files
spec:consumers.spec-studio.runs-page
readypresentdependsOn: spec:observation.run-evidence
A Studio build is stamped and shared from a static host
spec:consumers.spec-studio.sharing
readypresentdependsOn: spec:consumers.engine-provenance
A slice page shows a Pack's design as one whole
spec:consumers.spec-studio.slice-page
readypresentdependsOn: spec:model.open-question-fields
A Spec page shows one Spec in collapsible panels, in a fixed order
spec:consumers.spec-studio.spec-page
readypresentdependsOn: spec:consumers.pack-design, spec:extraction.entry-locations, spec:model.open-question-fields, spec:model.rule-keys, spec:model.relation-reasons
A Spec page's core shows the whole Spec, with an anchor for every entry
spec:consumers.spec-studio.spec-page.core
readypresentdependsOn: spec:extraction.entry-locations, spec:model.open-question-fields, spec:model.rule-keys, spec:model.relation-reasons
The panels for examples, targets, verifiers and evidence
spec:consumers.spec-studio.verification-panels
readypresentdependsOn: spec:consumers.agent-surface.example-space-coverage, spec:model.rule-keys, spec:observation.run-evidence
Capability adoption counts where each capability is used and where it could apply
spec:consumers.upgrade-kit.capability-adoption
readypresentdependsOn: spec:model.planned-architecture, spec:model.open-question-fields, spec:model.rule-keys, spec:model.relation-reasons, spec:consumers.review-perspectives
The rule-key proposal keys every unkeyed rule as a change proposal
spec:consumers.upgrade-kit.rule-key-proposal
readypresentdependsOn: spec:extraction.entry-locations, spec:model.rule-keys, spec:consumers.intent-composition.proposal
The graph records where anchored source cites an entry address
spec:extraction.entry-citations
readypresentdependsOn: spec:extraction.entry-locations
A TypeScript question list that cannot be read drops whole with a warning
spec:model.open-question-fields.dropped-list-warns
readynonerefines: spec:model.open-question-fields
A realized component that differs from its design gives one row per field
spec:model.planned-architecture.differing-layer-and-uses
readynonerefines: spec:model.planned-architecture
A realized component that matches its design gives no row
spec:model.planned-architecture.matching-design
readynonerefines: spec:model.planned-architecture
A component design no anchor satisfies is listed as unrealized
spec:model.planned-architecture.unrealized-design
readynonerefines: spec:model.planned-architecture
A Model term may carry a key that addresses it
spec:model.term-addresses
readypresentdependsOn: spec:extraction.entry-locations, spec:model.rule-keys
A test whose reporter wrote an absolute path joins its anchored file
spec:observation.run-evidence.absolute-path-joins
readynonerefines: spec:observation.run-evidence
A test in a file with no test anchor is reported as unjoined
spec:observation.run-evidence.unanchored-file-unjoined
readynonerefines: spec:observation.run-evidence
The Protocol reads its next work from its roadmap and keeps its delivery record in git and its pull requests
spec:protocol.roadmap-replaces-plans
readypresentdependsOn: spec:consumers.intent-composition.proposal, spec:observation.run-evidence
A domain member that uses an infrastructure member breaks a forbidden pair
spec:validation.architecture-constraints.forbidden-layer-pair
readynonerefines: spec:validation.architecture-constraints
The walk named as a rules file fails validation on an isolation breach
spec:validation.architecture-constraints.isolated-context-as-rule
readynonerefines: spec:validation.architecture-constraints
A component with no layer leaves its edge unclassified
spec:validation.architecture-constraints.unstated-layer-unclassified
readynonerefines: spec:validation.architecture-constraints
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
Editing a parameter file starts a cycle that reads the new parameters
spec:validation.corpus-rules.params-edit-starts-a-cycle
readynonerefines: spec:validation.corpus-rules
Rewriting a rules file under node_modules starts a cycle that runs the new body
spec:validation.corpus-rules.rules-edit-starts-a-cycle
readynonerefines: spec:validation.corpus-rules
A parameter file that stops being JSON fails only its own rules file, and the watcher runs on
spec:validation.corpus-rules.unreadable-params-fail-one-file
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
A corpus checks the register tokens its prose cites
spec:validation.external-registers
readypresentrefines: spec:validation.corpus-rules
dependsOn: spec:consumers.agent-surface.recipe-parameters, spec:validation.corpus-rules
Every Spec id written in prose resolves
spec:validation.prose-mentions
readypresentdependsOn: spec:model.open-question-fields
A replacement chain that branches names every end
spec:validation.superseded-decision-signal.branch-names-every-end
readynonerefines: spec:validation.superseded-decision-signal
The warning names the decision at the end of a chain of replacements
spec:validation.superseded-decision-signal.chain-end-named
readynonerefines: spec:validation.superseded-decision-signal
A chain of replacements that closes on itself is named and fails nothing
spec:validation.superseded-decision-signal.closed-chain-named
readynonerefines: spec:validation.superseded-decision-signal
A dependency on a replaced decision raises no warning
spec:validation.superseded-decision-signal.dependency-unread
readynonerefines: spec:validation.superseded-decision-signal
A chain of replacements that reaches an end and a loop names both
spec:validation.superseded-decision-signal.end-and-loop-named
readynonerefines: spec:validation.superseded-decision-signal
A decision still decided by the record it replaces warns
spec:validation.superseded-decision-signal.live-replacement-warns
readynonerefines: spec:validation.superseded-decision-signal
A Spec shaped by a replaced decision warns once and fails nothing
spec:validation.superseded-decision-signal.replaced-ruling-warns
readynonerefines: spec:validation.superseded-decision-signal
A replacement still below ready is named as it stands
spec:validation.superseded-decision-signal.replacement-below-ready-named
readynonerefines: spec:validation.superseded-decision-signal
A superseded decision is not warned for the decision it names
spec:validation.superseded-decision-signal.superseded-subject-silent
readynonerefines: spec:validation.superseded-decision-signal
Verified by (31)
SpecStated rungImplementation bindingJoined members
The shipped dependency-cycles file fails a rules run on a cycle
spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run
readynoneverifies: spec:validation.corpus-rules
The shipped address-resolution file fails a rules run on an address that names no entry
spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run
readynoneverifies: spec:validation.corpus-rules
A number slot is not enumerable and reports no uncovered value
spec:consumers.agent-surface.example-space-coverage.number-not-enumerable
readynoneverifies: spec:consumers.agent-surface.example-space-coverage
A literal no example binds is reported uncovered, and an unbound child is named
spec:consumers.agent-surface.example-space-coverage.uncovered-literal
readynoneverifies: spec:consumers.agent-surface.example-space-coverage
A member larger than the budget is named, and no part is returned
spec:consumers.context-bundle.oversized-member-named
readynoneverifies: spec:consumers.context-bundle
A Pack too large for one bundle reads whole in parts
spec:consumers.context-bundle.parts-cover-the-pack
readynoneverifies: spec:consumers.context-bundle
A TypeScript question list that cannot be read drops whole with a warning
spec:model.open-question-fields.dropped-list-warns
readynoneverifies: spec:model.open-question-fields
A realized component that differs from its design gives one row per field
spec:model.planned-architecture.differing-layer-and-uses
readynoneverifies: spec:model.planned-architecture
A realized component that matches its design gives no row
spec:model.planned-architecture.matching-design
readynoneverifies: spec:model.planned-architecture
A component design no anchor satisfies is listed as unrealized
spec:model.planned-architecture.unrealized-design
readynoneverifies: spec:model.planned-architecture
A test whose reporter wrote an absolute path joins its anchored file
spec:observation.run-evidence.absolute-path-joins
readynoneverifies: spec:observation.run-evidence
A test in a file with no test anchor is reported as unjoined
spec:observation.run-evidence.unanchored-file-unjoined
readynoneverifies: spec:observation.run-evidence
A domain member that uses an infrastructure member breaks a forbidden pair
spec:validation.architecture-constraints.forbidden-layer-pair
readynoneverifies: spec:validation.architecture-constraints
The walk named as a rules file fails validation on an isolation breach
spec:validation.architecture-constraints.isolated-context-as-rule
readynoneverifies: spec:validation.architecture-constraints
A component with no layer leaves its edge unclassified
spec:validation.architecture-constraints.unstated-layer-unclassified
readynoneverifies: spec:validation.architecture-constraints
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
Editing a parameter file starts a cycle that reads the new parameters
spec:validation.corpus-rules.params-edit-starts-a-cycle
readynoneverifies: spec:validation.corpus-rules
Rewriting a rules file under node_modules starts a cycle that runs the new body
spec:validation.corpus-rules.rules-edit-starts-a-cycle
readynoneverifies: spec:validation.corpus-rules
A parameter file that stops being JSON fails only its own rules file, and the watcher runs on
spec:validation.corpus-rules.unreadable-params-fail-one-file
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
A replacement chain that branches names every end
spec:validation.superseded-decision-signal.branch-names-every-end
readynoneverifies: spec:validation.superseded-decision-signal
The warning names the decision at the end of a chain of replacements
spec:validation.superseded-decision-signal.chain-end-named
readynoneverifies: spec:validation.superseded-decision-signal
A chain of replacements that closes on itself is named and fails nothing
spec:validation.superseded-decision-signal.closed-chain-named
readynoneverifies: spec:validation.superseded-decision-signal
A dependency on a replaced decision raises no warning
spec:validation.superseded-decision-signal.dependency-unread
readynoneverifies: spec:validation.superseded-decision-signal
A chain of replacements that reaches an end and a loop names both
spec:validation.superseded-decision-signal.end-and-loop-named
readynoneverifies: spec:validation.superseded-decision-signal
A decision still decided by the record it replaces warns
spec:validation.superseded-decision-signal.live-replacement-warns
readynoneverifies: spec:validation.superseded-decision-signal
A Spec shaped by a replaced decision warns once and fails nothing
spec:validation.superseded-decision-signal.replaced-ruling-warns
readynoneverifies: spec:validation.superseded-decision-signal
A replacement still below ready is named as it stands
spec:validation.superseded-decision-signal.replacement-below-ready-named
readynoneverifies: spec:validation.superseded-decision-signal
A superseded decision is not warned for the decision it names
spec:validation.superseded-decision-signal.superseded-subject-silent
readynoneverifies: spec:validation.superseded-decision-signal
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.