Spec Studio

A manifest's member order survives into the graph and the reader

spec:extraction.pack-member-order.manifest-order-keptExample / Scenario · storyready floor ready

Packs: pack:self-hosting-v1

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

Findings: no errors, no warnings

specs/extraction/pack-member-order.manifest-order-kept.sdp.md

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

Intent
outcome
Execute the member order rule on a manifest whose authored order is not id order.
assumptions
  • The world writes one Markdown Pack manifest and three member Specs in one extraction root. Each member is a story-altitude behavior Spec stating idea with an Intent outcome and no relations. Lists are written as ids joined by a comma and a space.
Behavior

Examples

Given a Markdown Pack manifest whose specs list reads {manifestOrder: "spec:probe.zeta, spec:probe.alpha, spec:probe.mid"}
When the graph is derived and serialized
Then the serialized Pack node lists the members {serializedMembers: "spec:probe.zeta, spec:probe.alpha, spec:probe.mid"}
Then the serialized belongsTo edges run from {edgeSources: "spec:probe.alpha, spec:probe.mid, spec:probe.zeta"}
Then the reader's Pack context lists the members {readerMembers: "spec:probe.zeta, spec:probe.alpha, spec:probe.mid"}
Verification

Verifier bindings

  • test:protocol.pack-member-order · verifies manifest order in the graph, reader and Pack page · anchored · test anchor binding present · test/self-hosting-pack-member-order.test.ts:108

    External run evidence from test/self-hosting-pack-member-order.test.ts

    Test anchors: test:protocol.pack-member-order. Specs verified by those bindings: spec:extraction.pack-member-order, spec:extraction.pack-member-order.manifest-order-kept.

    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
    executes the bound example against a fresh worldA manifest's member order survives into the graph and the reader (spec:extraction.pack-member-order.manifest-order-kept)passed25.09 ms
    keeps repeated members in the graph, reader, member table and gap listPack member orderpassed32.45 ms
    carries an empty members list for an empty manifestPack member orderpassed2.94 ms
    derives empty members when specs is undefinedPack member orderpassed0.39 ms
    derives empty members when specs is not an arrayPack member orderpassed0.32 ms
    serializes framing, file, members and modelRefs in the ruled field orderPack member orderpassed0.28 ms
Design view

Requirement drawing

  • Satisfying or referencing units: no recorded binding.
Requirement drawing for spec:extraction.pack-member-order.manifest-order-kept
The diagram as text
  • spec:extraction.pack-member-order.manifest-order-kept: A manifest's member order survives into the graph and the reader · declared Spec
  • spec:extraction.pack-member-order: A Pack node keeps its members in authored order · declared Spec
  • test:protocol.pack-member-order: verifies manifest order in the graph, reader and Pack page · anchored test binding · binding present · test/self-hosting-pack-member-order.test.ts:108
  • spec:extraction.pack-member-order.manifest-order-kept refines spec:extraction.pack-member-order · declared
  • spec:extraction.pack-member-order.manifest-order-kept verifies spec:extraction.pack-member-order · declared
  • test:protocol.pack-member-order verifies spec:extraction.pack-member-order.manifest-order-kept · 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

No implementation neighborhood recorded.

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:extraction.pack-member-order.manifest-order-kept
  • E2: verifies · declared
The diagram as text
  • spec:extraction.pack-member-order: A Pack node keeps its members in authored order
  • spec:extraction.pack-member-order.manifest-order-kept: A manifest's member order survives into the graph and the reader
  • spec:extraction.pack-member-order.manifest-order-kept refines spec:extraction.pack-member-order · declared
  • spec:extraction.pack-member-order.manifest-order-kept verifies spec:extraction.pack-member-order · 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
refines · outgoingA Pack node keeps its members in authored order
spec:extraction.pack-member-order · resolves
declaredNoneNone
verifies · outgoingA Pack node keeps its members in authored order
spec:extraction.pack-member-order · resolves
declaredNoneauthoredMembers

Bindings

Implementation binding: none

Design reference: none

Verifier binding: present

  • test:protocol.pack-member-order · verifies manifest order in the graph, reader and Pack page · anchored · test/self-hosting-pack-member-order.test.ts:108 · 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.