Spec Studio

What a Spec's design carries is derived, beside its readiness

spec:model.design-maturityDomain Model · featureready floor ready

Packs: pack:design-management-v1, pack:self-hosting-v1

Design: no design entries · no pinned declarations · no decisions

Findings: no errors, no warnings

specs/model/design-maturity.sdp.md

1 open question and no blocking questions; implementation binding present, verifier binding present, and expected-outcome oracle none.

The original design's designed stage meant a Spec's key concepts were settled before code (docs/lineage/v0-design/01-core-primitives.md §1.4 and §8). The Protocol's readiness describes the maturity of intent. The graph therefore derives what design a Spec carries beside readiness, without adding a rung, floor clause or delivery fact. A new rung would change the locked readiness values, a floor clause reading Design would close that section's shape, and a design fact would mix design with realization signals.

Intent
problem
A reviewer or an implementer cannot tell from readiness alone which Specs carry a settled design and which carry only intent, and the first adopter's owner asked for Specs whose key concepts are designed as stubs before code.
outcome
Show what design a Spec carries in values the graph derives, so the backlog and a review can tell a designed Spec from one that states only its intent.
assumptions
  • The design columns tell a Spec with pinned declarations and keyed entries from one that states only its intent.

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
Model
design columns line 25 · specs/model/design-maturity.sdp.md:25
The counts and lists the reader derives for a Spec beside its readiness under spec:consumers.pack-design; they are read on every pass and never stated.
designed stage line 26 · specs/model/design-maturity.sdp.md:26
The original design's readiness stage for a Spec whose key concepts were settled; it is not a Protocol rung.
Verification

Verifier bindings

  • test:protocol.pack-design · the Pack context carries each member's design and the Pack's boundary · anchored · test anchor binding present · test/pack-design.test.ts:18

    External run evidence from test/pack-design.test.ts

    Test anchors: test:protocol.pack-design. Specs verified by those bindings: spec:consumers.pack-design, spec:model.design-maturity.

    Run 1: external run evidence from vitest 4.1.10

    Build: CI 380 · Branch: feature/roadmap-and-slices-v0 · Commit: 34909918bf0be0e849959644401797191cae379f · Start: 2026-10-22T17:40:31.456Z · Stop: 2026-10-22T17:42:16.171Z

    NameSuiteResultDuration
    keeps the manifest's order and every existing fieldthe Pack design on the Pack contextpassed16.56 ms
    names the stated next rung's unmet clauses, with the targets a dependency clause namesthe Pack design on the Pack contextpassed3.72 ms
    reads an empty list where the floor already holds the stated next rungthe Pack design on the Pack contextpassed1.63 ms
    keeps the stated reading apart from the floor-reached readingthe Pack design on the Pack contextpassed2.77 ms
    names no next rung above readythe Pack design on the Pack contextpassed1.78 ms
    counts the design columns: keyed entries, pinned declarations and questionsthe Pack design on the Pack contextpassed2.72 ms
    exposes the same design columns on Spec context and Pack membersthe Pack design on the Pack contextpassed2.35 ms
    lists the decisions a member names, unresolved when the target is no Specthe Pack design on the Pack contextpassed5.17 ms
    carries each realizing and referencing unit with its component on the member and on the Spec contextthe Pack design on the Pack contextpassed4.46 ms
    counts verifiers and verifying examples with how many are enabledthe Pack design on the Pack contextpassed3.5 ms
    counts a verifying Spec of another kind as a verifier, never as an examplethe Pack design on the Pack contextpassed0.7 ms
    lists the boundary both ways, rows by id and members in authored orderthe Pack design on the Pack contextpassed1.42 ms
    keeps verification and supersession outside restedOnBy, ignoring anchored verifiersthe Pack design on the Pack contextpassed2.13 ms
    marks an outside Spec that carries the implementation factthe Pack design on the Pack contextpassed1.44 ms
    keeps an unresolved member's existing row and nothing morethe Pack design on the Pack contextpassed0.91 ms
    carries each Spec's location rows on its Spec context, sorted by entrythe Pack design on the Pack contextpassed1.61 ms
    is a pure function of the graph: two reads of one graph are equalthe Pack design on the Pack contextpassed3.34 ms
    joins many members to one outside Spec in one step each, members in authored orderthe Pack design on the Pack contextpassed936.04 ms
Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
Requirement drawing for spec:model.design-maturity
The diagram as text
  • spec:model.design-maturity: What a Spec's design carries is derived, beside its readiness · declared Spec
  • spec:model.core-model: The Protocol models delivery with one enrichable Spec · declared Spec
  • impl:protocol.pack-design: the Pack design helpers and the Pack context assembly they serve · anchored code · src/reader/reader.ts:499
  • test:protocol.pack-design: the Pack context carries each member's design and the Pack's boundary · anchored test binding · binding present · test/pack-design.test.ts:18
  • spec:model.design-maturity refines spec:model.core-model · declared
  • impl:protocol.pack-design satisfies spec:model.design-maturity · anchored
  • test:protocol.pack-design verifies spec:model.design-maturity · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.

Decisions

No decision record named.

Runtime
  • component:protocol.reader · the typed graph contract and body evaluator · src/reader/reader.ts:671 · layer application · context protocol

    Uses

    • component:protocol.graph · the one graph and its semantic decisions · src/graph/schema.ts:34 · layer domain · context protocol
    • component:protocol.model · the authored contracts and stable ids · src/model/anchors.ts:100 · layer domain · context protocol
    • component:protocol.notation · the leaf step codec · src/notation/slots.ts:261 · layer domain · context protocol
    • component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · layer domain · context protocol
  • impl:protocol.pack-design · the Pack design helpers and the Pack context assembly they serve · src/reader/reader.ts:499

    Component: component:protocol.reader · the typed graph contract and body evaluator · src/reader/reader.ts:671 · layer application · context protocol

    Uses

    None.

Runtime observation: not tracked.

Evidence

Runtime observation: not tracked.

Build attestations: not tracked.

Deployments: not tracked.

Bills of materials: not tracked.

Impact
Relations of spec:model.design-maturity
The diagram as text
  • spec:consumers.pack-design: The Pack context carries the Pack's design
  • spec:model.core-model: The Protocol models delivery with one enrichable Spec
  • spec:model.design-maturity: What a Spec's design carries is derived, beside its readiness
  • spec:model.design-maturity dependsOn spec:consumers.pack-design · declared
  • spec:model.design-maturity refines spec:model.core-model · declared
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.

Rests on

Rested on by

No Spec rests on this Spec.

Relations

Relation and directionOther endClaimReasonExercised keys
dependsOn · outgoingThe Pack context carries the Pack's design
spec:consumers.pack-design · resolves
declaredNoneNone
refines · outgoingThe Protocol models delivery with one enrichable Spec
spec:model.core-model · resolves
declaredNoneNone

Bindings

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

  • test:protocol.pack-design · the Pack context carries each member's design and the Pack's boundary · anchored · test/pack-design.test.ts:18 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

Composing (0)

Composing needs the script.