outcomedefined and whose ready floor fails on one dependency.spec:validation.next-rung-floor.typed-dependency-targetsPacks: pack:self-hosting-v1
Design: no design entries · no pinned declarations · no decisions
Findings: no errors, no warnings
specs/validation/next-rung-floor.typed-dependency-targets.sdp.md
No open questions and no blocking questions; implementation binding none, verifier binding present, and expected-outcome oracle none.
Given
the graph holds a rule spec {specId: "spec:probe.subject"} stating readiness {statedReadiness: "defined"}
the spec {structure: "depends on a spec stating scoped"}When
the reader builds the spec's context
Then
the floor reached is {floorReached: "defined"} and the next rung is {nextRung: "ready"}
the next rung's first unmet clause is {clauseId: "typed-dependency-targets-are-defined"}
that failure names the targets {targets: "dependsOn spec:probe.basis (scoped)"}
the stated rung's floor failures number {currentFailures: 0}Composing needs the script.
outcomedefined and whose ready floor fails on one dependency.assumptionsdependsOn on the basis Spec named in the targets, which states scoped and declares refines on a third Spec stating idea. No Spec records an open question and no anchor is present. A target is written as its relation type, its id, and its stated rung in parentheses.Given the graph holds a rule spec {specId: "spec:probe.subject"} stating readiness {statedReadiness: "defined"}
Given the spec {structure: "depends on a spec stating scoped"}
When the reader builds the spec's context
Then the floor reached is {floorReached: "defined"} and the next rung is {nextRung: "ready"}
Then the next rung's first unmet clause is {clauseId: "typed-dependency-targets-are-defined"}
Then that failure names the targets {targets: "dependsOn spec:probe.basis (scoped)"}
Then the stated rung's floor failures number {currentFailures: 0}test/self-hosting-next-rung-floor.test.ts:234test/self-hosting-next-rung-floor.test.tsTest 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.
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 | A defined Spec resting on a scoped dependency is told which one (spec:validation.next-rung-floor.typed-dependency-targets) | passed | 7.51 ms |
| executes the bound example against a fresh world | A scoped Spec held by a blocking question is told the clause (spec:validation.next-rung-floor.blocking-question) | passed | 1.05 ms |
test/self-hosting-next-rung-floor.test.ts:234Copyable 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.
No decision record named.
No implementation neighborhood recorded.
Runtime observation: not tracked.
Runtime observation: not tracked.
Build attestations: not tracked.
Deployments: not tracked.
Bills of materials: not tracked.
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
No Spec rests on this Spec.
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| refines · outgoing | The floor names what blocks the floor's next rungspec:validation.next-rung-floor · resolves | declared | None | None |
| verifies · outgoing | The floor names what blocks the floor's next rungspec:validation.next-rung-floor · resolves | declared | None | None |
test/self-hosting-next-rung-floor.test.ts:234Runtime observation: not tracked.
Run results: not recorded in the graph.
None.
Composing needs the script.