Spec Studio

An owner's blocking question lists the Specs it holds

spec:consumers.readiness-planner.owner-question-holdsExample / Scenario · storyready floor ready

Packs: pack:adopter-speed-v1, pack:self-hosting-v1

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

Findings: no errors, no warnings

specs/consumers/readiness-planner.owner-question-holds.sdp.md

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

Intent
outcome
Execute the owner's-question list on a blocking question that holds its own Spec and a Spec depending on it.
assumptions
  • The world writes a probe corpus of two story-altitude behavior Specs, each with an Intent outcome and one rule. The subject states scoped, carries one blocking open question whose decider is owner, and refines the dependent; the dependent states defined and declares dependsOn on the subject. Neither floor reaches above its stated rung, so the queue is empty. The Specs carry the ids the list names, and the world reads the queue as the dependency-order example does, the held Specs being the one listed question's holds.
Behavior

Examples

Given a probe corpus in which {corpus: "a Spec carries a blocking question its owner decides and another Spec depends on it"}
When the statement queue runs over the probe corpus
Then the queue lists {queue: ""} in that order
Then the owner's questions hold {held: "spec:probe.subject, spec:probe.dependent"}
Verification

Verifier bindings

  • test:protocol.readiness-planner.owner-question-holds · anchored · test anchor binding present · test/self-hosting-readiness-planner.test.ts:252

    External run evidence from test/self-hosting-readiness-planner.test.ts

    Test anchors: test:protocol.readiness-planner.cycle-shares-a-round, test:protocol.readiness-planner.decision-first, test:protocol.readiness-planner.dependency-order, test:protocol.readiness-planner.owner-question-holds. Specs verified by those bindings: spec:consumers.readiness-planner, spec:consumers.readiness-planner.cycle-shares-a-round, spec:consumers.readiness-planner.decision-first, spec:consumers.readiness-planner.dependency-order, spec:consumers.readiness-planner.owner-question-holds.

    Run 1: external run evidence from vitest 4.1.10

    Build: CI 391 · Branch: cursor/media-plan-and-articles-09b1 · Commit: 076cd4f1f85640d8236e5cca1bffffa68ab79a33 · Start: 2026-10-31T15:32:20.471Z · Stop: 2026-10-31T15:34:02.073Z

    NameSuiteResultDuration
    executes the bound example against a fresh worldThe Spec another rests on comes first in the queue (spec:consumers.readiness-planner.dependency-order)passed28.37 ms
    executes the bound example against a fresh worldA waiting decision comes before the Spec it shapes (spec:consumers.readiness-planner.decision-first)passed5.84 ms
    executes the bound example against a fresh worldWaiting Specs that rest on each other share a round and report a cycle (spec:consumers.readiness-planner.cycle-shares-a-round)passed4.2 ms
    executes the bound example against a fresh worldAn owner's blocking question lists the Specs it holds (spec:consumers.readiness-planner.owner-question-holds)passed4.25 ms
    diagnoses invalid decider nullstatement queue detailspassed7.23 ms
    diagnoses invalid decider falsestatement queue detailspassed4.92 ms
    diagnoses invalid decider 1statement queue detailspassed3.28 ms
    diagnoses invalid decider ""statement queue detailspassed2.82 ms
    diagnoses invalid decider "Owner"statement queue detailspassed10.22 ms
    diagnoses invalid decider "two words"statement queue detailspassed3.6 ms
    diagnoses invalid decider "with_underscore"statement queue detailspassed2.3 ms
    orders SCCs by longest dependency chain, ignores non-ordering and self edges, and sorts ids by code unitstatement queue detailspassed5.7 ms
    yields refines to the reverse dependsOn relationstatement queue detailspassed2.38 ms
    yields refines to the reverse constrainedBy relationstatement queue detailspassed2.54 ms
    yields refines to the reverse decidedBy relationstatement queue detailspassed1.85 ms
    chooses a shortest cycle path before breaking ties by target idstatement queue detailspassed4 ms
    selects every higher floor, ignores lower or equal floors, and orders only direct waiting linksstatement queue detailspassed3.06 ms
    selects questions, counts undecided ones, and holds direct typed dependents by stated rungstatement queue detailspassed4.51 ms
Design view

Requirement drawing

  • Satisfying or referencing units: no recorded binding.
Requirement drawing for spec:consumers.readiness-planner.owner-question-holds
The diagram as text
  • spec:consumers.readiness-planner.owner-question-holds: An owner's blocking question lists the Specs it holds · declared Spec
  • spec:consumers.readiness-planner: The readiness planner orders the statements a person can make · declared Spec
  • test:protocol.readiness-planner.owner-question-holds: test:protocol.readiness-planner.owner-question-holds · anchored test binding · binding present · test/self-hosting-readiness-planner.test.ts:252
  • spec:consumers.readiness-planner.owner-question-holds refines spec:consumers.readiness-planner · declared
  • spec:consumers.readiness-planner.owner-question-holds verifies spec:consumers.readiness-planner · declared
  • test:protocol.readiness-planner.owner-question-holds verifies spec:consumers.readiness-planner.owner-question-holds · 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:consumers.readiness-planner.owner-question-holds
  • E2: verifies · declared
The diagram as text
  • spec:consumers.readiness-planner: The readiness planner orders the statements a person can make
  • spec:consumers.readiness-planner.owner-question-holds: An owner's blocking question lists the Specs it holds
  • spec:consumers.readiness-planner.owner-question-holds refines spec:consumers.readiness-planner · declared
  • spec:consumers.readiness-planner.owner-question-holds verifies spec:consumers.readiness-planner · 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 · outgoingThe readiness planner orders the statements a person can make
spec:consumers.readiness-planner · resolves
declaredNoneNone
verifies · outgoingThe readiness planner orders the statements a person can make
spec:consumers.readiness-planner · resolves
declaredNoneownerQuestions, waiting

Bindings

Implementation binding: none

Design reference: none

Verifier binding: present

  • test:protocol.readiness-planner.owner-question-holds · anchored · test/self-hosting-readiness-planner.test.ts:252 · 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.