outcomeidea.spec:validation.superseded-decision-signal.replacement-below-ready-namedPacks: pack:self-hosting-v1
Design: no design entries · no pinned declarations · no decisions
Findings: no errors, no warnings
specs/validation/superseded-decision-signal.replacement-below-ready-named.sdp.md
No open questions and no blocking questions; implementation binding none, verifier binding present, and expected-outcome oracle none.
Given
a {subject: "live Spec"} names the probe decision through {relation: "decidedBy"}
the probe decision is replaced by {replacement: "one decision"}
every replacing decision states {replacementRung: "idea"}When
the graph is validated
Then
the report holds {warnings: 1} superseded-decision warnings
the warnings name {named: "spec:probe.decision-b"}
the report holds {errorCount: 0} errorsComposing needs the script.
outcomeidea.Given a {subject: "live Spec"} names the probe decision through {relation: "decidedBy"}
Given the probe decision is replaced by {replacement: "one decision"}
Given every replacing decision states {replacementRung: "idea"}
When the graph is validated
Then the report holds {warnings: 1} superseded-decision warnings
Then the warnings name {named: "spec:probe.decision-b"}
Then the report holds {errorCount: 0} errorstest/self-hosting-validators.test.ts:1726test/self-hosting-validators.test.tsTest anchors: test:protocol.authored-honesty.section-authored-fact, test:protocol.authored-honesty.unearned-stated-fact, test:protocol.claim-separation.collapsed-edge-claim, test:protocol.claim-separation.unratified-descriptor, test:protocol.kind-evidence.constraints-alone, test:protocol.kind-evidence.empty-promoted-child, test:protocol.kind-evidence.second-entry-untargeted, test:protocol.kind-evidence.untargeted-constraint, test:protocol.oracle-target-eligibility.missing-space-refused, test:protocol.oracle-target-eligibility.rule-space-accepted, test:protocol.pack-coherence.incoherent-aggregate, test:protocol.readiness-floor.blocking-open-question, test:protocol.readiness-floor.unrelated-scoped-spec, test:protocol.referential-integrity.dangling-target, test:protocol.referential-integrity.did-you-mean, test:protocol.superseded-decision-signal.branch-names-every-end, test:protocol.superseded-decision-signal.chain-end-named, test:protocol.superseded-decision-signal.closed-chain-named, test:protocol.superseded-decision-signal.dependency-unread, test:protocol.superseded-decision-signal.end-and-loop-named, test:protocol.superseded-decision-signal.live-replacement-warns, test:protocol.superseded-decision-signal.replaced-ruling-warns, test:protocol.superseded-decision-signal.replacement-below-ready-named, test:protocol.superseded-decision-signal.superseded-subject-silent, test:protocol.two-check-families.split-report, test:protocol.verification-linkage.unbound-example, test:protocol.verification-linkage.unresolved-oracle, test:protocol.warn-level-signals.orphan-signal, test:protocol.warn-level-signals.ready-gap-signal. Specs verified by those bindings: spec:carrier.markdown-body-grammar, spec:validation.authored-honesty, spec:validation.authored-honesty.section-authored-fact, spec:validation.authored-honesty.unearned-stated-fact, spec:validation.claim-separation, spec:validation.claim-separation.collapsed-edge-claim, spec:validation.claim-separation.unratified-descriptor, spec:validation.kind-evidence, spec:validation.kind-evidence.constraints-alone, spec:validation.kind-evidence.empty-promoted-child, spec:validation.kind-evidence.second-entry-untargeted, spec:validation.kind-evidence.untargeted-constraint, spec:validation.oracle-target-eligibility, spec:validation.oracle-target-eligibility.missing-space-refused, spec:validation.oracle-target-eligibility.rule-space-accepted, spec:validation.pack-coherence, spec:validation.pack-coherence.incoherent-aggregate, spec:validation.readiness-floor, spec:validation.readiness-floor.blocking-open-question, spec:validation.readiness-floor.unrelated-scoped-spec, spec:validation.referential-integrity, spec:validation.referential-integrity.dangling-target, spec:validation.referential-integrity.did-you-mean, spec:validation.superseded-decision-signal, spec:validation.superseded-decision-signal.branch-names-every-end, spec:validation.superseded-decision-signal.chain-end-named, spec:validation.superseded-decision-signal.closed-chain-named, spec:validation.superseded-decision-signal.dependency-unread, spec:validation.superseded-decision-signal.end-and-loop-named, spec:validation.superseded-decision-signal.live-replacement-warns, spec:validation.superseded-decision-signal.replaced-ruling-warns, spec:validation.superseded-decision-signal.replacement-below-ready-named, spec:validation.superseded-decision-signal.superseded-subject-silent, spec:validation.two-check-families, spec:validation.two-check-families.split-report, spec:validation.verification-linkage, spec:validation.verification-linkage.unbound-example, spec:validation.verification-linkage.unresolved-oracle, spec:validation.warn-level-signals, spec:validation.warn-level-signals.orphan-signal, spec:validation.warn-level-signals.ready-gap-signal.
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 scoped Spec with no relation names the relation clause (spec:validation.readiness-floor.unrelated-scoped-spec) | passed | 6.49 ms |
| executes the bound example against a fresh world | A blocking open question holds a Spec below defined (spec:validation.readiness-floor.blocking-open-question) | passed | 1.25 ms |
| executes the bound example against a fresh world | Constraints alone stop short of complete behavior evidence (spec:validation.kind-evidence.constraints-alone) | passed | 1.16 ms |
| executes the bound example against a fresh world | A constraint without a machine-readable target is not complete (spec:validation.kind-evidence.untargeted-constraint) | passed | 0.96 ms |
| executes the bound example against a fresh world | An empty promoted child confers no evidence (spec:validation.kind-evidence.empty-promoted-child) | passed | 0.8 ms |
| executes the bound example against a fresh world | A disconnected Spec warns and fails nothing (spec:validation.warn-level-signals.orphan-signal) | passed | 1.82 ms |
| executes the bound example against a fresh world | A ready Spec without a verifier warns and fails nothing (spec:validation.warn-level-signals.ready-gap-signal) | passed | 0.81 ms |
| executes the bound example against a fresh world | An unrelated missing target is a bare conformance error (spec:validation.referential-integrity.dangling-target) | passed | 0.8 ms |
| executes the bound example against a fresh world | A unique near miss earns a did-you-mean suggestion (spec:validation.referential-integrity.did-you-mean) | passed | 0.71 ms |
| executes the bound example against a fresh world | A delivery fact smuggled into a section is refused (spec:validation.authored-honesty.section-authored-fact) | passed | 0.8 ms |
| executes the bound example against a fresh world | A stated delivery fact no binding earns is refused (spec:validation.authored-honesty.unearned-stated-fact) | passed | 0.73 ms |
| executes the bound example against a fresh world | A binding edge cannot borrow the declared claim (spec:validation.claim-separation.collapsed-edge-claim) | passed | 0.92 ms |
| executes the bound example against a fresh world | An unratified kind fails closed instead of reaching the floor (spec:validation.claim-separation.unratified-descriptor) | passed | 0.49 ms |
| executes the bound example against a fresh world | A declared verifier no test binds confers nothing (spec:validation.verification-linkage.unbound-example) | passed | 2.2 ms |
| executes the bound example against a fresh world | An oracle targeting a Spec with no example space is refused (spec:validation.verification-linkage.unresolved-oracle) | passed | 0.68 ms |
| executes the bound example against a fresh world | A rule owning an example space accepts an oracle (spec:validation.oracle-target-eligibility.rule-space-accepted) | passed | 0.94 ms |
| executes the bound example against a fresh world | A target without an example space refuses an oracle (spec:validation.oracle-target-eligibility.missing-space-refused) | passed | 0.42 ms |
| executes the bound example against a fresh world | A repeated member and a non-model modelRef are both named (spec:validation.pack-coherence.incoherent-aggregate) | passed | 3.58 ms |
| executes the bound example against a fresh world | One report carries both families and claims neither as its own (spec:validation.two-check-families.split-report) | passed | 0.69 ms |
| executes the bound example against a fresh world | A Spec shaped by a replaced decision warns once and fails nothing (spec:validation.superseded-decision-signal.replaced-ruling-warns) | passed | 1.73 ms |
| executes the bound example against a fresh world | The warning names the decision at the end of a chain of replacements (spec:validation.superseded-decision-signal.chain-end-named) | passed | 0.72 ms |
| executes the bound example against a fresh world | A replacement chain that branches names every end (spec:validation.superseded-decision-signal.branch-names-every-end) | passed | 0.85 ms |
| executes the bound example against a fresh world | A chain of replacements that closes on itself is named and fails nothing (spec:validation.superseded-decision-signal.closed-chain-named) | passed | 0.82 ms |
| executes the bound example against a fresh world | A dependency on a replaced decision raises no warning (spec:validation.superseded-decision-signal.dependency-unread) | passed | 0.53 ms |
| executes the bound example against a fresh world | A superseded decision is not warned for the decision it names (spec:validation.superseded-decision-signal.superseded-subject-silent) | passed | 0.63 ms |
| executes the bound example against a fresh world | A replacement still below ready is named as it stands (spec:validation.superseded-decision-signal.replacement-below-ready-named) | passed | 0.73 ms |
| executes the bound example against a fresh world | A decision still decided by the record it replaces warns (spec:validation.superseded-decision-signal.live-replacement-warns) | passed | 0.56 ms |
| executes the bound example against a fresh world | A chain of replacements that reaches an end and a loop names both (spec:validation.superseded-decision-signal.end-and-loop-named) | passed | 0.72 ms |
| deduplicates stale pairs, names self loops and leaves absent locations absent | not recorded | passed | 0.9 ms |
| warns once for each stale decision and ignores unresolved and wrongly typed replacements | not recorded | passed | 2.06 ms |
| locates each subject separately when two Specs name the same stale decision | not recorded | passed | 0.51 ms |
| checks branch messages independently of the example id | not recorded | passed | 0.56 ms |
| checks the extracted 'message' Design entry | not recorded | passed | 1.74 ms |
| checks the extracted 'closedChainMessage' Design entry | not recorded | passed | 0.56 ms |
| checks the extracted 'mixedChainMessage' Design entry | not recorded | passed | 0.49 ms |
| executes the bound example against a fresh world | A constraint whose second entry has no target is not complete (spec:validation.kind-evidence.second-entry-untargeted) | passed | 0.61 ms |
test/self-hosting-validators.test.ts:1726Copyable 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 | A Spec shaped by a superseded decision warnsspec:validation.superseded-decision-signal · resolves | declared | None | None |
| verifies · outgoing | A Spec shaped by a superseded decision warnsspec:validation.superseded-decision-signal · resolves | declared | None | anyRung |
test/self-hosting-validators.test.ts:1726Runtime observation: not tracked.
Run results: not recorded in the graph.
None.
Composing needs the script.