Spec Studio

Target floor failures do not propagate across dependencies

spec:validation.typed-dependency-floor.stated-readinessExample / 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/typed-dependency-floor.stated-readiness.sdp.md

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

Intent
outcome
Check the stated-readiness matrix through the readiness floor.
assumptions
  • The world first pairs four rule subjects stating ready with targets stating defined, one through each of refines, dependsOn, constrainedBy, and decidedBy. Each target carries the blocking open question "Is this fact settled?", derives scoped, and fails no-blocking-open-questions. Each subject still derives ready because the target clause reads stated readiness.
  • The world also pairs every subject kind, behavior, workflow, example, rule, constraint, model, decision, and contract, with each of refines, dependsOn, constrainedBy, decidedBy, verifies, and supersedes, and each target rung, idea, scoped, defined, and ready. These 192 subjects all state ready. These pairs have no blocking open questions. Every target in both groups resolves. constrainedBy targets are constraints, decidedBy and supersedes targets are decisions, and the other targets are rules.
  • All probes are story-altitude Specs with declared relations and an Intent outcome. Behavior, workflow, rule, and contract subjects carry a behavior rule; example subjects carry concrete Given, When, and Then steps; constraint subjects carry a statement and target; model subjects carry a term; decision subjects carry a written decision. Targets carry the same evidence for their kind. Each target declares dependsOn back to its subject. No anchors are present. The expected counts include only honesty/readiness-floor findings, not findings from other validators.
  • Every subject kind fails typed-dependency-targets-are-defined for idea and scoped targets across the four included relations. The defined and ready boundaries pass, and verifies and supersedes pass at every target rung. No target is missing.
Behavior

Examples

Given the typed dependency matrix {matrix: "stated-readiness"}
When the reader checks the readiness floor
Then the matrix reports {targetFailures: 64} target failures and {resolutionFailures: 0} resolution failures and {questionFailures: 4} blocking question failures
Verification

Verifier bindings

  • test:protocol.typed-dependency-floor.stated-readiness · verifies stated target readiness and kind blindness · anchored · test anchor binding present · test/self-hosting-typed-dependency.test.ts:334

    External run evidence from test/self-hosting-typed-dependency.test.ts

    Test anchors: test:protocol.typed-dependency-floor.missing-targets, test:protocol.typed-dependency-floor.relation-rungs, test:protocol.typed-dependency-floor.stated-readiness, test:protocol.typed-dependency-floor.unsettled-fact. Specs verified by those bindings: spec:validation.typed-dependency-floor, spec:validation.typed-dependency-floor.missing-targets, spec:validation.typed-dependency-floor.relation-rungs, spec:validation.typed-dependency-floor.stated-readiness, spec:validation.typed-dependency-floor.unsettled-fact.

    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 worldEvery relation reads the four stated target rungs (spec:validation.typed-dependency-floor.relation-rungs)passed19 ms
    executes the bound example against a fresh worldMissing targets fail relation resolution once (spec:validation.typed-dependency-floor.missing-targets)passed1.85 ms
    executes the bound example against a fresh worldAn unsettled constraint bounds ready but permits defined (spec:validation.typed-dependency-floor.unsettled-fact)passed1.36 ms
    executes the bound example against a fresh worldTarget floor failures do not propagate across dependencies (spec:validation.typed-dependency-floor.stated-readiness)passed43.6 ms
Design view

Requirement drawing

  • Satisfying or referencing units: no recorded binding.
Requirement drawing for spec:validation.typed-dependency-floor.stated-readiness
The diagram as text
  • spec:validation.typed-dependency-floor.stated-readiness: Target floor failures do not propagate across dependencies · declared Spec
  • spec:validation.typed-dependency-floor: A ready Spec rests only on settled dependencies · declared Spec
  • test:protocol.typed-dependency-floor.stated-readiness: verifies stated target readiness and kind blindness · anchored test binding · binding present · test/self-hosting-typed-dependency.test.ts:334
  • spec:validation.typed-dependency-floor.stated-readiness refines spec:validation.typed-dependency-floor · declared
  • spec:validation.typed-dependency-floor.stated-readiness verifies spec:validation.typed-dependency-floor · declared
  • test:protocol.typed-dependency-floor.stated-readiness verifies spec:validation.typed-dependency-floor.stated-readiness · 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.typed-dependency-floor.stated-readiness
  • E2: verifies · declared
The diagram as text
  • spec:validation.typed-dependency-floor: A ready Spec rests only on settled dependencies
  • spec:validation.typed-dependency-floor.stated-readiness: Target floor failures do not propagate across dependencies
  • spec:validation.typed-dependency-floor.stated-readiness refines spec:validation.typed-dependency-floor · declared
  • spec:validation.typed-dependency-floor.stated-readiness verifies spec:validation.typed-dependency-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 · outgoingA ready Spec rests only on settled dependencies
spec:validation.typed-dependency-floor · resolves
declaredNoneNone
verifies · outgoingA ready Spec rests only on settled dependencies
spec:validation.typed-dependency-floor · resolves
declaredNoneNone

Bindings

Implementation binding: none

Design reference: none

Verifier binding: present

  • test:protocol.typed-dependency-floor.stated-readiness · verifies stated target readiness and kind blindness · anchored · test/self-hosting-typed-dependency.test.ts:334 · 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.