outcomeAn oracle targeting a Spec with no example space is refused
spec:validation.verification-linkage.unresolved-oraclePacks: pack:self-hosting-v1
Design: no design entries · no pinned declarations · no decisions
Findings: no errors, no warnings
specs/validation/verification-linkage.unresolved-oracle.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 parent spec {parentId: "spec:probe.order-policy"}
a non-resolving {verifierKind: "oracle anchor"} named {verifierId: "oracle:probe.order-policy"} points at itWhen
the graph is validated
Then
the report names {findingId: "conformance/oracle-linkage"} at severity {severity: "error"}
the parent earns the delivery fact has-verifier: {conferred: false}Composing needs the script.
Intent
- Execute the oracle-linkage law where the modeled Spec owns no example space.
Behavior
Examples
Given the graph holds a parent spec {parentId: "spec:probe.order-policy"}
Given a non-resolving {verifierKind: "oracle anchor"} named {verifierId: "oracle:probe.order-policy"} points at it
When the graph is validated
Then the report names {findingId: "conformance/oracle-linkage"} at severity {severity: "error"}
Then the parent earns the delivery fact has-verifier: {conferred: false}Verification
Verifier bindings
- test:protocol.verification-linkage.unresolved-oracle · the unresolved-oracle point verifies the oracle binding refusal · anchored · test anchor binding present ·
test/self-hosting-validators.test.ts:1123External run evidence from
test/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.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
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 5.07 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.08 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.02 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.87 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.71 ms executes the bound example against a fresh world A disconnected Spec warns and fails nothing (spec:validation.warn-level-signals.orphan-signal) passed 0.52 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.68 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.63 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.73 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.75 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.63 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.79 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.46 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.22 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.63 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.85 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.4 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 0.8 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 2.07 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.7 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.61 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.59 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.51 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.4 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.48 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.35 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.46 ms deduplicates stale pairs, names self loops and leaves absent locations absent not recorded passed 0.56 ms warns once for each stale decision and ignores unresolved and wrongly typed replacements not recorded passed 1.82 ms locates each subject separately when two Specs name the same stale decision not recorded passed 0.47 ms checks branch messages independently of the example id not recorded passed 0.5 ms checks the extracted 'message' Design entry not recorded passed 1.55 ms checks the extracted 'closedChainMessage' Design entry not recorded passed 0.52 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.51 ms
Design view
Requirement drawing
- Satisfying or referencing units: no recorded binding.
The diagram as text
- spec:validation.verification-linkage.unresolved-oracle: An oracle targeting a Spec with no example space is refused · declared Spec
- spec:validation.verification-linkage: Example verification and oracle bindings resolve honestly · declared Spec
- test:protocol.verification-linkage.unresolved-oracle: the unresolved-oracle point verifies the oracle binding refusal · anchored test binding · binding present ·
test/self-hosting-validators.test.ts:1123 - spec:validation.verification-linkage.unresolved-oracle refines spec:validation.verification-linkage · declared
- spec:validation.verification-linkage.unresolved-oracle verifies spec:validation.verification-linkage · declared
- test:protocol.verification-linkage.unresolved-oracle verifies spec:validation.verification-linkage.unresolved-oracle · 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
- E2: verifies · declared
The diagram as text
- spec:validation.verification-linkage: Example verification and oracle bindings resolve honestly
- spec:validation.verification-linkage.unresolved-oracle: An oracle targeting a Spec with no example space is refused
- spec:validation.verification-linkage.unresolved-oracle refines spec:validation.verification-linkage · declared
- spec:validation.verification-linkage.unresolved-oracle verifies spec:validation.verification-linkage · 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
- refines · spec:validation.verification-linkage · stated ready, floor ready
Rested on by
No Spec rests on this Spec.
Relations
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| refines · outgoing | Example verification and oracle bindings resolve honestlyspec:validation.verification-linkage · resolves | declared | None | None |
| verifies · outgoing | Example verification and oracle bindings resolve honestlyspec:validation.verification-linkage · resolves | declared | None | None |
Bindings
Implementation binding: none
Design reference: none
Verifier binding: present
- test:protocol.verification-linkage.unresolved-oracle · the unresolved-oracle point verifies the oracle binding refusal · anchored ·
test/self-hosting-validators.test.ts:1123· 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.