Design slice: Design iteration
pack:design-iteration-v1Read the Pack member by member
The design as a whole
- 11 members; 0 example members counted in their parents.
- 2 relations among members; deepest depth 2; 0 cycles.
- 0 members held below their stated next rung; 0 waiting only for their author.
- 26 outside Specs the slice rests on; 0 hold a member; 33 outside Specs rest on it.
- 10 components touched: 6 through members' code, 8 through what the slice rests on, 0 named by member designs; 4 outside components shown for context.
- 0 member component designs; 0 realized; 0 of those match.
- 8 decisions in scope; 0 state below ready.
- 0 open questions; 0 blocking.
Members read with the ones others rest on first. The columns count the design each member carries beside its rung; they never judge whether it is enough. This page records no review and approves nothing.
How the members rest on each other
Depths are structural, never phases, dates or priority. Dashed relations order nothing. The text keeps every member and original relation.
The diagram as text
- spec:consumers.agent-surface.answer-shapes: Recipe answers fit an agent's context and explain their misses, depth 1, stated ready, floor ready
- spec:model.rule-keys: A rule or flow entry may carry a key that addresses it, depth 1, stated ready, floor ready
- spec:model.open-question-fields: An open question may name who decides it, its links, a provisional reading and a re-entry trigger, depth 1, stated ready, floor ready
- spec:model.relation-reasons: An authored relation may carry its reason, depth 1, stated ready, floor ready
- spec:consumers.design-diff: Designs are compared between a base commit and the working tree at entry grain, depth 1, stated ready, floor ready
- spec:consumers.context-bundle: A context bundle is composed per invocation within a stated budget, depth 1, stated ready, floor ready
- spec:consumers.review-perspectives: A Pack is read from a named perspective, depth 1, stated ready, floor ready
- spec:consumers.intent-composition.proposal: A change proposal is addressed, based and checked before it lands, depth 2, stated ready, floor ready
- spec:model.enrichment-lifecycle: Enrichment keeps one Spec while its detail changes, depth 1, stated ready, floor ready
- spec:consumers.impact-graph.curation-assist: File-level imports show where curation is missing, depth 2, stated ready, floor ready
- spec:consumers.impact-graph: Mechanical code structure stays inferred and apart from curated intent, depth 1, stated ready, floor ready
- Outside this scope: spec:consumers.agent-surface: Agents script a visible typed graph, stated ready, floor ready
- Outside this scope: spec:consumers.agent-surface.address-and-cycle-recipes: Address resolution and dependency cycles stay executable graph recipes, stated ready, floor ready
- Outside this scope: spec:consumers.agent-surface.design-recipes: Design work reads its answers from catalog recipes, stated ready, floor ready
- Outside this scope: spec:consumers.agent-surface.evaluation-sink: The evaluation sink runs one body and prints its return, stated ready, floor ready
- Outside this scope: spec:consumers.agent-surface.recipe-parameters: Recipes take parameters as data and ship as runnable files, stated ready, floor ready
- Outside this scope: spec:consumers.edit-model: Views compose scoped intent instead of patching canonical source, stated ready, floor ready
- Outside this scope: spec:consumers.intent-composition: Composed intent hands off on one proposal shape, stated ready, floor ready
- Outside this scope: spec:consumers.pack-design: The Pack context carries the Pack's design, stated ready, floor ready
- Outside this scope: spec:consumers.projections-model: Projections fan out from one graph without becoming truth stores, stated ready, floor ready
- Outside this scope: spec:decisions.adopt-the-nouns: Delivery nouns remain familiar without workflow gates, stated ready, floor ready
- Outside this scope: spec:decisions.agent-front-door: The agent front door is one evaluation sink over the exported reader, stated ready, floor ready
- Outside this scope: spec:decisions.architectural-annotation: Architectural significance is annotated where it is realized, stated ready, floor ready
- Outside this scope: spec:decisions.checked-mentions: A Spec id written in prose is a checked mention, stated ready, floor ready
- Outside this scope: spec:decisions.planning-truths-placement: Planning truths live in ruled graph homes, stated ready, floor ready
- Outside this scope: spec:decisions.prose-ownership: Prose belongs to typed graph owners, stated ready, floor ready
- Outside this scope: spec:decisions.roadmap-priority: A roadmap states advisory priority in the graph, stated ready, floor ready
- Outside this scope: spec:decisions.shipped-projections-frozen: The shipped projections stay frozen, stated ready, floor ready
- Outside this scope: spec:extraction.contract-declarations: Pinned declarations give an adopter a derived module to typecheck, stated ready, floor ready
- Outside this scope: spec:extraction.derive-graph: Carrier reification derives the one graph, stated ready, floor ready
- Outside this scope: spec:extraction.determinism: Committed source derives byte-identical output, stated ready, floor ready
- Outside this scope: spec:extraction.entry-locations: The graph records where each addressable entry is written, stated ready, floor ready
- Outside this scope: spec:model.core-model: The Protocol models delivery with one enrichable Spec, stated ready, floor ready
- Outside this scope: spec:model.open-question-keys: An open question may carry a key that addresses it, stated ready, floor ready
- Outside this scope: spec:model.planned-architecture: Components are designed ahead of their code, stated ready, floor ready
- Outside this scope: spec:model.relations: Specs declare typed directed relations, stated ready, floor ready
- Outside this scope: spec:model.spec-sections: Spec sections carry typed detail and direct verifier semantics, stated ready, floor ready
- spec:consumers.impact-graph.curation-assist refines spec:consumers.impact-graph · declared
- spec:consumers.intent-composition.proposal dependsOn spec:consumers.design-diff · declared
- spec:consumers.agent-surface.answer-shapes refines spec:consumers.agent-surface · declared
- spec:consumers.context-bundle refines spec:consumers.agent-surface · declared
- spec:consumers.intent-composition.proposal dependsOn spec:consumers.agent-surface.address-and-cycle-recipes · declared — the check resolves entry-address scopes through address resolution
- spec:consumers.agent-surface.answer-shapes dependsOn spec:consumers.agent-surface.design-recipes · declared
- spec:consumers.context-bundle dependsOn spec:consumers.agent-surface.design-recipes · declared
- spec:consumers.agent-surface.answer-shapes dependsOn spec:consumers.agent-surface.evaluation-sink · declared — a caller runs a shipped body, and wraps it in its own body, through the evaluation sink
- spec:consumers.design-diff dependsOn spec:consumers.agent-surface.recipe-parameters · declared — the base graph is supplied as recipe-parameter data, including the KEY=@PATH file form
- spec:consumers.intent-composition.proposal dependsOn spec:consumers.edit-model · declared
- spec:consumers.intent-composition.proposal refines spec:consumers.intent-composition · declared
- spec:consumers.review-perspectives dependsOn spec:consumers.pack-design · declared
- spec:consumers.design-diff refines spec:consumers.projections-model · declared
- spec:consumers.review-perspectives refines spec:consumers.projections-model · declared
- spec:consumers.impact-graph refines spec:consumers.projections-model · declared
- spec:model.open-question-fields decidedBy spec:decisions.adopt-the-nouns · declared — question fields describe the question without adding workflow state or gates
- spec:consumers.context-bundle decidedBy spec:decisions.agent-front-door · declared
- spec:consumers.impact-graph.curation-assist decidedBy spec:decisions.architectural-annotation · declared
- spec:model.rule-keys decidedBy spec:decisions.checked-mentions · declared — rule addresses join the address law it rules
- spec:model.open-question-fields decidedBy spec:decisions.planning-truths-placement · declared — a deferral's re-entry trigger rides its own blocking question, the home that decision rules
- spec:model.relation-reasons decidedBy spec:decisions.prose-ownership · declared — the relation owns its reason as typed prose
- spec:consumers.design-diff decidedBy spec:decisions.roadmap-priority · declared
- spec:model.rule-keys decidedBy spec:decisions.shipped-projections-frozen · declared — keys stay off the frozen projections, which read the rule text unchanged
- spec:model.enrichment-lifecycle dependsOn spec:extraction.contract-declarations · declared — a slimming candidate is a pinned declaration
- spec:consumers.impact-graph dependsOn spec:extraction.derive-graph · declared
- spec:consumers.design-diff constrainedBy spec:extraction.determinism · declared — equal sources derive equal graphs, so a difference records a source change
- spec:model.rule-keys dependsOn spec:extraction.entry-locations · declared — adds rows to the location table
- spec:model.open-question-fields dependsOn spec:extraction.entry-locations · declared — adds rows to the location table
- spec:model.enrichment-lifecycle refines spec:model.core-model · declared
- spec:model.open-question-fields refines spec:model.open-question-keys · declared
- spec:model.rule-keys dependsOn spec:model.open-question-keys · declared
- spec:consumers.impact-graph.curation-assist dependsOn spec:model.planned-architecture · declared — the report uses the component-design convention to identify unrealized planned components
- spec:model.relation-reasons refines spec:model.relations · declared
- spec:model.rule-keys refines spec:model.spec-sections · declared
Mermaid source
Copyable source; the Studio draws static SVG. See the full text equivalent for every original relation and folded member.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
What each member needs next
| Member | Depth | Rung | Next rung | Design carried | Code |
|---|---|---|---|---|---|
Recipe answers fit an agent's context and explain their missesspec:consumers.agent-surface.answer-shapesbehavior | 1 | ready floor ready | 5 rules10 entries2 declarations0 questions0 decisions0 of 0 verifying examples bound | 1 implementing2 referencing | |
A rule or flow entry may carry a key that addresses itspec:model.rule-keysrule | 1 | ready floor ready | 7 rules10 entries6 declarations0 questions2 decisions0 of 0 verifying examples bound | 3 implementing0 referencing | |
An open question may name who decides it, its links, a provisional reading and a re-entry triggerspec:model.open-question-fieldsrule | 1 | ready floor ready | 12 rules, 2 keyed7 entries1 declarations0 questions2 decisions1 of 1 verifying examples bound | 2 implementing0 referencing | |
An authored relation may carry its reasonspec:model.relation-reasonsrule | 1 | ready floor ready | 7 rules5 entries0 declarations0 questions1 decisions0 of 0 verifying examples bound | 2 implementing0 referencing | |
Designs are compared between a base commit and the working tree at entry grainspec:consumers.design-diffbehavior | 1 | ready floor ready | 11 rules8 entries4 declarations0 questions1 decisions0 of 0 verifying examples bound | 1 implementing0 referencing | |
A context bundle is composed per invocation within a stated budgetspec:consumers.context-bundlebehavior | 1 | ready floor ready | 19 rules, 9 keyed17 entries7 declarations0 questions1 decisions2 of 2 verifying examples bound | 1 implementing0 referencing | |
A Pack is read from a named perspectivespec:consumers.review-perspectivesbehavior | 1 | ready floor ready | 8 rules, 1 keyed4 entries1 declarations0 questions0 decisions0 of 0 verifying examples bound | 1 implementing0 referencing | |
Enrichment keeps one Spec while its detail changesspec:model.enrichment-lifecyclemodel | 1 | ready floor ready | 0 rules2 entries0 declarations0 questions0 decisions0 of 0 verifying examples bound | 1 implementing0 referencing | |
Mechanical code structure stays inferred and apart from curated intentspec:consumers.impact-graphbehavior | 1 | ready floor ready | 1 rules, 1 keyed0 entries0 declarations0 questions0 decisions0 of 0 verifying examples bound | 1 implementing0 referencing | |
A change proposal is addressed, based and checked before it landsspec:consumers.intent-composition.proposalcontract | 2 | ready floor ready | 9 rules7 entries2 declarations0 questions0 decisions0 of 0 verifying examples bound | 2 implementing0 referencing | |
File-level imports show where curation is missingspec:consumers.impact-graph.curation-assistbehavior | 2 | ready floor ready | 11 rules7 entries4 declarations0 questions1 decisions0 of 0 verifying examples bound | 3 implementing0 referencing |
The architecture it touches
Arrows: uses (anchored).
The diagram as text
- component:protocol.adapters: external runtime and source adapters, anchored, layer adapter, context protocol; satisfies members spec:consumers.impact-graph.curation-assist, spec:consumers.impact-graph; references members none; code for rests on none; member designs none
- component:protocol.cli: entry points, shared build and publication, anchored, layer edge, context protocol; satisfies members spec:consumers.impact-graph.curation-assist; references members none; code for rests on spec:consumers.agent-surface, spec:consumers.agent-surface.evaluation-sink, spec:consumers.agent-surface.recipe-parameters, spec:extraction.determinism; member designs none
- component:protocol.extract: the carrier and source pipeline, anchored, layer application, context protocol; satisfies members spec:model.rule-keys, spec:model.open-question-fields, spec:model.relation-reasons; references members none; code for rests on spec:extraction.derive-graph, spec:extraction.determinism, spec:extraction.entry-locations, spec:model.open-question-keys; member designs none
- component:protocol.graph: the one graph and its semantic decisions, anchored, layer domain, context protocol; satisfies members none; references members none; code for rests on spec:extraction.derive-graph; member designs none
- component:protocol.import: canonical conversion with a fidelity boundary, anchored, layer application, context protocol; satisfies members none; references members none; code for rests on spec:model.open-question-keys; member designs none
- component:protocol.model: the authored contracts and stable ids, anchored, layer domain, context protocol; satisfies members none; references members none; code for rests on spec:model.core-model, spec:model.open-question-keys, spec:model.relations, spec:model.spec-sections; member designs none
- component:protocol.projections: read-only output, layout and owned publication, anchored, layer edge, context protocol; satisfies members none; references members none; code for rests on spec:consumers.projections-model; member designs none
- component:protocol.reader: the typed graph contract and body evaluator, anchored, layer application, context protocol; satisfies members none; references members spec:consumers.agent-surface.answer-shapes; code for rests on spec:consumers.agent-surface, spec:consumers.agent-surface.evaluation-sink, spec:consumers.pack-design, spec:extraction.contract-declarations, spec:extraction.entry-locations; member designs none
- component:protocol.studio-elements: optional browser behavior and proposal handoff, anchored, layer edge, context protocol; satisfies members spec:consumers.intent-composition.proposal; references members none; code for rests on none; member designs none
- component:protocol.validate: one finding currency and ordered checks, anchored, layer domain, context protocol; satisfies members spec:model.rule-keys; references members none; code for rests on spec:model.open-question-keys, spec:model.spec-sections; member designs none
- component:protocol.codegen: contracts and registrar output, outside scope, anchored, layer application, context protocol
- component:protocol.notation: the leaf step codec, outside scope, anchored, layer domain, context protocol
- component:protocol.runner: provider-neutral example execution, outside scope, anchored, layer application, context protocol
- component:protocol.testing: the generated registrar runtime, outside scope, anchored, layer adapter, context protocol
- component:protocol.adapters uses component:protocol.runner · anchored
- impl:protocol.example-runner-adapter uses impl:protocol.example-runner · anchored
- component:protocol.cli uses component:protocol.adapters · anchored
- component:protocol.cli uses component:protocol.codegen · anchored
- component:protocol.cli uses component:protocol.extract · anchored
- component:protocol.cli uses component:protocol.graph · anchored
- impl:protocol.stamp-command uses impl:protocol.schema-version · anchored
- component:protocol.cli uses component:protocol.import · anchored
- component:protocol.cli uses component:protocol.model · anchored
- component:protocol.cli uses component:protocol.projections · anchored
- impl:protocol.vault-command uses component:protocol.projections · anchored
- component:protocol.cli uses component:protocol.reader · anchored
- component:protocol.cli uses component:protocol.validate · anchored
- component:protocol.codegen uses component:protocol.graph · anchored
- component:protocol.codegen uses component:protocol.reader · anchored
- component:protocol.codegen uses component:protocol.validate · anchored
- component:protocol.extract uses component:protocol.graph · anchored
- impl:protocol.derive-graph uses impl:protocol.delivery-facts · anchored
- component:protocol.extract uses component:protocol.model · anchored
- component:protocol.extract uses component:protocol.notation · anchored
- component:protocol.extract uses component:protocol.validate · anchored
- component:protocol.graph uses component:protocol.model · anchored
- component:protocol.graph uses component:protocol.notation · anchored
- component:protocol.import uses component:protocol.extract · anchored
- component:protocol.import uses component:protocol.notation · anchored
- component:protocol.import uses component:protocol.validate · anchored
- component:protocol.projections uses component:protocol.extract · anchored
- impl:protocol.gherkin-view uses impl:protocol.gherkin-kind-policy · anchored
- component:protocol.projections uses component:protocol.graph · anchored
- component:protocol.projections uses component:protocol.model · anchored
- component:protocol.projections uses component:protocol.notation · anchored
- component:protocol.projections uses component:protocol.reader · anchored
- impl:protocol.studio-recipes uses api:protocol.evaluate-body · anchored
- impl:protocol.studio-recipes uses impl:protocol.reader · anchored
- impl:protocol.vault-notes uses impl:protocol.reader · anchored
- component:protocol.projections uses component:protocol.validate · anchored
- component:protocol.reader uses component:protocol.graph · anchored
- impl:protocol.reader uses impl:protocol.delivery-facts · anchored
- component:protocol.reader uses component:protocol.model · anchored
- component:protocol.reader uses component:protocol.notation · anchored
- component:protocol.reader uses component:protocol.validate · anchored
- impl:protocol.reader uses impl:protocol.next-rung-floor · anchored
- component:protocol.studio-elements uses component:protocol.projections · anchored
- component:protocol.studio-elements uses component:protocol.reader · anchored
- component:protocol.testing uses component:protocol.adapters · anchored
- component:protocol.validate uses component:protocol.graph · anchored
- impl:protocol.authored-honesty-delivery-facts uses impl:protocol.delivery-facts · anchored
- component:protocol.validate uses component:protocol.model · anchored
- component:protocol.validate uses component:protocol.notation · anchored
- impl:protocol.answer-shape-recipes implements spec:consumers.agent-surface.answer-shapes; no component
- impl:protocol.authoring-grammar-recipes references spec:consumers.agent-surface.answer-shapes; no component
- impl:protocol.authoring-grammar-recipes implements spec:model.rule-keys; no component
- impl:protocol.authoring-grammar-recipes implements spec:model.open-question-fields; no component
- impl:protocol.authoring-grammar-recipes implements spec:model.relation-reasons; no component
- impl:protocol.design-diff-recipe implements spec:consumers.design-diff; no component
- impl:protocol.context-bundle-recipe implements spec:consumers.context-bundle; no component
- impl:protocol.perspective-filter-recipe implements spec:consumers.review-perspectives; no component
- impl:protocol.proposal-schema-and-recipe implements spec:consumers.intent-composition.proposal; no component
- impl:protocol.slimming-recipe implements spec:model.enrichment-lifecycle; no component
- impl:protocol.curation-recipe implements spec:consumers.impact-graph.curation-assist; no component
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: block; flowchart fallback because block cannot carry edge claims and counts.
Components the slice touches
| Component | Layer and context | Reached through |
|---|---|---|
component:protocol.adaptersexternal runtime and source adapters | adapter · protocol | Members its code satisfies: File-level imports show where curation is missing, Mechanical code structure stays inferred and apart from curated intentMembers its code references: noneWhat the slice rests on, realized here: noneMember designs naming it: none |
component:protocol.clientry points, shared build and publication | edge · protocol | Members its code satisfies: File-level imports show where curation is missingMembers its code references: noneWhat the slice rests on, realized here: spec:consumers.agent-surface, spec:consumers.agent-surface.evaluation-sink, spec:consumers.agent-surface.recipe-parameters, spec:extraction.determinismMember designs naming it: none |
component:protocol.extractthe carrier and source pipeline | application · protocol | Members its code satisfies: A rule or flow entry may carry a key that addresses it, An open question may name who decides it, its links, a provisional reading and a re-entry trigger, An authored relation may carry its reasonMembers its code references: noneWhat the slice rests on, realized here: spec:extraction.derive-graph, spec:extraction.determinism, spec:extraction.entry-locations, spec:model.open-question-keysMember designs naming it: none |
component:protocol.graphthe one graph and its semantic decisions | domain · protocol | Members its code satisfies: noneMembers its code references: noneWhat the slice rests on, realized here: spec:extraction.derive-graphMember designs naming it: none |
component:protocol.importcanonical conversion with a fidelity boundary | application · protocol | Members its code satisfies: noneMembers its code references: noneWhat the slice rests on, realized here: spec:model.open-question-keysMember designs naming it: none |
component:protocol.modelthe authored contracts and stable ids | domain · protocol | Members its code satisfies: noneMembers its code references: noneWhat the slice rests on, realized here: spec:model.core-model, spec:model.open-question-keys, spec:model.relations, spec:model.spec-sectionsMember designs naming it: none |
component:protocol.projectionsread-only output, layout and owned publication | edge · protocol | Members its code satisfies: noneMembers its code references: noneWhat the slice rests on, realized here: spec:consumers.projections-modelMember designs naming it: none |
component:protocol.readerthe typed graph contract and body evaluator | application · protocol | Members its code satisfies: noneMembers its code references: Recipe answers fit an agent's context and explain their missesWhat the slice rests on, realized here: spec:consumers.agent-surface, spec:consumers.agent-surface.evaluation-sink, spec:consumers.pack-design, spec:extraction.contract-declarations, spec:extraction.entry-locationsMember designs naming it: none |
component:protocol.studio-elementsoptional browser behavior and proposal handoff | edge · protocol | Members its code satisfies: A change proposal is addressed, based and checked before it landsMembers its code references: noneWhat the slice rests on, realized here: noneMember designs naming it: none |
component:protocol.validateone finding currency and ordered checks | domain · protocol | Members its code satisfies: A rule or flow entry may carry a key that addresses itMembers its code references: noneWhat the slice rests on, realized here: spec:model.open-question-keys, spec:model.spec-sectionsMember designs naming it: none |
Member component designs
None.
Outside the slice, shown for context and not counted as touched
component:protocol.codegen· contracts and registrar output · anchored · a touched component uses it; it uses a touched componentcomponent:protocol.notation· the leaf step codec · anchored · a touched component uses itcomponent:protocol.runner· provider-neutral example execution · anchored · a touched component uses itcomponent:protocol.testing· the generated registrar runtime · anchored · it uses a touched component
Units bound to a member and to no component
impl:protocol.answer-shape-recipesimplements Recipe answers fit an agent's context and explain their missesimpl:protocol.authoring-grammar-recipesreferences Recipe answers fit an agent's context and explain their missesimpl:protocol.authoring-grammar-recipesimplements A rule or flow entry may carry a key that addresses itimpl:protocol.authoring-grammar-recipesimplements An open question may name who decides it, its links, a provisional reading and a re-entry triggerimpl:protocol.authoring-grammar-recipesimplements An authored relation may carry its reasonimpl:protocol.design-diff-recipeimplements Designs are compared between a base commit and the working tree at entry grainimpl:protocol.context-bundle-recipeimplements A context bundle is composed per invocation within a stated budgetimpl:protocol.perspective-filter-recipeimplements A Pack is read from a named perspectiveimpl:protocol.proposal-schema-and-recipeimplements A change proposal is addressed, based and checked before it landsimpl:protocol.slimming-recipeimplements Enrichment keeps one Spec while its detail changesimpl:protocol.curation-recipeimplements File-level imports show where curation is missing
Decisions in scope
Open questions in scope
None.
Where the slice meets the rest
Rests on (26)
Rested on by (33)
Verified by (3)
| Spec | Rung | Implementation binding | Joined members | Holds |
|---|---|---|---|---|
A member larger than the budget is named, and no part is returnedspec:consumers.context-bundle.oversized-member-named | ready floor ready | none | verifies: A context bundle is composed per invocation within a stated budget | none |
A Pack too large for one bundle reads whole in partsspec:consumers.context-bundle.parts-cover-the-pack | ready floor ready | none | verifies: A context bundle is composed per invocation within a stated budget | none |
A TypeScript question list that cannot be read drops whole with a warningspec:model.open-question-fields.dropped-list-warns | ready floor ready | none | verifies: An open question may name who decides it, its links, a provisional reading and a re-entry trigger | none |
Superseded by (0)
None.
Composing (0)
Composing needs the script.