Spec Studio

A Pack page shows where the Pack's design stands

spec:consumers.design-review.pack-design-pageUse Case / Behavior · storyready floor ready

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

Design: no design entries · no pinned declarations · 1 decision

Findings: no errors, no warnings

specs/consumers/design-review.pack-design-page.sdp.md

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

Intent
outcome
Render a Pack's design assembly as one deterministic Markdown page a reviewer reads before a design pass, between iterations and before stating readiness.
Behavior
rule line 21 · specs/consumers/design-review.pack-design-page.sdp.md:21
The page keeps its title line, framing and vocabulary references, then renders, in this order: the member table, what holds each member below its stated next rung, the Pack's boundary, the open questions, the code, the verifier coverage gaps, and the findings.
rule line 22 · specs/consumers/design-review.pack-design-page.sdp.md:22
The member table has one row per member in authored order: the linked Spec with its position from 1 and its title, kind, altitude, stated rung, floor reached, the stated next rung with nothing blocks when its unmet clauses are empty and the first unmet clause otherwise, the design columns as counts (entries, declarations, questions with the blocking count), the decisions it names, and the implementation and verifier binding columns with the present and none values spec:consumers.binding-language-views#rule.aggregateColumns fixes for every aggregate table, beside a design-reference column that reads present when a code unit references the member and none otherwise. Unit counts stay off the table, which offers existence and never a degree. An unresolved member keeps a row that says so, and the later sections skip it, because the graph holds none of its data.
rule line 23 · specs/consumers/design-review.pack-design-page.sdp.md:23
The section for the stated next rung lists each member with unmet clauses at its stated next rung, every clause with the targets it names and their stated rungs. A member whose floor already holds its stated next rung is listed apart as waiting for its author's statement, which the page never presents as approval.
rule line 24 · specs/consumers/design-review.pack-design-page.sdp.md:24
The boundary section lists, in order, Rests on, Rested on by, Verified by and Superseded by, from restsOn, restedOnBy, verifiedBy and supersededBy. Each empty list reads None.; otherwise a table gives each row with the linked Spec, its stated rung, its implementation binding, present or none, and the members it joins under each relation type.
rule line 25 · specs/consumers/design-review.pack-design-page.sdp.md:25
The open-questions section groups questions by member in authored order. Each question shows its blocking flag, its entry address when it carries a key, its text, and a link to its line in the carrier file when the location table records one.
rule line 26 · specs/consumers/design-review.pack-design-page.sdp.md:26
The code section lists, per member, each realizing and each referencing unit with its id, a link to its file and line, its role, and its component with that component's layer and context, under the binding-language headings the Design Review already uses. A member with no unit says so in one line.
rule line 27 · specs/consumers/design-review.pack-design-page.sdp.md:27
A line link is a relative link from the page to the carrier or source file with a #L<line> fragment, encoded as spec:consumers.design-review#rule.linkTargets states.

7 unkeyed rules.

Verification

Verifier bindings

  • test:protocol.pack-design-page · the Pack page renders the Pack design in its fixed order · anchored · test anchor binding present · test/design-review-pack-page.test.ts:8

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

    Test anchors: test:protocol.pack-design-page. Specs verified by those bindings: spec:consumers.design-review.pack-design-page.

    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 title line, framing and vocabulary, then renders the sections in orderthe Design Review's Pack page presents the Pack designpassed20.45 ms
    numbers one member row from 1 in authored order, with design columns and binding columnsthe Design Review's Pack page presents the Pack designpassed10.78 ms
    lists what holds each member below its stated next rung, and apart, the members that wait for their authorthe Design Review's Pack page presents the Pack designpassed9 ms
    renders the boundary as four lists, each row with its rung, its binding and the members it joinsthe Design Review's Pack page presents the Pack designpassed4.13 ms
    renders outside superseding decisions apart from Specs that rest on membersthe Design Review's Pack page presents the Pack designpassed4.24 ms
    groups questions by member with their flag, address, escaped text and a line linkthe Design Review's Pack page presents the Pack designpassed5.61 ms
    lists each member's realizing and referencing units with a line link, role and componentthe Design Review's Pack page presents the Pack designpassed4.59 ms
    percent-encodes each path segment of a line link and escapes brackets in its labelthe Design Review's Pack page presents the Pack designpassed3.26 ms
    keeps a multiline title, question or label inside its heading or list itemthe Design Review's Pack page presents the Pack designpassed4.19 ms
    speaks binding language: no delivery-fact name renders as textthe Design Review's Pack page presents the Pack designpassed3.81 ms
    renders byte-identical pages from two freshly derived graphs, with no time or committhe Design Review's Pack page presents the Pack designpassed7.72 ms
    says so in one line where a section has nothing to showthe Design Review's Pack page presents the Pack designpassed0.93 ms
Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
Requirement drawing for spec:consumers.design-review.pack-design-page
The diagram as text
  • spec:consumers.design-review.pack-design-page: A Pack page shows where the Pack's design stands · declared Spec
  • spec:decisions.pack-design-page: The Design Review's Pack page presents the Pack's design · declared Spec
  • spec:consumers.design-review: Design Review renders graph context without becoming a gate · declared Spec
  • spec:decisions.shipped-projections-frozen: The shipped projections stay frozen · declared Spec
  • impl:protocol.pack-design-page: renders the Pack page from the Pack design · anchored code · src/projections/design-review-pages.ts:120
  • impl:protocol.pack-design-sections: renders the Pack page's next-rung, boundary, question and code sections · anchored code · src/projections/design-review-pack-sections.ts:19
  • test:protocol.pack-design-page: the Pack page renders the Pack design in its fixed order · anchored test binding · binding present · test/design-review-pack-page.test.ts:8
  • spec:consumers.design-review.pack-design-page refines spec:consumers.design-review · declared
  • spec:decisions.pack-design-page refines spec:consumers.design-review.pack-design-page · declared
  • spec:decisions.pack-design-page refines spec:decisions.shipped-projections-frozen · declared — carves out the Pack page, which renders the Pack design
  • impl:protocol.pack-design-page satisfies spec:consumers.design-review.pack-design-page · anchored
  • impl:protocol.pack-design-page references spec:decisions.pack-design-page · anchored
  • impl:protocol.pack-design-sections references spec:consumers.design-review.pack-design-page · anchored
  • test:protocol.pack-design-page verifies spec:consumers.design-review.pack-design-page · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred syntax: requirementDiagram. Chosen syntax: flowchart TB because references require exact labels unavailable in requirement syntax.

Decisions

  • The Design Review's Pack page presents the Pack's design

    The Design Review's Pack page renders the Pack design that spec:consumers.pack-design assembles: a member table in authored order with each member's stated rung, floor reached, the rung above the stated rung with the clause that holds it there, its design columns and its bindings; a section naming what holds each member below its stated next rung; the Specs outside the Pack that members rest on and that rest on members; each member's open questions with their entry addresses and source lines; and each member's realizing and referencing code units with their roles and their components' layers and contexts. The verifier gaps and findings stay. The freeze on the four shipped projections stands for everything else, the Spec page and the index included.

Runtime
  • component:protocol.projections · read-only output, layout and owned publication · src/projections/design-review.ts:29 · layer edge · context protocol

    Uses

    • component:protocol.extract · the carrier and source pipeline · src/extract/index.ts:192 · layer application · context protocol
    • 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.reader · the typed graph contract and body evaluator · src/reader/reader.ts:671 · layer application · context protocol
    • component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · layer domain · context protocol
  • impl:protocol.pack-design-page · renders the Pack page from the Pack design · src/projections/design-review-pages.ts:120

    Component: component:protocol.projections · read-only output, layout and owned publication · src/projections/design-review.ts:29 · layer edge · 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:consumers.design-review.pack-design-page
The diagram as text
  • spec:consumers.binding-language-views: Views speak binding language, never the internal fact name
  • spec:consumers.derived-readiness-banner: Derived readiness renders beside the stated rung and warns in one direction
  • spec:consumers.design-review: Design Review renders graph context without becoming a gate
  • spec:consumers.design-review.pack-design-page: A Pack page shows where the Pack's design stands
  • spec:consumers.pack-design: The Pack context carries the Pack's design
  • spec:decisions.pack-design-page: The Design Review's Pack page presents the Pack's design
  • spec:consumers.design-review.pack-design-page decidedBy spec:decisions.pack-design-page · declared
  • spec:consumers.design-review.pack-design-page dependsOn spec:consumers.binding-language-views · declared
  • spec:consumers.design-review.pack-design-page dependsOn spec:consumers.derived-readiness-banner · declared — the member table renders the stated rung and floor reached as this rule specifies
  • spec:consumers.design-review.pack-design-page dependsOn spec:consumers.pack-design · declared
  • spec:consumers.design-review.pack-design-page refines spec:consumers.design-review · declared
  • spec:decisions.pack-design-page refines spec:consumers.design-review.pack-design-page · 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

Distance 1

Relations

Relation and directionOther endClaimReasonExercised keys
decidedBy · outgoingThe Design Review's Pack page presents the Pack's design
spec:decisions.pack-design-page · resolves
declaredNoneNone
dependsOn · outgoingViews speak binding language, never the internal fact name
spec:consumers.binding-language-views · resolves
declaredNoneNone
dependsOn · outgoingDerived readiness renders beside the stated rung and warns in one direction
spec:consumers.derived-readiness-banner · resolves
declaredthe member table renders the stated rung and floor reached as this rule specifiesNone
dependsOn · outgoingThe Pack context carries the Pack's design
spec:consumers.pack-design · resolves
declaredNoneNone
refines · outgoingDesign Review renders graph context without becoming a gate
spec:consumers.design-review · resolves
declaredNoneNone
refines · incomingThe Design Review's Pack page presents the Pack's design
spec:decisions.pack-design-page · resolves
declaredNoneNone

Bindings

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

  • test:protocol.pack-design-page · the Pack page renders the Pack design in its fixed order · anchored · test/design-review-pack-page.test.ts:8 · 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.