Spec Studio

Design slice: The Protocol's roadmap

pack:roadmap

Read 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

Declared relations by depth

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

MemberDepthRungNext rungDesign carriedCode
The Protocol removes its frozen plans, review reports and superseded concept material
spec:protocol.delivery-record-cleanup
behavior
1idea floor ideanext scoped:
  • kind-evidence-present · The kind's natural evidence is present (per-kind evidence table).
0 rules0 entries0 declarations1 questions, 1 blocking1 decisions0 of 0 verifying examples bound0 implementing0 referencing
A pinned declaration shows the words of each test line that cites it
spec:consumers.spec-studio.cited-line-text
behavior
1scoped floor scopednext defined:
  • no-blocking-open-questions · Spec has no blocking open question in intent.openQuestions.
3 rules, 3 keyed0 entries0 declarations2 questions, 1 blocking0 decisions0 of 0 verifying examples bound0 implementing0 referencing
An outside register is a named Studio input, so a cited token links to its entry
spec:consumers.spec-studio.register-input
behavior
1scoped floor scopednext defined:
  • no-blocking-open-questions · Spec has no blocking open question in intent.openQuestions.
3 rules, 3 keyed0 entries0 declarations3 questions, 2 blocking0 decisions0 of 0 verifying examples bound0 implementing0 referencing
Views compose scoped intent instead of patching canonical source
spec:consumers.edit-model
behavior
1ready floor ready3 rules, 2 keyed0 entries0 declarations0 questions0 decisions0 of 0 verifying examples bound0 implementing2 referencing

The architecture it touches

Anchored components and member designs

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

ComponentLayer and contextReached through
component:protocol.cli
entry points, shared build and publication
edge · protocolMembers 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.extract
the carrier and source pipeline
application · protocolMembers its code satisfies: noneMembers its code references: noneWhat the slice rests on, realized here: spec:extraction.entry-citationsMember designs naming it: none
component:protocol.graph
the one graph and its semantic decisions
domain · protocolMembers its code satisfies: noneMembers its code references: noneWhat the slice rests on, realized here: spec:extraction.entry-citationsMember designs naming it: none
component:protocol.projections
read-only output, layout and owned publication
edge · protocolMembers 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.reader
the typed graph contract and body evaluator
application · protocolMembers 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-elements
optional browser behavior and proposal handoff
edge · protocolMembers 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

Units bound to a member and to no component

None.

Decisions in scope

Open questions in scope

Where the slice meets the rest

Rests on (8)
SpecRungImplementation bindingJoined membersHolds
Projections fan out from one graph without becoming truth stores
spec:consumers.projections-model
ready floor readypresentrefines: Views compose scoped intent instead of patching canonical sourcenone
The Spec Studio is a static HTML workbench over the one graph
spec:consumers.spec-studio
ready floor readypresentrefines: A pinned declaration shows the words of each test line that cites it, An outside register is a named Studio input, so a cited token links to its entrynone
The Studio reads two named inputs beside the graph, a base graph and run records
spec:consumers.spec-studio.data.inputs
ready floor readypresentdependsOn: An outside register is a named Studio input, so a cited token links to its entrynone
The corpus's registers are pages a reviewer opens from a link
spec:consumers.spec-studio.registers
ready floor readypresentdependsOn: A pinned declaration shows the words of each test line that cites itnone
Plan and review files stop carrying the delivery record once the roadmap and the pull request do
spec:decisions.roadmap-over-plans
ready floor readynonedecidedBy: The Protocol removes its frozen plans, review reports and superseded concept materialnone
The graph records where anchored source cites an entry address
spec:extraction.entry-citations
ready floor readypresentdependsOn: A pinned declaration shows the words of each test line that cites itnone
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
ready floor readypresentrefines: The Protocol removes its frozen plans, review reports and superseded concept materialnone
A corpus checks the register tokens its prose cites
spec:validation.external-registers
ready floor readypresentdependsOn: An outside register is a named Studio input, so a cited token links to its entrynone
Rested on by (7)
Verified by (0)

None.

Superseded by (0)

None.

Composing (0)

Composing needs the script.