Spec Studio

A scoped Spec held by a blocking question is told the clause

spec:validation.next-rung-floor.blocking-questionExample / Scenario · storyready floor ready

Packs: pack:self-hosting-v1

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

Findings: no errors, no warnings

specs/validation/next-rung-floor.blocking-question.sdp.md

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

Intent
outcome
Execute the next rung's evidence on a Spec whose defined floor fails on a blocking open question, where the failure names no target.
assumptions
  • The world holds two story-altitude rule Specs with an Intent outcome and one rule each. The subject declares one refines on the other, its parent, which states ready, and records one blocking open question. No anchor is present. A failure with no targets is written as an empty string.
Behavior

Examples

Given the graph holds a rule spec {specId: "spec:probe.held"} stating readiness {statedReadiness: "scoped"}
Given the spec {structure: "records a blocking open question"}
When the reader builds the spec's context
Then the floor reached is {floorReached: "scoped"} and the next rung is {nextRung: "defined"}
Then the next rung's first unmet clause is {clauseId: "no-blocking-open-questions"}
Then that failure names the targets {targets: ""}
Then the stated rung's floor failures number {currentFailures: 0}
Verification

Verifier bindings

  • test:protocol.next-rung-floor.blocking-question · verifies the next rung's failure names a blocking question and no target · anchored · test anchor binding present · test/self-hosting-next-rung-floor.test.ts:248

    External run evidence from test/self-hosting-next-rung-floor.test.ts

    Test anchors: test:protocol.next-rung-floor.blocking-question, test:protocol.next-rung-floor.typed-dependency-targets. Specs verified by those bindings: spec:validation.next-rung-floor, spec:validation.next-rung-floor.blocking-question, spec:validation.next-rung-floor.typed-dependency-targets.

    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 defined Spec resting on a scoped dependency is told which one (spec:validation.next-rung-floor.typed-dependency-targets)passed7.51 ms
    executes the bound example against a fresh worldA scoped Spec held by a blocking question is told the clause (spec:validation.next-rung-floor.blocking-question)passed1.05 ms
Design view

Requirement drawing

  • Satisfying or referencing units: no recorded binding.
Requirement drawing for spec:validation.next-rung-floor.blocking-question
The diagram as text
  • spec:validation.next-rung-floor.blocking-question: A scoped Spec held by a blocking question is told the clause · declared Spec
  • spec:validation.next-rung-floor: The floor names what blocks the floor's next rung · declared Spec
  • test:protocol.next-rung-floor.blocking-question: verifies the next rung's failure names a blocking question and no target · anchored test binding · binding present · test/self-hosting-next-rung-floor.test.ts:248
  • spec:validation.next-rung-floor.blocking-question refines spec:validation.next-rung-floor · declared
  • spec:validation.next-rung-floor.blocking-question verifies spec:validation.next-rung-floor · declared
  • test:protocol.next-rung-floor.blocking-question verifies spec:validation.next-rung-floor.blocking-question · 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:validation.next-rung-floor.blocking-question
  • E2: verifies · declared
The diagram as text
  • spec:validation.next-rung-floor: The floor names what blocks the floor's next rung
  • spec:validation.next-rung-floor.blocking-question: A scoped Spec held by a blocking question is told the clause
  • spec:validation.next-rung-floor.blocking-question refines spec:validation.next-rung-floor · declared
  • spec:validation.next-rung-floor.blocking-question verifies spec:validation.next-rung-floor · 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 floor names what blocks the floor's next rung
spec:validation.next-rung-floor · resolves
declaredNoneNone
verifies · outgoingThe floor names what blocks the floor's next rung
spec:validation.next-rung-floor · resolves
declaredNoneNone

Bindings

Implementation binding: none

Design reference: none

Verifier binding: present

  • test:protocol.next-rung-floor.blocking-question · verifies the next rung's failure names a blocking question and no target · anchored · test/self-hosting-next-rung-floor.test.ts:248 · 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.