Spec Studio

An unsettled constraint bounds ready but permits defined

spec:validation.typed-dependency-floor.unsettled-factExample / 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.unsettled-fact.sdp.md

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

Intent
outcome
Check the unsettled-fact matrix through the readiness floor.
assumptions
  • The world has three rule subjects, each declaring constrainedBy on its own resolving constraint target. The first subject states defined and its target states scoped; the second subject states ready and its target states scoped; the third subject states defined and its target states defined. Each target carries the blocking open question "Is this fact settled?". The subjects have no blocking open questions.
  • All probes are story-altitude Specs with declared relations and an Intent outcome. Each rule subject carries a behavior rule, and each constraint target carries a statement and target. Each resolving 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.
  • All three targets derive scoped. The first subject lawfully states defined; the second fails typed-dependency-targets-are-defined; the third target alone fails no-blocking-open-questions for stating defined. Both subjects with scoped targets derive defined, while the third derives ready because the target clause reads the target's stated rung. No target is missing.
Behavior

Examples

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

Verifier bindings

  • test:protocol.typed-dependency-floor.unsettled-fact · verifies blocking questions and bounded readiness · anchored · test anchor binding present · test/self-hosting-typed-dependency.test.ts:327

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

Requirement drawing

  • Satisfying or referencing units: no recorded binding.
Requirement drawing for spec:validation.typed-dependency-floor.unsettled-fact
The diagram as text
  • spec:validation.typed-dependency-floor.unsettled-fact: An unsettled constraint bounds ready but permits defined · declared Spec
  • spec:validation.typed-dependency-floor: A ready Spec rests only on settled dependencies · declared Spec
  • test:protocol.typed-dependency-floor.unsettled-fact: verifies blocking questions and bounded readiness · anchored test binding · binding present · test/self-hosting-typed-dependency.test.ts:327
  • spec:validation.typed-dependency-floor.unsettled-fact refines spec:validation.typed-dependency-floor · declared
  • spec:validation.typed-dependency-floor.unsettled-fact verifies spec:validation.typed-dependency-floor · declared
  • test:protocol.typed-dependency-floor.unsettled-fact verifies spec:validation.typed-dependency-floor.unsettled-fact · 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.unsettled-fact
  • 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.unsettled-fact: An unsettled constraint bounds ready but permits defined
  • spec:validation.typed-dependency-floor.unsettled-fact refines spec:validation.typed-dependency-floor · declared
  • spec:validation.typed-dependency-floor.unsettled-fact 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.unsettled-fact · verifies blocking questions and bounded readiness · anchored · test/self-hosting-typed-dependency.test.ts:327 · 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.