Design slice: The Protocol's roadmap
pack:roadmapRead the Pack member by member
The design as a whole
- 4 members; 0 example members counted in their parents.
- 0 relations among members; deepest depth 1; 0 cycles.
- 3 members held below their stated next rung; 0 waiting only for their author.
- 8 outside Specs the slice rests on; 0 hold a member; 7 outside Specs rest on it.
- 6 components touched: 1 through members' code, 5 through what the slice rests on, 0 named by member designs; 6 outside components shown for context.
- 0 member component designs; 0 realized; 0 of those match.
- 1 decision in scope; 0 state below ready.
- 6 open questions; 4 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:protocol.delivery-record-cleanup: The Protocol removes its frozen plans, review reports and superseded concept material, depth 1, stated idea, floor idea
- spec:consumers.spec-studio.cited-line-text: A pinned declaration shows the words of each test line that cites it, depth 1, stated scoped, floor scoped
- spec:consumers.spec-studio.register-input: An outside register is a named Studio input, so a cited token links to its entry, depth 1, stated scoped, floor scoped
- spec:consumers.edit-model: Views compose scoped intent instead of patching canonical source, depth 1, 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:consumers.spec-studio: The Spec Studio is a static HTML workbench over the one graph, stated ready, floor ready
- Outside this scope: spec:consumers.spec-studio.data.inputs: The Studio reads two named inputs beside the graph, a base graph and run records, stated ready, floor ready
- Outside this scope: spec:consumers.spec-studio.registers: The corpus's registers are pages a reviewer opens from a link, stated ready, floor ready
- Outside this scope: spec:decisions.roadmap-over-plans: Plan and review files stop carrying the delivery record once the roadmap and the pull request do, stated ready, floor ready
- Outside this scope: spec:extraction.entry-citations: The graph records where anchored source cites an entry address, stated ready, floor ready
- Outside this scope: spec:protocol.roadmap-replaces-plans: The Protocol reads its next work from its roadmap and keeps its delivery record in git and its pull requests, stated ready, floor ready
- Outside this scope: spec:validation.external-registers: A corpus checks the register tokens its prose cites, stated ready, floor ready
- spec:consumers.edit-model refines spec:consumers.projections-model · declared
- spec:consumers.spec-studio.cited-line-text refines spec:consumers.spec-studio · declared
- spec:consumers.spec-studio.register-input refines spec:consumers.spec-studio · declared
- spec:consumers.spec-studio.register-input dependsOn spec:consumers.spec-studio.data.inputs · declared — the register joins the base graph and the run records as a named input
- spec:consumers.spec-studio.cited-line-text dependsOn spec:consumers.spec-studio.registers · declared — the declarations page lists each citing line beside its declaration
- spec:protocol.delivery-record-cleanup decidedBy spec:decisions.roadmap-over-plans · declared
- spec:consumers.spec-studio.cited-line-text dependsOn spec:extraction.entry-citations · declared — the words belong to a citation the graph already records by file and line
- spec:protocol.delivery-record-cleanup refines spec:protocol.roadmap-replaces-plans · declared — carries out the removal the roadmap and the pull request record made possible for frozen history
- spec:consumers.spec-studio.register-input dependsOn spec:validation.external-registers · declared — the input is the register file and pattern the external-registers recipe already reads
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 |
|---|---|---|---|---|---|
The Protocol removes its frozen plans, review reports and superseded concept materialspec:protocol.delivery-record-cleanupbehavior | 1 | idea floor idea | next scoped:
| 0 rules0 entries0 declarations1 questions, 1 blocking1 decisions0 of 0 verifying examples bound | 0 implementing0 referencing |
A pinned declaration shows the words of each test line that cites itspec:consumers.spec-studio.cited-line-textbehavior | 1 | scoped floor scoped | next defined:
| 3 rules, 3 keyed0 entries0 declarations2 questions, 1 blocking0 decisions0 of 0 verifying examples bound | 0 implementing0 referencing |
An outside register is a named Studio input, so a cited token links to its entryspec:consumers.spec-studio.register-inputbehavior | 1 | scoped floor scoped | next defined:
| 3 rules, 3 keyed0 entries0 declarations3 questions, 2 blocking0 decisions0 of 0 verifying examples bound | 0 implementing0 referencing |
Views compose scoped intent instead of patching canonical sourcespec:consumers.edit-modelbehavior | 1 | ready floor ready | 3 rules, 2 keyed0 entries0 declarations0 questions0 decisions0 of 0 verifying examples bound | 0 implementing2 referencing |
The architecture it touches
Arrows: uses (anchored).
The diagram as text
- component:protocol.cli: entry points, shared build and publication, anchored, layer edge, context protocol; satisfies members none; references members none; code for rests on spec:consumers.spec-studio, spec:consumers.spec-studio.data.inputs; member designs none
- component:protocol.extract: the carrier and source pipeline, anchored, layer application, context protocol; satisfies members none; references members none; code for rests on spec:extraction.entry-citations; 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.entry-citations; 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, spec:consumers.spec-studio, spec:consumers.spec-studio.data.inputs, spec:consumers.spec-studio.registers; member designs none
- component:protocol.reader: the typed graph contract and body evaluator, anchored, layer application, context protocol; satisfies members none; references members none; code for rests on spec:extraction.entry-citations; member designs none
- component:protocol.studio-elements: optional browser behavior and proposal handoff, anchored, layer edge, context protocol; satisfies members none; references members spec:consumers.edit-model; code for rests on none; member designs none
- component:protocol.adapters: external runtime and source adapters, outside scope, anchored, layer adapter, context protocol
- component:protocol.codegen: contracts and registrar output, outside scope, anchored, layer application, context protocol
- component:protocol.import: canonical conversion with a fidelity boundary, outside scope, anchored, layer application, context protocol
- component:protocol.model: the authored contracts and stable ids, outside scope, anchored, layer domain, context protocol
- component:protocol.notation: the leaf step codec, outside scope, anchored, layer domain, context protocol
- component:protocol.validate: one finding currency and ordered checks, outside scope, anchored, layer domain, context protocol
- 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.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.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.validate uses component:protocol.graph · anchored
- impl:protocol.authored-honesty-delivery-facts uses impl:protocol.delivery-facts · anchored
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.clientry points, shared build and publication | edge · protocol | Members its code satisfies: noneMembers its code references: noneWhat the slice rests on, realized here: spec:consumers.spec-studio, spec:consumers.spec-studio.data.inputsMember designs naming it: none |
component:protocol.extractthe carrier and source pipeline | application · protocol | Members its code satisfies: noneMembers its code references: noneWhat the slice rests on, realized here: spec:extraction.entry-citationsMember 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.entry-citationsMember 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-model, spec:consumers.spec-studio, spec:consumers.spec-studio.data.inputs, spec:consumers.spec-studio.registersMember designs naming it: none |
component:protocol.readerthe typed graph contract and body evaluator | application · protocol | Members its code satisfies: noneMembers its code references: noneWhat the slice rests on, realized here: spec:extraction.entry-citationsMember designs naming it: none |
component:protocol.studio-elementsoptional browser behavior and proposal handoff | edge · protocol | Members its code satisfies: noneMembers its code references: Views compose scoped intent instead of patching canonical sourceWhat the slice rests on, realized here: noneMember designs naming it: none |
Member component designs
None.
Outside the slice, shown for context and not counted as touched
component:protocol.adapters· external runtime and source adapters · anchored · a touched component uses itcomponent:protocol.codegen· contracts and registrar output · anchored · a touched component uses it; it uses a touched componentcomponent:protocol.import· canonical conversion with a fidelity boundary · anchored · a touched component uses it; it uses a touched componentcomponent:protocol.model· the authored contracts and stable ids · anchored · a touched component uses itcomponent:protocol.notation· the leaf step codec · anchored · a touched component uses itcomponent:protocol.validate· one finding currency and ordered checks · anchored · a touched component uses it; it uses a touched component
Units bound to a member and to no component
None.
Decisions in scope
| Decision | Rung | In the slice | Shapes | Questions |
|---|---|---|---|---|
Plan and review files stop carrying the delivery record once the roadmap and the pull request dospec:decisions.roadmap-over-plansrefines spec:decisions.planning-truths-placement | ready floor ready | outside | The Protocol removes its frozen plans, review reports and superseded concept material | 0 open, 0 blocking |
Open questions in scope
- blocking · question.lineText
· spec:consumers.spec-studio.cited-line-text · May the Studio show source text the graph does not hold, and if so is it recorded in the graph beside the citation or read as a named input?Decider: ownerProvisional: the extractor records the citing line's text, trimmed and bounded, on the citation row it already writes, as inferred data that confers nothing, and the Studio reads no sourceHolds: A pinned declaration shows the words of each test line that cites it - blocking · question.registerEntry
· spec:consumers.spec-studio.register-input · What does a register file give the Studio beyond what the external-registers recipe reads, so a token's entry can be shown?Decider: delegatedProvisional: an optional titleand an optionalhrefon a token object; the Studio writes one page per register listing each token with its title, retired tokens marked, each linking to itshrefwhen presentHolds: An outside register is a named Studio input, so a cited token links to its entry - blocking · question.inputForm
· spec:consumers.spec-studio.register-input · How does the studio verb name a register, its pattern and the words that name it on a page?Decider: delegatedProvisional: a repeatable --register NAME=PATHwith a matching--register-pattern NAME=SOURCE, the name naming the register in words wherever it showsHolds: An outside register is a named Studio input, so a cited token links to its entry - blocking · question.durableContent
· spec:protocol.delivery-record-cleanup · Which content in plans/,reviews/and the concept documents does no Spec, test, decision or recipe carry yet, and where does each piece belong?Decider: ownerProvisional: a measured inventory by the arc that removes them, reviewed before anything is deleted - non-blocking · question.lineBound
· spec:consumers.spec-studio.cited-line-text · How long may a recorded line be, and how does a page show a line that was cut?Decider: delegatedProvisional: a bound of a few hundred code units, cut at a word boundary and marked as cut, the whole line one source link away - non-blocking · question.textLinks
· spec:consumers.spec-studio.register-input · Does a cited token become a link inside the rendered text of a Spec, or only in a list beside it?Decider: delegatedProvisional: inside the text, matched by the register's pattern exactly as the recipe matches it, so the page and the check agree on what is cited
Where the slice meets the rest
Rests on (8)
Rested on by (7)
Verified by (0)
None.
Superseded by (0)
None.
Composing (0)
Composing needs the script.