Spec Studio

Machine truth is never authored

spec:validation.authored-honestyBusiness Rule · featureready floor ready

Packs: pack:self-hosting-v1

Design: no design entries · no pinned declarations · 1 decision

Findings: no errors, no warnings

specs/validation/authored-honesty.sdp.md

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

Intent
outcome
Keep derived graph truth trustworthy by rejecting any authored substitute for a derived edge or delivery fact.
Rule
rule line 17 · specs/validation/authored-honesty.sdp.md:17
Specs and Packs author no derived edge or delivery fact.
rule line 18 · specs/validation/authored-honesty.sdp.md:18
A Primitive node's deliveryFacts equals the facts the one derivation recomputes from the graph.

2 unkeyed rules.

Verifying examples

A delivery fact smuggled into a section is refused · spec:validation.authored-honesty.section-authored-fact · ready floor ready

Executable Spec

Given the graph holds a spec {specId: "spec:probe.smuggled-fact"}
Given the spec hand-authors the delivery fact {factName: "implemented"} at {site: "a behavior section carrier"}
When the graph is validated
Then the report names {findingId: "honesty/authoring-shape"} at severity {severity: "error"}
Then the finding names the fact {relatedId: "implemented"} and states {phrase: "derived, never authored"}

Open example

A stated delivery fact no binding earns is refused · spec:validation.authored-honesty.unearned-stated-fact · ready floor ready

Executable Spec

Given the graph holds a spec {specId: "spec:probe.unearned-fact"}
Given the spec hand-authors the delivery fact {factName: "has-verifier"} at {site: "the node deliveryFacts array"}
When the graph is validated
Then the report names {findingId: "honesty/delivery-facts"} at severity {severity: "error"}
Then the finding names the fact {relatedId: "has-verifier"} and states {phrase: "derived, never authored"}

Open example

Example space

Given the graph holds a spec {specId:string}
Given the spec hand-authors the delivery fact {factName:"implemented"|"has-verifier"} at {site:"a behavior section carrier"|"the node deliveryFacts array"}
When the graph is validated
Then the report names {findingId:string} at severity {severity:"warning"|"error"}
Then the finding names the fact {relatedId:string} and states {phrase:string}
Verification

Verifier bindings

Example space

  • specId · string · declared by the graph holds a spec {specId}
  • factName · "implemented" | "has-verifier" · declared by the spec hand-authors the delivery fact {factName} at {site}
  • site · "a behavior section carrier" | "the node deliveryFacts array" · declared by the spec hand-authors the delivery fact {factName} at {site}

Bound points

ExamplespecIdfactNamesite
spec:validation.authored-honesty.section-authored-fact"spec:probe.smuggled-fact""implemented""a behavior section carrier"
spec:validation.authored-honesty.unearned-stated-fact"spec:probe.unearned-fact""has-verifier""the node deliveryFacts array"

Oracle binding: none

Coverage

specId: "spec:probe.smuggled-fact" · spec:validation.authored-honesty.section-authored-fact; "spec:probe.unearned-fact" · spec:validation.authored-honesty.unearned-stated-fact · not enumerable

site
Declared valueExamples
"a behavior section carrier"spec:validation.authored-honesty.section-authored-fact
"the node deliveryFacts array"spec:validation.authored-honesty.unearned-stated-fact

Unbound

  • specId: None
  • factName: None
  • site: None
Design view

Requirement drawing

Requirement drawing for spec:validation.authored-honesty
Requirement drawing for spec:validation.authored-honestysatisfies · anchoredsatisfies · anchoredrefines · declaredrefines, verifies · declaredrefines, verifies · declaredverifies · anchoredverifies · anchoredIntended Specsspec:validation.authored-honestyMachine truth is neverauthored…validation.authored-honestydeclared SpecDeclared verifying examplesspec:validation.authored-honesty.section-authored-factA delivery fact smuggledinto a section is refused…validation.authored-honesty.section-authored-factdeclared Specspec:validation.authored-honesty.unearned-stated-factA stated delivery fact nobinding earns is refused…validation.authored-honesty.unearned-stated-factdeclared SpecSatisfying or referencingunitsimpl:protocol.authored-honesty-delivery-factschecks stated deliveryfacts equal the onerecomputed derivation…protocol.authored-honesty-delivery-factsanchored codeimpl:protocol.authored-honesty-shaperefuses delivery factssmuggled through authoredsection carriers…protocol.authored-honesty-shapeanchored codeTest or oracle bindingstest:protocol.authored-honesty.section-authored-factthe section point verifiesthe authoring-shape refusal…protocol.authored-honesty.section-authored-factanchored test binding ·binding presenttest:protocol.authored-honesty.unearned-stated-factthe stated-fact pointverifies the delivery-factrefusal…protocol.authored-honesty.unearned-stated-factanchored test binding ·binding presentOutside the selected setspec:validation.two-check-familiesValidation separateswell-formedness fromnon-pretending…validation.two-check-familiesdeclared Spec
The diagram as text
  • spec:validation.authored-honesty: Machine truth is never authored · declared Spec
  • spec:validation.authored-honesty.section-authored-fact: A delivery fact smuggled into a section is refused · declared Spec
  • spec:validation.authored-honesty.unearned-stated-fact: A stated delivery fact no binding earns is refused · declared Spec
  • spec:validation.two-check-families: Validation separates well-formedness from non-pretending · declared Spec
  • impl:protocol.authored-honesty-delivery-facts: checks stated delivery facts equal the one recomputed derivation · anchored code · src/validate/validators.ts:1624
  • impl:protocol.authored-honesty-shape: refuses delivery facts smuggled through authored section carriers · anchored code · src/validate/validators.ts:1556
  • test:protocol.authored-honesty.section-authored-fact: the section point verifies the authoring-shape refusal · anchored test binding · binding present · test/self-hosting-validators.test.ts:848
  • test:protocol.authored-honesty.unearned-stated-fact: the stated-fact point verifies the delivery-fact refusal · anchored test binding · binding present · test/self-hosting-validators.test.ts:864
  • spec:validation.authored-honesty refines spec:validation.two-check-families · declared
  • spec:validation.authored-honesty.section-authored-fact refines spec:validation.authored-honesty · declared
  • spec:validation.authored-honesty.section-authored-fact verifies spec:validation.authored-honesty · declared
  • spec:validation.authored-honesty.unearned-stated-fact refines spec:validation.authored-honesty · declared
  • spec:validation.authored-honesty.unearned-stated-fact verifies spec:validation.authored-honesty · declared
  • impl:protocol.authored-honesty-delivery-facts satisfies spec:validation.authored-honesty · anchored
  • impl:protocol.authored-honesty-shape satisfies spec:validation.authored-honesty · anchored
  • test:protocol.authored-honesty.section-authored-fact verifies spec:validation.authored-honesty.section-authored-fact · anchored
  • test:protocol.authored-honesty.unearned-stated-fact verifies spec:validation.authored-honesty.unearned-stated-fact · 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

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

    Uses

  • impl:protocol.authored-honesty-delivery-facts · checks stated delivery facts equal the one recomputed derivation · src/validate/validators.ts:1624

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

    Uses

    • impl:protocol.delivery-facts · computes delivery facts from resolving binding edges · src/graph/delivery-facts.ts:65
  • impl:protocol.authored-honesty-shape · refuses delivery facts smuggled through authored section carriers · src/validate/validators.ts:1556

    Component: component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · 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.authored-honesty
  • E9: verifies · declared
The diagram as text
  • spec:carrier.envelope-contract: The Markdown envelope is explicit and bounded
  • spec:carrier.markdown-body-grammar: The Markdown body accepts one closed form per section
  • spec:decisions.binding-not-liveness: Bindings state existence, not liveness
  • spec:extraction.delivery-facts: Resolving bindings confer direct delivery facts
  • spec:validation.authored-honesty: Machine truth is never authored
  • spec:validation.authored-honesty.section-authored-fact: A delivery fact smuggled into a section is refused
  • spec:validation.authored-honesty.unearned-stated-fact: A stated delivery fact no binding earns is refused
  • spec:validation.two-check-families: Validation separates well-formedness from non-pretending
  • spec:validation.authored-honesty decidedBy spec:decisions.binding-not-liveness · declared
  • spec:validation.authored-honesty dependsOn spec:extraction.delivery-facts · declared
  • spec:validation.authored-honesty refines spec:validation.two-check-families · declared
  • spec:carrier.envelope-contract constrainedBy spec:validation.authored-honesty · declared
  • spec:carrier.markdown-body-grammar constrainedBy spec:validation.authored-honesty · declared
  • spec:validation.authored-honesty.section-authored-fact refines spec:validation.authored-honesty · declared
  • spec:validation.authored-honesty.unearned-stated-fact refines spec:validation.authored-honesty · declared
  • spec:validation.authored-honesty.section-authored-fact verifies spec:validation.authored-honesty · declared
  • spec:validation.authored-honesty.unearned-stated-fact verifies spec:validation.authored-honesty · 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

Distance 2

Distance 3

Distance 4

Distance 5

Distance 6

Distance 7

Distance 8

Distance 9

Relations

Relation and directionOther endClaimReasonExercised keys
decidedBy · outgoingBindings state existence, not liveness
spec:decisions.binding-not-liveness · resolves
declaredNoneNone
dependsOn · outgoingResolving bindings confer direct delivery facts
spec:extraction.delivery-facts · resolves
declaredNoneNone
refines · outgoingValidation separates well-formedness from non-pretending
spec:validation.two-check-families · resolves
declaredNoneNone
constrainedBy · incomingThe Markdown envelope is explicit and bounded
spec:carrier.envelope-contract · resolves
declaredNoneNone
constrainedBy · incomingThe Markdown body accepts one closed form per section
spec:carrier.markdown-body-grammar · resolves
declaredNoneNone
refines · incomingA delivery fact smuggled into a section is refused
spec:validation.authored-honesty.section-authored-fact · resolves
declaredNoneNone
refines · incomingA stated delivery fact no binding earns is refused
spec:validation.authored-honesty.unearned-stated-fact · resolves
declaredNoneNone
verifies · incomingA delivery fact smuggled into a section is refused
spec:validation.authored-honesty.section-authored-fact · resolves
declaredNoneNone
verifies · incomingA stated delivery fact no binding earns is refused
spec:validation.authored-honesty.unearned-stated-fact · resolves
declaredNoneNone

Bindings

Implementation binding: present

  • impl:protocol.authored-honesty-delivery-facts · checks stated delivery facts equal the one recomputed derivation · src/validate/validators.ts:1624 · role validator · component component:protocol.validate · layer domain · context protocol
  • impl:protocol.authored-honesty-shape · refuses delivery facts smuggled through authored section carriers · src/validate/validators.ts:1556 · role validator · component component:protocol.validate · layer domain · context protocol

Design reference: none

Verifier binding: present

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

Composing (0)

Composing needs the script.