Spec Studio

Oracle eligibility follows example-space ownership

spec:validation.oracle-target-eligibilityBusiness Rule · storyready floor ready

Packs: pack:self-hosting-v1

Design: no design entries · no pinned declarations · no decisions

Findings: no errors, no warnings

specs/validation/oracle-target-eligibility.sdp.md

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

Intent
outcome
Let an expected-outcome oracle model any Spec whose own law defines an example space, regardless of Spec kind.
Rule
rule line 16 · specs/validation/oracle-target-eligibility.sdp.md:16
Oracle target eligibility follows ownership of an example space, not a behavior-kind check.
rule line 17 · specs/validation/oracle-target-eligibility.sdp.md:17
A resolving binding is an anchored models edge from an oracle: Anchor to a Spec that owns an example space.
rule line 18 · specs/validation/oracle-target-eligibility.sdp.md:18
Missing targets, wrong namespaces, absent example spaces, and competing oracles are fail-closed refusals.
rule line 19 · specs/validation/oracle-target-eligibility.sdp.md:19
Validators and graph readers consume the same eligibility result.

4 unkeyed rules.

Verifying examples

A target without an example space refuses an oracle · spec:validation.oracle-target-eligibility.missing-space-refused · ready floor ready

Executable Spec

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}

Open example

A rule owning an example space accepts an oracle · spec:validation.oracle-target-eligibility.rule-space-accepted · ready floor ready

Executable Spec

Given the oracle targets a {targetKind: "rule"} spec
Given the target owns an example space: {ownsExampleSpace: true}
When oracle linkage is resolved
Then oracle linkage reports {findingCount: 0} findings and resolving presence {oraclePresent: true}

Open example

Example space

Given the oracle targets a {targetKind:"behavior"|"rule"} spec
Given the target owns an example space: {ownsExampleSpace:boolean}
When oracle linkage is resolved
Then oracle linkage reports {findingCount:number} findings and resolving presence {oraclePresent:boolean}
Verification

Verifier bindings

Example space

  • targetKind · "behavior" | "rule" · declared by the oracle targets a {targetKind} spec
  • ownsExampleSpace · boolean · declared by the target owns an example space: {ownsExampleSpace}

Bound points

Oracle binding: present · oracle:protocol.oracle-target-eligibility · test/self-hosting-validators.oracle.ts:8

Coverage

ownsExampleSpace: false · spec:validation.oracle-target-eligibility.missing-space-refused; true · spec:validation.oracle-target-eligibility.rule-space-accepted · not enumerable

Unbound

  • targetKind: None
  • ownsExampleSpace: None
Design view

Requirement drawing

Requirement drawing for spec:validation.oracle-target-eligibility
Requirement drawing for spec:validation.oracle-target-eligibilitysatisfies · anchoredsatisfies · anchoredmodels · anchoredrefines · declaredrefines, verifies · declaredrefines, verifies · declaredverifies · anchoredverifies · anchoredIntended Specsspec:validation.oracle-target-eligibilityOracle eligibility followsexample-space ownership…validation.oracle-target-eligibilitydeclared SpecDeclared verifying examplesspec:validation.oracle-target-eligibility.missing-space-refusedA target without an examplespace refuses an oracle…validation.oracle-target-eligibility.missing-space-refuseddeclared Specspec:validation.oracle-target-eligibility.rule-space-acceptedA rule owning an examplespace accepts an oracle…validation.oracle-target-eligibility.rule-space-accepteddeclared SpecSatisfying or referencingunitsimpl:protocol.oracle-linkageresolves and de-duplicatesexpected-outcome oraclebindings…protocol.oracle-linkageanchored codeimpl:protocol.oracle-target-eligibilityresolves oracle targets byexample-space ownershipacross Spec kindsimpl:protocol.oracle-target-eligibilityanchored codeTest or oracle bindingsoracle:protocol.oracle-target-eligibilityexpected oracle-linkageresult by example-spaceownershiporacle:protocol.oracle-target-eligibilityanchored oracle bindingtest:protocol.oracle-target-eligibility.missing-space-refusedthe missing-space pointverifies fail-closed oracleresolution…protocol.oracle-target-eligibility.missing-space-refusedanchored test binding ·binding presenttest:protocol.oracle-target-eligibility.rule-space-acceptedthe rule-space pointverifies kind-neutraloracle resolution…protocol.oracle-target-eligibility.rule-space-acceptedanchored test binding ·binding presentOutside the selected setspec:validation.verification-linkageExample verification andoracle bindings resolvehonestly…validation.verification-linkagedeclared Spec
The diagram as text
  • spec:validation.oracle-target-eligibility: Oracle eligibility follows example-space ownership · declared Spec
  • spec:validation.oracle-target-eligibility.missing-space-refused: A target without an example space refuses an oracle · declared Spec
  • spec:validation.oracle-target-eligibility.rule-space-accepted: A rule owning an example space accepts an oracle · declared Spec
  • spec:validation.verification-linkage: Example verification and oracle bindings resolve honestly · declared Spec
  • impl:protocol.oracle-linkage: resolves and de-duplicates expected-outcome oracle bindings · anchored code · src/validate/validators.ts:913
  • impl:protocol.oracle-target-eligibility: resolves oracle targets by example-space ownership across Spec kinds · anchored code · src/graph/oracle-bindings.ts:25
  • oracle:protocol.oracle-target-eligibility: expected oracle-linkage result by example-space ownership · anchored oracle binding · test/self-hosting-validators.oracle.ts:8
  • 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
  • test:protocol.oracle-target-eligibility.rule-space-accepted: the rule-space point verifies kind-neutral oracle resolution · anchored test binding · binding present · test/self-hosting-validators.test.ts:1218
  • spec:validation.oracle-target-eligibility refines spec:validation.verification-linkage · declared
  • 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
  • spec:validation.oracle-target-eligibility.rule-space-accepted refines spec:validation.oracle-target-eligibility · declared
  • spec:validation.oracle-target-eligibility.rule-space-accepted verifies spec:validation.oracle-target-eligibility · declared
  • impl:protocol.oracle-linkage satisfies spec:validation.oracle-target-eligibility · anchored
  • impl:protocol.oracle-target-eligibility satisfies spec:validation.oracle-target-eligibility · anchored
  • oracle:protocol.oracle-target-eligibility models spec:validation.oracle-target-eligibility · anchored
  • test:protocol.oracle-target-eligibility.missing-space-refused verifies spec:validation.oracle-target-eligibility.missing-space-refused · anchored
  • test:protocol.oracle-target-eligibility.rule-space-accepted verifies spec:validation.oracle-target-eligibility.rule-space-accepted · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred syntax: requirementDiagram. Chosen syntax: flowchart TB because models require exact labels unavailable in requirement syntax.

Decisions

No decision record named.

Runtime
  • component:protocol.graph · the one graph and its semantic decisions · src/graph/schema.ts:34 · layer domain · context protocol

    Uses

  • component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · layer domain · context protocol

    Uses

  • impl:protocol.oracle-linkage · resolves and de-duplicates expected-outcome oracle bindings · src/validate/validators.ts:913

    Component: component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · layer domain · context protocol

    Uses

    None.

  • impl:protocol.oracle-target-eligibility · resolves oracle targets by example-space ownership across Spec kinds · src/graph/oracle-bindings.ts:25

    Component: component:protocol.graph · the one graph and its semantic decisions · src/graph/schema.ts:34 · layer domain · context protocol

    Uses

    None.

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.oracle-target-eligibility
The diagram as text
  • spec:model.anchors: Source anchors bind code without carrying intent
  • 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.rule-space-accepted: A rule owning an example space accepts an oracle
  • spec:validation.verification-linkage: Example verification and oracle bindings resolve honestly
  • spec:validation.oracle-target-eligibility dependsOn spec:model.anchors · declared
  • spec:validation.oracle-target-eligibility refines spec:validation.verification-linkage · declared
  • spec:validation.oracle-target-eligibility.missing-space-refused refines spec:validation.oracle-target-eligibility · declared
  • spec:validation.oracle-target-eligibility.rule-space-accepted refines spec:validation.oracle-target-eligibility · declared
  • spec:validation.oracle-target-eligibility.missing-space-refused verifies spec:validation.oracle-target-eligibility · declared
  • spec:validation.oracle-target-eligibility.rule-space-accepted 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

Rested on by

Distance 1

Relations

Relation and directionOther endClaimReasonExercised keys
dependsOn · outgoingSource anchors bind code without carrying intent
spec:model.anchors · resolves
declaredNoneNone
refines · outgoingExample verification and oracle bindings resolve honestly
spec:validation.verification-linkage · resolves
declaredNoneNone
refines · incomingA target without an example space refuses an oracle
spec:validation.oracle-target-eligibility.missing-space-refused · resolves
declaredNoneNone
refines · incomingA rule owning an example space accepts an oracle
spec:validation.oracle-target-eligibility.rule-space-accepted · resolves
declaredNoneNone
verifies · incomingA target without an example space refuses an oracle
spec:validation.oracle-target-eligibility.missing-space-refused · resolves
declaredNoneNone
verifies · incomingA rule owning an example space accepts an oracle
spec:validation.oracle-target-eligibility.rule-space-accepted · resolves
declaredNoneNone

Bindings

Implementation binding: present

  • impl:protocol.oracle-linkage · resolves and de-duplicates expected-outcome oracle bindings · src/validate/validators.ts:913 · role validator · component component:protocol.validate · layer domain · context protocol
  • impl:protocol.oracle-target-eligibility · resolves oracle targets by example-space ownership across Spec kinds · src/graph/oracle-bindings.ts:25 · role decider · component component:protocol.graph · layer domain · context protocol

Design reference: none

Verifier binding: present

Expected-outcome oracle: present

  • oracle:protocol.oracle-target-eligibility · expected oracle-linkage result by example-space ownership · test/self-hosting-validators.oracle.ts:8

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

Composing (0)

Composing needs the script.