Design management
pack:design-management-v1specs/design-management.pack.sdp.mdDownload 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
Outlined diagonal: matches. Right of diagonal: floor above statement. Left of diagonal: statement above floor.
Maturity map as text
stated idea, floor idea · 1 member
- A reference projection serves a reader outside the repository ·
spec:consumers.reference-projection· idea floor idea
stated scoped, floor scoped · 1 member
- Mermaid diagrams can be rooted at code units ·
spec:consumers.structural-mermaid· scoped floor scoped
stated ready, floor ready · 22 members
- The Design Review's Pack page presents the Pack's design ·
spec:decisions.pack-design-page· ready floor ready - The Pack context carries the Pack's design ·
spec:consumers.pack-design· ready floor ready - A Pack page shows where the Pack's design stands ·
spec:consumers.design-review.pack-design-page· ready floor ready - The graph records where each addressable entry is written ·
spec:extraction.entry-locations· ready floor ready - Recipes take parameters as data and ship as runnable files ·
spec:consumers.agent-surface.recipe-parameters· ready floor ready - Design work reads its answers from catalog recipes ·
spec:consumers.agent-surface.design-recipes· ready floor ready - Example spaces report which values their examples cover ·
spec:consumers.agent-surface.example-space-coverage· ready floor ready - The CLI names the engine that produced a result ·
spec:consumers.engine-provenance· ready floor ready - Validation re-runs while an author edits carriers ·
spec:consumers.validate-watch· ready floor ready - What a Spec's design carries is derived, beside its readiness ·
spec:model.design-maturity· ready floor ready - Components are designed ahead of their code ·
spec:model.planned-architecture· ready floor ready - An open question may name who decides it, its links, a provisional reading and a re-entry trigger ·
spec:model.open-question-fields· ready floor ready - A rule or flow entry may carry a key that addresses it ·
spec:model.rule-keys· ready floor ready - An authored relation may carry its reason ·
spec:model.relation-reasons· ready floor ready - A Pack is read from a named perspective ·
spec:consumers.review-perspectives· ready floor ready - A context bundle is composed per invocation within a stated budget ·
spec:consumers.context-bundle· ready floor ready - Designs are compared between a base commit and the working tree at entry grain ·
spec:consumers.design-diff· ready floor ready - A change proposal is addressed, based and checked before it lands ·
spec:consumers.intent-composition.proposal· ready floor ready - A Spec shaped by a superseded decision warns ·
spec:validation.superseded-decision-signal· ready floor ready - Declared architecture rules are checked against anchored structure ·
spec:validation.architecture-constraints· ready floor ready - Corpus-authored rules run on the one validation path ·
spec:validation.corpus-rules· ready floor ready - CI run records are joined to verifiers in a view ·
spec:observation.run-evidence· ready floor ready
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
Design
No design entries · no pinned declarations
Decisions
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.pack-design· the Pack design helpers and the Pack context assembly they serve ·src/reader/reader.ts:499· role reader · component component:protocol.reader· layer application · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
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
- The Design Review's Pack page presents the Pack's design · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.pack-design-page· renders the Pack page from the Pack design ·src/projections/design-review-pages.ts:120· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: present
impl:protocol.pack-design-sections· renders the Pack page's next-rung, boundary, question and code sections ·src/projections/design-review-pack-sections.ts:19· role projection · component component:protocol.projections· layer edge · context protocol
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
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:5979impl:protocol.entry-locations· builds the carrier entry location table ·src/extract/derive.ts:78· role extractor · component component:protocol.extract· layer application · context protocolimpl:protocol.reader· typed graph queries, entry adapters and context joins ·src/reader/reader.ts:687· role reader · component component:protocol.reader· layer application · context protocol
Design reference: present
impl:protocol.pack-design· the Pack design helpers and the Pack context assembly they serve ·src/reader/reader.ts:499· role reader · component component:protocol.reader· layer application · context protocol
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
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 protocolimpl:protocol.parameter-codec· decodes recipe parameters and refuses duplicate keys ·src/cli/params.ts:121· role codec · component component:protocol.cli· layer edge · context protocolimpl:protocol.query-params· reads --params as JSON data and injects it as the sink's fourth binding, params ·src/cli/q-command.ts:71· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.recipe-parameters-catalog· asserts realization of the catalog recipes that read their parameter from params ·test/recipes.test.ts:4405
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · no verifying examples, 0 enabled
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:856impl:protocol.example-space-decoding· shared example-space interpretation for contracts and reader contexts ·src/notation/example-space.ts:473· role codec · component component:protocol.reader· layer application · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
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 protocolimpl:protocol.engine-provenance-cli· prints sdp version and the commit parsed from the build-info file beside the compiled CLI ·src/cli/sdp.ts:102· role projection · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
1 verifier, 1 enabled · no verifying examples, 0 enabled
9. Validation re-runs while an author edits carriersbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
No design entries · no pinned declarations
Open questions
None.
Implementation binding: present
impl:protocol.validate-watch· watches carrier directories and coalesces events into a pending validation rerun ·src/cli/validate-watch.ts:591· role service · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
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
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
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.planned-components-recipe· asserts realization of the shipped planned against realized components recipe ·test/architecture-recipes.test.ts:16
Design reference: present
impl:protocol.curation-recipe· asserts the curation report over external inferred imports ·test/curation-recipes.test.ts:32
Verifier binding: present
3 verifiers, 3 enabled · 3 verifying examples, 3 enabled
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
- Delivery nouns remain familiar without workflow gates · stated ready
- Planning truths live in ruled graph homes · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.authoring-grammar-recipes· asserts the authoring grammar's realization in docs/agent-surface/recipes.md ·test/recipes.test.ts:6597impl:protocol.authoring-normalization· normalizes rule markers and question fields after carrier reification ·src/extract/authoring-normalization.ts:8· role codec · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 1 verifying example, 1 enabled
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
Design
10 design entries · 6 pinned declarations
Decisions
- A Spec id written in prose is a checked mention · stated ready
- The shipped projections stay frozen · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.authoring-grammar-recipes· asserts the authoring grammar's realization in docs/agent-surface/recipes.md ·test/recipes.test.ts:6597impl:protocol.authoring-normalization· normalizes rule markers and question fields after carrier reification ·src/extract/authoring-normalization.ts:8· role codec · component component:protocol.extract· layer application · context protocolimpl:protocol.rule-exercises· checks the keys named by declared verifies relations ·src/validate/validators.ts:1479· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
14. An authored relation may carry its reasonrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
5 design entries · no pinned declarations
Decisions
- Prose belongs to typed graph owners · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.authoring-grammar-recipes· asserts the authoring grammar's realization in docs/agent-surface/recipes.md ·test/recipes.test.ts:6597impl:protocol.authoring-normalization· normalizes rule markers and question fields after carrier reification ·src/extract/authoring-normalization.ts:8· role codec · component component:protocol.extract· layer application · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
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
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
Design
8 design entries · 4 pinned declarations
Decisions
- A roadmap states advisory priority in the graph · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.design-diff-recipe· realizes the design diff in the shipped recipe catalog ·test/iteration-recipes.test.ts:27· role projection
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · no verifying examples, 0 enabled
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 orapi: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
- The shipped projections stay frozen · stated ready
Open questions
- blocking · question.namedStructuralReader
· line 21 · specs/consumers/structural-mermaid.sdp.md:21· Does a reader need diagrams rooted at code units, which census tables and Spec-rooted one-hop Mermaid do not serve?Decider: ownerTrigger: a named reader with that need, plus a decision that refinesspec:decisions.shipped-projections-frozenfor the affected Mermaid rendering or supersedes that ruling whole
Implementation binding: none
Design reference: none
Verifier binding: none
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
- Planning truths live in ruled graph homes · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.superseded-decision-signal· walks decision replacements to surface stale shaping relations ·src/validate/validators.ts:1817· role validator · component component:protocol.validate· layer domain · context protocol
Design reference: none
Verifier binding: present
9 verifiers, 9 enabled · 9 verifying examples, 9 enabled
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
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.architecture-walk-recipe· asserts realization of the shipped architecture walk recipe ·test/architecture-recipes.test.ts:10
Design reference: none
Verifier binding: present
3 verifiers, 3 enabled · 3 verifying examples, 3 enabled
23. Corpus-authored rules run on the one validation pathbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present
Design
11 design entries · 7 pinned declarations
Decisions
- Architectural significance is annotated where it is realized · stated ready
Open questions
None.
Implementation binding: present
impl:protocol.corpus-rule-runner· runs selected corpus rules and separates their failures ·src/cli/corpus-rules.ts:65· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.corpus-rules· runs copied rule bodies after Protocol validation and composes the separate corpus report, output and exit ·src/cli/validate-view-command.ts:79· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.validate-watch· watches carrier directories and coalesces events into a pending validation rerun ·src/cli/validate-watch.ts:591· role service · component component:protocol.cli· layer edge · context protocol
Design reference: none
Verifier binding: present
9 verifiers, 9 enabled · 9 verifying examples, 9 enabled
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
Design
7 design entries · 5 pinned declarations
Decisions
- Bindings state existence, not liveness · stated ready
Open questions
- non-blocking · question.freshness
· line 28 · specs/observation/run-evidence.sdp.md:28· How does a view say a run is stale: by its commit against the commit being read, or by whether the bound files changed between the two?Decider: ownerProvisional: Display the run and source commit identifiers when they differ, as the differing-commit rule requires; whether freshness also follows changes to bound files remains open.
Implementation binding: present
impl:protocol.run-evidence-recipe· asserts realization of Run evidence in docs/agent-surface/recipes.md ·test/recipes.test.ts:7277impl:protocol.studio-runs-page· renders readable CTRF inputs, file results, unjoined records and diagnostics ·src/projections/studio/pages/runs-page.ts:6· role projection · component component:protocol.projections· layer edge · context protocol
Design reference: none
Verifier binding: present
2 verifiers, 2 enabled · 2 verifying examples, 2 enabled
Boundary
Rests on (42)
Rested on by (69)
Verified by (31)
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.
- A reference projection serves a reader outside the repository ·
spec:consumers.reference-projection· stated idea - Mermaid diagrams can be rooted at code units ·
spec:consumers.structural-mermaid· stated scoped
Findings
None.
Composing (0)
Composing needs the script.