outcomeThe owner queue lists a waiting statement after the one it rests on
spec:consumers.spec-studio.owner-queue.dependency-firstPacks: pack:self-hosting-v1, pack:spec-studio-v1
Design: no design entries · no pinned declarations · no decisions
Findings: no errors, no warnings
specs/consumers/spec-studio.owner-queue.dependency-first.sdp.md
No open questions and no blocking questions; implementation binding none, verifier binding present, and expected-outcome oracle none.
Given
a Spec {dependent: "spec:probe.alpha"} that waits for a statement its floor allows and rests on a Spec {dependency: "spec:probe.zeta"} that waits for one tooWhen
the build renders the owner queue page
Then
the queue lists {first: "spec:probe.zeta"} first
the row of the Spec that rests on the other links it: {linked: true}Composing needs the script.
Intent
- Execute the queue's order: a waiting statement that rests on another waiting statement comes after it, whatever their id order, and links it.
assumptions- The world writes a root where both Specs state
scopedwhile their floors allow a higher rung, and the first declaresdependsOnon the second; it builds the page set and reads the queue's statement rows in order.
- The world writes a root where both Specs state
Behavior
Examples
Given a Spec {dependent: "spec:probe.alpha"} that waits for a statement its floor allows and rests on a Spec {dependency: "spec:probe.zeta"} that waits for one too
When the build renders the owner queue page
Then the queue lists {first: "spec:probe.zeta"} first
Then the row of the Spec that rests on the other links it: {linked: true}Verification
Verifier bindings
- test:protocol.studio-queue-dependency-first · anchored · test anchor binding present ·
test/studio-s3.test.ts:142External run evidence from
test/studio-s3.test.tsTest anchors:
test:protocol.studio-diff-changed-entry,test:protocol.studio-glossary-same-word-twice,test:protocol.studio-navigation,test:protocol.studio-queue-dependency-first,test:protocol.studio-registers-blocking-first. Specs verified by those bindings: spec:consumers.spec-studio.diff-page, spec:consumers.spec-studio.diff-page.changed-entry, spec:consumers.spec-studio.glossary-page, spec:consumers.spec-studio.glossary-page.same-word-twice, spec:consumers.spec-studio.navigation, spec:consumers.spec-studio.owner-queue, spec:consumers.spec-studio.owner-queue.dependency-first, spec:consumers.spec-studio.registers, spec:consumers.spec-studio.registers.blocking-first.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
Name Suite Result Duration executes the bound example against a fresh world The questions page lists the Specs with a blocking question first (spec:consumers.spec-studio.registers.blocking-first) passed 37.62 ms executes the bound example against a fresh world The owner queue lists a waiting statement after the one it rests on (spec:consumers.spec-studio.owner-queue.dependency-first) passed 24.75 ms executes the bound example against a fresh world The diff page shows a changed entry's base and built values (spec:consumers.spec-studio.diff-page.changed-entry) passed 22.28 ms executes the bound example against a fresh world A word two Specs define appears once per Spec on the glossary page (spec:consumers.spec-studio.glossary-page.same-word-twice) passed 11.45 ms renders declaration citations, decision reasons and design backlog from the shipped answers Studio register pages passed 39.22 ms reaches each page in order, marks it current and omits every diff reference without a base Studio register pages passed 6.54 ms refuses malformed base flags and unreadable JSON before extraction Studio register pages passed 1.23 ms refuses a base in generated output before writing through graph Studio base comparison passed 15.97 ms refuses a base in generated output before writing through nested Studio base comparison passed 28 ms refuses a base in generated output before writing through file alias Studio base comparison passed 15.08 ms refuses a base in generated output before writing through root alias Studio base comparison passed 6.55 ms refuses a base in generated output before writing through input alias Studio base comparison passed 9.33 ms renders only existing sides for added and removed entries and one value for moved entries Studio base comparison passed 12.09 ms shows per-Pack diagnostics without no-change claims for invalid graph Studio base comparison passed 18.4 ms shows per-Pack diagnostics without no-change claims for different schema Studio base comparison passed 16.77 ms keeps additions, removals, Pack order and anchor bindings apart and escapes compared values Studio base comparison passed 30.65 ms shows unreadable graph values as the recipe's diagnostics on the named diff page Studio base comparison passed 3.27 ms leaves the base file unchanged and certifies repeat publication with the same input Studio base comparison passed 39.36 ms keeps a cycle's round separate from statements that rest on nothing, and lists owner holds Studio base comparison passed 11.47 ms sorts terms without locale collation and keeps non-letter headings addressable Studio base comparison passed 5.22 ms orders queue floor options by rung and carries the Pack and floor on each row Studio base comparison passed 19.62 ms uses authored term keys and orders duplicate terms by Spec id Studio base comparison passed 5.83 ms reads each owner question's provisional reading from its reader Spec and key not recorded passed 7.54 ms renders a keying proposal as one line per keyed entry and readable changed rule text not recorded passed 7.28 ms lists keyed lines in head rule order with rendered text for added, renamed and removed keys not recorded passed 15.17 ms counts keyed rules apart from changed parts, mixed changes: false not recorded passed 6.13 ms counts keyed rules apart from changed parts, mixed changes: true not recorded passed 5.87 ms names one keyed rule in the singular not recorded passed 11.75 ms marks only members with exclusively keyed changes as keyed only not recorded passed 16.34 ms renders changed list values as lists instead of raw JSON arrays not recorded passed 5.82 ms retains the owning list when readable rule text moves to a flow not recorded passed 5.4 ms
Design view
Requirement drawing
- Satisfying or referencing units: no recorded binding.
The diagram as text
- spec:consumers.spec-studio.owner-queue.dependency-first: The owner queue lists a waiting statement after the one it rests on · declared Spec
- spec:consumers.spec-studio.owner-queue: The owner queue page orders the statements and questions only a person can settle · declared Spec
- test:protocol.studio-queue-dependency-first: test:protocol.studio-queue-dependency-first · anchored test binding · binding present ·
test/studio-s3.test.ts:142 - spec:consumers.spec-studio.owner-queue.dependency-first refines spec:consumers.spec-studio.owner-queue · declared
- spec:consumers.spec-studio.owner-queue.dependency-first verifies spec:consumers.spec-studio.owner-queue · declared
- test:protocol.studio-queue-dependency-first verifies spec:consumers.spec-studio.owner-queue.dependency-first · 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
- E2: verifies · declared
The diagram as text
- spec:consumers.spec-studio.owner-queue: The owner queue page orders the statements and questions only a person can settle
- spec:consumers.spec-studio.owner-queue.dependency-first: The owner queue lists a waiting statement after the one it rests on
- spec:consumers.spec-studio.owner-queue.dependency-first refines spec:consumers.spec-studio.owner-queue · declared
- spec:consumers.spec-studio.owner-queue.dependency-first verifies spec:consumers.spec-studio.owner-queue · 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
- refines · spec:consumers.spec-studio.owner-queue · stated ready, floor ready
Rested on by
No Spec rests on this Spec.
Relations
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| refines · outgoing | The owner queue page orders the statements and questions only a person can settlespec:consumers.spec-studio.owner-queue · resolves | declared | None | None |
| verifies · outgoing | The owner queue page orders the statements and questions only a person can settlespec:consumers.spec-studio.owner-queue · resolves | declared | None | waitingStatements |
Bindings
Implementation binding: none
Design reference: none
Verifier binding: present
- test:protocol.studio-queue-dependency-first · anchored ·
test/studio-s3.test.ts:142· 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.