outcomeA target without an example space refuses an oracle
spec:validation.oracle-target-eligibility.missing-space-refusedPacks: pack:self-hosting-v1
Design: no design entries · no pinned declarations · no decisions
Findings: no errors, no warnings
specs/validation/oracle-target-eligibility.missing-space-refused.sdp.md
No open questions and no blocking questions; implementation binding none, verifier binding present, and expected-outcome oracle none.
Given
the oracle targets a {targetKind: "behavior"} spec
the target owns an example space: {ownsExampleSpace: false}When
oracle linkage is resolved
Then
oracle linkage reports {findingCount: 1} findings and resolving presence {oraclePresent: false}Composing needs the script.
Intent
- Execute the fail-closed refusal when an otherwise valid Spec target owns no example space.
Behavior
Examples
Given the oracle targets a {targetKind: "behavior"} spec
Given the target owns an example space: {ownsExampleSpace: false}
When oracle linkage is resolved
Then oracle linkage reports {findingCount: 1} findings and resolving presence {oraclePresent: false}Verification
Verifier bindings
- test:protocol.oracle-target-eligibility.missing-space-refused · the missing-space point verifies fail-closed oracle resolution · anchored · test anchor binding present ·
test/self-hosting-validators.test.ts:1244External 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.oracle-target-eligibility.missing-space-refused: A target without an example space refuses an oracle · declared Spec
- spec:validation.oracle-target-eligibility: Oracle eligibility follows example-space ownership · declared Spec
- test:protocol.oracle-target-eligibility.missing-space-refused: the missing-space point verifies fail-closed oracle resolution · anchored test binding · binding present ·
test/self-hosting-validators.test.ts:1244 - spec:validation.oracle-target-eligibility.missing-space-refused refines spec:validation.oracle-target-eligibility · declared
- spec:validation.oracle-target-eligibility.missing-space-refused verifies spec:validation.oracle-target-eligibility · declared
- test:protocol.oracle-target-eligibility.missing-space-refused verifies spec:validation.oracle-target-eligibility.missing-space-refused · 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.oracle-target-eligibility: Oracle eligibility follows example-space ownership
- spec:validation.oracle-target-eligibility.missing-space-refused: A target without an example space refuses an oracle
- spec:validation.oracle-target-eligibility.missing-space-refused refines spec:validation.oracle-target-eligibility · declared
- spec:validation.oracle-target-eligibility.missing-space-refused verifies spec:validation.oracle-target-eligibility · 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.oracle-target-eligibility · 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 | Oracle eligibility follows example-space ownershipspec:validation.oracle-target-eligibility · resolves | declared | None | None |
| verifies · outgoing | Oracle eligibility follows example-space ownershipspec:validation.oracle-target-eligibility · resolves | declared | None | None |
Bindings
Implementation binding: none
Design reference: none
Verifier binding: present
- test:protocol.oracle-target-eligibility.missing-space-refused · the missing-space point verifies fail-closed oracle resolution · anchored ·
test/self-hosting-validators.test.ts:1244· 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.