Spec Studio

Validation separates well-formedness from non-pretending

spec:validation.two-check-familiesBusiness Rule · epicready floor ready

Packs: pack:self-hosting-v1

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

Findings: no errors, no warnings

specs/validation/two-check-families.sdp.md

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

Intent
outcome
Keep the graph trustworthy by checking conformance and honesty without judging content quality or enforcing workflow.
Rule
rule line 15 · specs/validation/two-check-families.sdp.md:15
Every validator the Protocol ships belongs to either the conformance family, which checks meta-model well-formedness, or the honesty family, which rejects authored or overstated derived truth; a corpus's own rules belong to neither family, and spec:validation.corpus-rules designs how they run and report.
rule line 16 · specs/validation/two-check-families.sdp.md:16
Errors from the Protocol's validators fail the build; gaps and orphans remain informative signals rather than delivery-process gates.
rule line 17 · specs/validation/two-check-families.sdp.md:17
Types check the shape of what is authored in TypeScript, extraction checks every carrier as it reads it, and graph validators check cross-file conformance and honesty; no one layer substitutes for the others.
rule line 18 · specs/validation/two-check-families.sdp.md:18
All graph validation runs through the one derived graph path: source, extraction, graph, then checks.
rule line 19 · specs/validation/two-check-families.sdp.md:19
The two families are load-bearing, so an aggregate report spanning both states no family of its own while every finding of the Protocol's own validators names the family it came from.
rule.stableIds line 20 · specs/validation/two-check-families.sdp.md:20
A validator id, once shipped, names one check for good: it is never reused or repurposed, and a new check ships under a new id.

no example exercises it

5 unkeyed rules.

Verifying examples

One report carries both families and claims neither as its own · spec:validation.two-check-families.split-report · ready floor ready

Executable Spec

Given the graph holds a spec {specId: "spec:probe.two-check-families"} at readiness {readiness: "ready"}
Given the spec declares a dependsOn relation to the absent target {targetId: "spec:probe.absent-dependency"}
When the graph is validated
Then the aggregate report states no family of its own
Then the conformance family reports {conformanceId: "conformance/referential-integrity"} at severity {conformanceSeverity: "error"}
Then the honesty family reports {honestyId: "honesty/gaps"} at severity {honestySeverity: "warning"}

Open example

Example space

Given the graph holds a spec {specId:string} at readiness {readiness:"idea"|"ready"}
Given the spec declares a dependsOn relation to the absent target {targetId:string}
When the graph is validated
Then the aggregate report states no family of its own
Then the conformance family reports {conformanceId:string} at severity {conformanceSeverity:"warning"|"error"}
Then the honesty family reports {honestyId:string} at severity {honestySeverity:"warning"|"error"}
Verification

Verifier bindings

Example space

  • specId · string · declared by the graph holds a spec {specId} at readiness {readiness}
  • readiness · "idea" | "ready" · declared by the graph holds a spec {specId} at readiness {readiness}
  • targetId · string · declared by the spec declares a dependsOn relation to the absent target {targetId}

Bound points

ExamplespecIdreadinesstargetId
spec:validation.two-check-families.split-report"spec:probe.two-check-families""ready""spec:probe.absent-dependency"

Oracle binding: none

Coverage

specId: "spec:probe.two-check-families" · spec:validation.two-check-families.split-report · not enumerable

readiness
Declared valueExamples
"idea"no example
"ready"spec:validation.two-check-families.split-report

targetId: "spec:probe.absent-dependency" · spec:validation.two-check-families.split-report · not enumerable

Unbound

  • specId: None
  • readiness: None
  • targetId: None
Design view

Requirement drawing

Requirement drawing for spec:validation.two-check-families
  • E7: refines, verifies · declared
  • E8: refines, verifies · declared (6 per relation)
The diagram as text
  • spec:validation.two-check-families: Validation separates well-formedness from non-pretending · declared Spec
  • spec:decisions.one-validation-path: Validation follows one graph · declared Spec
  • spec:validation.authored-honesty: Machine truth is never authored · declared Spec
  • spec:validation.claim-separation: Graph claims and contracts stay distinct · declared Spec
  • spec:validation.diagnostic-rendering: One diagnostic currency, its location composed from structured fields · declared Spec
  • spec:validation.duplicate-ids: Duplicate carrier IDs are excluded loudly · declared Spec
  • spec:validation.pack-coherence: Packs are coherent aggregates · declared Spec
  • spec:validation.readiness-floor: Stated readiness must clear its floor · declared Spec
  • spec:validation.referential-integrity: Every graph reference resolves · declared Spec
  • spec:validation.two-check-families.split-report: One report carries both families and claims neither as its own · declared Spec
  • spec:validation.validator-self-testing: Every validator ships evidence in both directions · declared Spec
  • spec:validation.verification-linkage: Example verification and oracle bindings resolve honestly · declared Spec
  • spec:validation.warn-level-signals: Missing connective evidence warns without failing · 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.claim-separation.collapsed-edge-claim: A binding edge cannot borrow the declared claim · declared Spec
  • spec:validation.claim-separation.unratified-descriptor: An unratified kind fails closed instead of reaching the floor · declared Spec
  • spec:validation.diagnostic-rendering.composed-location: One finding, three location shapes, one composition rule · declared Spec
  • spec:validation.diagnostic-rendering.table-cell-location: The same three location shapes, rendered as table cells · declared Spec
  • spec:validation.duplicate-ids.dual-carrier: TypeScript and Markdown duplicates are both refused · declared Spec
  • spec:validation.pack-coherence.incoherent-aggregate: A repeated member and a non-model modelRef are both named · declared Spec
  • spec:validation.readiness-floor.blocking-open-question: A blocking open question holds a Spec below defined · declared Spec
  • spec:validation.readiness-floor.unrelated-scoped-spec: A scoped Spec with no relation names the relation clause · declared Spec
  • spec:validation.referential-integrity.dangling-target: An unrelated missing target is a bare conformance error · declared Spec
  • spec:validation.referential-integrity.did-you-mean: A unique near miss earns a did-you-mean suggestion · declared Spec
  • spec:validation.validator-self-testing.duplicate-pair-named: A check paired twice is named · declared Spec
  • spec:validation.validator-self-testing.overeager-check-named: A check that reports its near miss is named overeager · declared Spec
  • spec:validation.validator-self-testing.shipped-checks-paired: Every shipped check reports its refusing probe and leaves its near miss alone · declared Spec
  • spec:validation.validator-self-testing.silent-check-named: A check that stops reporting is named silent · declared Spec
  • spec:validation.validator-self-testing.unpaired-check-named: A registered check without a probe pair is named unpaired · declared Spec
  • spec:validation.validator-self-testing.unregistered-id-named: A finding id the source writes outside every registry is named · declared Spec
  • spec:validation.verification-linkage.unbound-example: A declared verifier no test binds confers nothing · declared Spec
  • spec:validation.verification-linkage.unresolved-oracle: An oracle targeting a Spec with no example space is refused · declared Spec
  • spec:validation.warn-level-signals.orphan-signal: A disconnected Spec warns and fails nothing · declared Spec
  • spec:validation.warn-level-signals.ready-gap-signal: A ready Spec without a verifier warns and fails nothing · declared Spec
  • spec:decisions.carried-evidence: Promoted evidence must carry its own evidence · declared Spec
  • spec:decisions.decision-readiness-posture: Decision records state readiness from ratification evidence · declared Spec
  • spec:decisions.kind-conditional-floor: Readiness evidence follows the Spec kind · declared Spec
  • spec:validation.kind-evidence: Each kind carries its own evidence · declared Spec
  • spec:validation.next-rung-floor: The floor names what blocks the floor's next rung · declared Spec
  • spec:validation.oracle-target-eligibility: Oracle eligibility follows example-space ownership · declared Spec
  • spec:validation.prose-mentions: Every Spec id written in prose resolves · declared Spec
  • spec:validation.superseded-decision-signal: A Spec shaped by a superseded decision warns · declared Spec
  • spec:validation.typed-dependency-floor: A ready Spec rests only on settled dependencies · declared Spec
  • spec:validation.unbound-example-posture: An unbound example below ready is data, not a warning · declared Spec
  • component:protocol.validate: one finding currency and ordered checks · anchored code · src/validate/validators.ts:72
  • 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
  • impl:protocol.claim-separation: checks graph claims, descriptors, node shapes, and relation endpoint contracts · anchored code · src/validate/validators.ts:534
  • impl:protocol.diagnostic-rendering-cli: composes structured finding fields into the one command-line diagnostic form · anchored code · src/cli/output.ts:23
  • impl:protocol.diagnostic-rendering-design-review: renders structured finding locations in the Design Review table · anchored code · src/projections/design-review-context.ts:208
  • impl:protocol.duplicate-id-exclusion: excludes duplicated carrier ids from the graph · anchored code · src/extract/index.ts:93
  • impl:protocol.duplicate-ids: rejects duplicate node identities from any graph producer · anchored code · src/validate/validators.ts:263
  • impl:protocol.graph-index: builds the one-graph index validators and the reader share · anchored code · src/validate/graph-index.ts:28
  • impl:protocol.oracle-linkage: resolves and de-duplicates expected-outcome oracle bindings · anchored code · src/validate/validators.ts:913
  • impl:protocol.orphan-signal: surfaces relationless Specs as informative orphan warnings · anchored code · src/validate/validators.ts:1128
  • impl:protocol.pack-coherence: checks Pack membership agreement and uniqueness and model-reference kinds · anchored code · src/validate/validators.ts:1102
  • impl:protocol.readiness-floor: evaluates the stated readiness floor against the graph · anchored code · src/validate/readiness-floor.ts:612
  • impl:protocol.referential-integrity: checks every graph edge endpoint and Pack model reference resolves · anchored code · src/validate/validators.ts:183
  • impl:protocol.validate-summary: prints validate's findings and its summary line · anchored code · src/cli/validate-view-command.ts:23
  • impl:protocol.validation-contracts: conformance/honesty family currency and finding shapes · anchored code · src/validate/contracts.ts:5
  • impl:protocol.validation-families: conformance and honesty validator registry · anchored code · src/validate/validators.ts:60
  • impl:protocol.validator-probe-table: declares the refusing and accepting probes for every registered finding id · anchored code · test/helpers/validator-probes.ts:372
  • impl:protocol.validator-self-testing: audits the finding registries against source literals and paired probes · anchored code · test/helpers/validator-audit.ts:86
  • impl:protocol.verifier-gap-signal: surfaces ready Specs without recomputed verifier bindings as informative gaps · anchored code · src/validate/validators.ts:1734
  • impl:protocol.verifies-linkage: resolves declared example verification through enabled test bindings · anchored code · src/validate/validators.ts:838
  • oracle:protocol.validator-self-testing: oracle:protocol.validator-self-testing · anchored oracle binding · test/validator-audit.test.ts:100
  • 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
  • test:protocol.claim-separation.collapsed-edge-claim: the collapsed-claim point verifies the binding-edge contract row · anchored test binding · binding present · test/self-hosting-validators.test.ts:952
  • test:protocol.claim-separation.unratified-descriptor: the unratified-kind point verifies the fail-closed descriptor law · anchored test binding · binding present · test/self-hosting-validators.test.ts:968
  • test:protocol.diagnostic-rendering.composed-location: the composed-location point verifies the one rendering rule and both degradations · anchored test binding · binding present · test/self-hosting-projections.test.ts:1277
  • test:protocol.diagnostic-rendering.table-cell-location: the table-cell point verifies the same composition rule on the Design Review's twin · anchored test binding · binding present · test/self-hosting-projections.test.ts:1292
  • test:protocol.duplicate-ids.dual-carrier: dual-carrier duplicate-ID contract verifies carrier exclusion · anchored test binding · binding present · test/self-hosting-duplicate-ids.test.ts:316
  • test:protocol.pack-coherence.incoherent-aggregate: the incoherent-aggregate point verifies both halves of the pack law · anchored test binding · binding present · test/self-hosting-validators.test.ts:1325
  • test:protocol.readiness-floor: readiness-floor contracts verify stated maturity · anchored test binding · binding present · test/readiness.test.ts:66
  • test:protocol.readiness-floor.blocking-open-question: the blocked-question point verifies the open-questions clause of the defined rung · anchored test binding · binding present · test/self-hosting-validators.test.ts:372
  • test:protocol.readiness-floor.unrelated-scoped-spec: the unrelated-scoped point verifies the relation clause of the scoped rung · anchored test binding · binding present · test/self-hosting-validators.test.ts:356
  • test:protocol.referential-integrity.dangling-target: the dangling-target point verifies the unresolved-reference error · anchored test binding · binding present · test/self-hosting-validators.test.ts:748
  • test:protocol.referential-integrity.did-you-mean: the near-miss point verifies the unique did-you-mean suggestion · anchored test binding · binding present · test/self-hosting-validators.test.ts:764
  • test:protocol.two-check-families.split-report: the split-report point verifies both families in one aggregate report · anchored test binding · binding present · test/self-hosting-validators.test.ts:1398
  • test:protocol.validator-self-testing.duplicate-pair-named: test:protocol.validator-self-testing.duplicate-pair-named · anchored test binding · binding present · test/validator-audit.test.ts:202
  • test:protocol.validator-self-testing.overeager-check-named: test:protocol.validator-self-testing.overeager-check-named · anchored test binding · binding present · test/validator-audit.test.ts:172
  • test:protocol.validator-self-testing.shipped-checks-paired: test:protocol.validator-self-testing.shipped-checks-paired · anchored test binding · binding present · test/validator-audit.test.ts:142
  • test:protocol.validator-self-testing.silent-check-named: test:protocol.validator-self-testing.silent-check-named · anchored test binding · binding present · test/validator-audit.test.ts:157
  • test:protocol.validator-self-testing.unpaired-check-named: test:protocol.validator-self-testing.unpaired-check-named · anchored test binding · binding present · test/validator-audit.test.ts:187
  • test:protocol.validator-self-testing.unregistered-id-named: test:protocol.validator-self-testing.unregistered-id-named · anchored test binding · binding present · test/validator-audit.test.ts:217
  • test:protocol.verification-linkage.unbound-example: the unbound-example point verifies the incomplete spec-to-test trace · anchored test binding · binding present · test/self-hosting-validators.test.ts:1106
  • 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
  • test:protocol.warn-level-signals.orphan-signal: the orphan point verifies the disconnected-spec warning · anchored test binding · binding present · test/self-hosting-validators.test.ts:657
  • test:protocol.warn-level-signals.ready-gap-signal: the gap point verifies the unverified-ready warning · anchored test binding · binding present · test/self-hosting-validators.test.ts:673
  • spec:decisions.carried-evidence refines spec:validation.readiness-floor · declared
  • spec:decisions.decision-readiness-posture refines spec:validation.warn-level-signals · declared
  • spec:decisions.kind-conditional-floor refines spec:validation.readiness-floor · declared
  • spec:decisions.one-validation-path refines spec:validation.two-check-families · declared
  • 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
  • spec:validation.claim-separation refines spec:validation.two-check-families · declared
  • spec:validation.claim-separation.collapsed-edge-claim refines spec:validation.claim-separation · declared
  • spec:validation.claim-separation.collapsed-edge-claim verifies spec:validation.claim-separation · declared
  • spec:validation.claim-separation.unratified-descriptor refines spec:validation.claim-separation · declared
  • spec:validation.claim-separation.unratified-descriptor verifies spec:validation.claim-separation · declared
  • spec:validation.diagnostic-rendering refines spec:validation.two-check-families · declared
  • spec:validation.diagnostic-rendering.composed-location refines spec:validation.diagnostic-rendering · declared
  • spec:validation.diagnostic-rendering.composed-location verifies spec:validation.diagnostic-rendering · declared
  • spec:validation.diagnostic-rendering.table-cell-location refines spec:validation.diagnostic-rendering · declared
  • spec:validation.diagnostic-rendering.table-cell-location verifies spec:validation.diagnostic-rendering · declared
  • spec:validation.duplicate-ids refines spec:validation.two-check-families · declared — duplicate identity is a conformance refusal
  • spec:validation.duplicate-ids.dual-carrier refines spec:validation.duplicate-ids · declared
  • spec:validation.duplicate-ids.dual-carrier verifies spec:validation.duplicate-ids · declared
  • spec:validation.kind-evidence refines spec:validation.readiness-floor · declared
  • spec:validation.next-rung-floor refines spec:validation.readiness-floor · declared
  • spec:validation.oracle-target-eligibility refines spec:validation.verification-linkage · declared
  • spec:validation.pack-coherence refines spec:validation.two-check-families · declared
  • spec:validation.pack-coherence.incoherent-aggregate refines spec:validation.pack-coherence · declared
  • spec:validation.pack-coherence.incoherent-aggregate verifies spec:validation.pack-coherence · declared
  • spec:validation.prose-mentions refines spec:validation.referential-integrity · declared
  • spec:validation.readiness-floor refines spec:validation.two-check-families · declared — the readiness floor checks honesty of the stated rung
  • spec:validation.readiness-floor.blocking-open-question refines spec:validation.readiness-floor · declared
  • spec:validation.readiness-floor.blocking-open-question verifies spec:validation.readiness-floor · declared
  • spec:validation.readiness-floor.unrelated-scoped-spec refines spec:validation.readiness-floor · declared
  • spec:validation.readiness-floor.unrelated-scoped-spec verifies spec:validation.readiness-floor · declared
  • spec:validation.referential-integrity refines spec:validation.two-check-families · declared
  • spec:validation.referential-integrity.dangling-target refines spec:validation.referential-integrity · declared
  • spec:validation.referential-integrity.dangling-target verifies spec:validation.referential-integrity · declared
  • spec:validation.referential-integrity.did-you-mean refines spec:validation.referential-integrity · declared
  • spec:validation.referential-integrity.did-you-mean verifies spec:validation.referential-integrity · declared
  • spec:validation.superseded-decision-signal refines spec:validation.warn-level-signals · declared
  • spec:validation.two-check-families.split-report refines spec:validation.two-check-families · declared
  • spec:validation.two-check-families.split-report verifies spec:validation.two-check-families · declared
  • spec:validation.typed-dependency-floor refines spec:validation.readiness-floor · declared
  • spec:validation.unbound-example-posture refines spec:validation.verification-linkage · declared
  • spec:validation.validator-self-testing refines spec:validation.two-check-families · declared
  • spec:validation.validator-self-testing.duplicate-pair-named refines spec:validation.validator-self-testing · declared
  • spec:validation.validator-self-testing.duplicate-pair-named verifies spec:validation.validator-self-testing · declared
  • spec:validation.validator-self-testing.overeager-check-named refines spec:validation.validator-self-testing · declared
  • spec:validation.validator-self-testing.overeager-check-named verifies spec:validation.validator-self-testing · declared
  • spec:validation.validator-self-testing.shipped-checks-paired refines spec:validation.validator-self-testing · declared
  • spec:validation.validator-self-testing.shipped-checks-paired verifies spec:validation.validator-self-testing · declared
  • spec:validation.validator-self-testing.silent-check-named refines spec:validation.validator-self-testing · declared
  • spec:validation.validator-self-testing.silent-check-named verifies spec:validation.validator-self-testing · declared
  • spec:validation.validator-self-testing.unpaired-check-named refines spec:validation.validator-self-testing · declared
  • spec:validation.validator-self-testing.unpaired-check-named verifies spec:validation.validator-self-testing · declared
  • spec:validation.validator-self-testing.unregistered-id-named refines spec:validation.validator-self-testing · declared
  • spec:validation.validator-self-testing.unregistered-id-named verifies spec:validation.validator-self-testing · declared
  • spec:validation.verification-linkage refines spec:validation.two-check-families · declared
  • spec:validation.verification-linkage.unbound-example refines spec:validation.verification-linkage · declared
  • spec:validation.verification-linkage.unbound-example verifies spec:validation.verification-linkage · declared
  • spec:validation.verification-linkage.unresolved-oracle refines spec:validation.verification-linkage · declared
  • spec:validation.verification-linkage.unresolved-oracle verifies spec:validation.verification-linkage · declared
  • spec:validation.warn-level-signals refines spec:validation.two-check-families · declared
  • spec:validation.warn-level-signals.orphan-signal refines spec:validation.warn-level-signals · declared
  • spec:validation.warn-level-signals.orphan-signal verifies spec:validation.warn-level-signals · declared
  • spec:validation.warn-level-signals.ready-gap-signal refines spec:validation.warn-level-signals · declared
  • spec:validation.warn-level-signals.ready-gap-signal verifies spec:validation.warn-level-signals · declared
  • component:protocol.validate satisfies spec:validation.two-check-families · anchored
  • impl:protocol.authored-honesty-delivery-facts satisfies spec:validation.authored-honesty · anchored
  • impl:protocol.authored-honesty-shape satisfies spec:validation.authored-honesty · anchored
  • impl:protocol.claim-separation satisfies spec:validation.claim-separation · anchored
  • impl:protocol.diagnostic-rendering-cli satisfies spec:validation.diagnostic-rendering · anchored
  • impl:protocol.diagnostic-rendering-design-review satisfies spec:validation.diagnostic-rendering · anchored
  • impl:protocol.duplicate-id-exclusion satisfies spec:validation.duplicate-ids · anchored
  • impl:protocol.duplicate-ids satisfies spec:validation.duplicate-ids · anchored
  • impl:protocol.graph-index satisfies spec:validation.two-check-families · anchored
  • impl:protocol.oracle-linkage satisfies spec:validation.verification-linkage · anchored
  • impl:protocol.orphan-signal satisfies spec:validation.warn-level-signals · anchored
  • impl:protocol.pack-coherence satisfies spec:validation.pack-coherence · anchored
  • impl:protocol.readiness-floor satisfies spec:validation.readiness-floor · anchored
  • impl:protocol.referential-integrity satisfies spec:validation.referential-integrity · anchored
  • impl:protocol.validate-summary satisfies spec:validation.diagnostic-rendering · anchored
  • impl:protocol.validation-contracts satisfies spec:validation.two-check-families · anchored
  • impl:protocol.validation-contracts satisfies spec:validation.diagnostic-rendering · anchored
  • impl:protocol.validation-families satisfies spec:validation.two-check-families · anchored
  • impl:protocol.validator-probe-table satisfies spec:validation.validator-self-testing · anchored
  • impl:protocol.validator-self-testing satisfies spec:validation.validator-self-testing · anchored
  • impl:protocol.verifier-gap-signal satisfies spec:validation.warn-level-signals · anchored
  • impl:protocol.verifies-linkage satisfies spec:validation.verification-linkage · anchored
  • oracle:protocol.validator-self-testing models spec:validation.validator-self-testing · 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
  • test:protocol.claim-separation.collapsed-edge-claim verifies spec:validation.claim-separation.collapsed-edge-claim · anchored
  • test:protocol.claim-separation.unratified-descriptor verifies spec:validation.claim-separation.unratified-descriptor · anchored
  • test:protocol.diagnostic-rendering.composed-location verifies spec:validation.diagnostic-rendering.composed-location · anchored
  • test:protocol.diagnostic-rendering.table-cell-location verifies spec:validation.diagnostic-rendering.table-cell-location · anchored
  • test:protocol.duplicate-ids.dual-carrier verifies spec:validation.duplicate-ids.dual-carrier · anchored
  • test:protocol.pack-coherence.incoherent-aggregate verifies spec:validation.pack-coherence.incoherent-aggregate · anchored
  • test:protocol.readiness-floor verifies spec:validation.readiness-floor · anchored
  • test:protocol.readiness-floor.blocking-open-question verifies spec:validation.readiness-floor.blocking-open-question · anchored
  • test:protocol.readiness-floor.unrelated-scoped-spec verifies spec:validation.readiness-floor.unrelated-scoped-spec · anchored
  • test:protocol.referential-integrity.dangling-target verifies spec:validation.referential-integrity.dangling-target · anchored
  • test:protocol.referential-integrity.did-you-mean verifies spec:validation.referential-integrity.did-you-mean · anchored
  • test:protocol.two-check-families.split-report verifies spec:validation.two-check-families.split-report · anchored
  • test:protocol.validator-self-testing.duplicate-pair-named verifies spec:validation.validator-self-testing.duplicate-pair-named · anchored
  • test:protocol.validator-self-testing.overeager-check-named verifies spec:validation.validator-self-testing.overeager-check-named · anchored
  • test:protocol.validator-self-testing.shipped-checks-paired verifies spec:validation.validator-self-testing.shipped-checks-paired · anchored
  • test:protocol.validator-self-testing.silent-check-named verifies spec:validation.validator-self-testing.silent-check-named · anchored
  • test:protocol.validator-self-testing.unpaired-check-named verifies spec:validation.validator-self-testing.unpaired-check-named · anchored
  • test:protocol.validator-self-testing.unregistered-id-named verifies spec:validation.validator-self-testing.unregistered-id-named · anchored
  • test:protocol.verification-linkage.unbound-example verifies spec:validation.verification-linkage.unbound-example · anchored
  • test:protocol.verification-linkage.unresolved-oracle verifies spec:validation.verification-linkage.unresolved-oracle · anchored
  • test:protocol.warn-level-signals.orphan-signal verifies spec:validation.warn-level-signals.orphan-signal · anchored
  • test:protocol.warn-level-signals.ready-gap-signal verifies spec:validation.warn-level-signals.ready-gap-signal · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

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

Decisions

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

    Uses

  • impl:protocol.graph-index · builds the one-graph index validators and the reader share · src/validate/graph-index.ts:28

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

    Uses

    None.

  • impl:protocol.validation-contracts · conformance/honesty family currency and finding shapes · src/validate/contracts.ts:5

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

    Uses

    None.

  • impl:protocol.validation-families · conformance and honesty validator registry · src/validate/validators.ts:60

    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.two-check-families
  • E4: verifies · declared
The diagram as text
  • spec:decisions.one-validation-path: Validation follows one graph
  • spec:validation.authored-honesty: Machine truth is never authored
  • spec:validation.claim-separation: Graph claims and contracts stay distinct
  • spec:validation.corpus-rules: Corpus-authored rules run on the one validation path
  • spec:validation.diagnostic-rendering: One diagnostic currency, its location composed from structured fields
  • spec:validation.duplicate-ids: Duplicate carrier IDs are excluded loudly
  • spec:validation.pack-coherence: Packs are coherent aggregates
  • spec:validation.readiness-floor: Stated readiness must clear its floor
  • spec:validation.referential-integrity: Every graph reference resolves
  • spec:validation.two-check-families: Validation separates well-formedness from non-pretending
  • spec:validation.two-check-families.split-report: One report carries both families and claims neither as its own
  • spec:validation.validator-self-testing: Every validator ships evidence in both directions
  • spec:validation.verification-linkage: Example verification and oracle bindings resolve honestly
  • spec:validation.warn-level-signals: Missing connective evidence warns without failing
  • spec:validation.two-check-families decidedBy spec:decisions.one-validation-path · declared
  • spec:validation.corpus-rules constrainedBy spec:validation.two-check-families · declared
  • spec:decisions.one-validation-path refines spec:validation.two-check-families · declared
  • spec:validation.authored-honesty refines spec:validation.two-check-families · declared
  • spec:validation.claim-separation refines spec:validation.two-check-families · declared
  • spec:validation.diagnostic-rendering refines spec:validation.two-check-families · declared
  • spec:validation.duplicate-ids refines spec:validation.two-check-families · declared — duplicate identity is a conformance refusal
  • spec:validation.pack-coherence refines spec:validation.two-check-families · declared
  • spec:validation.readiness-floor refines spec:validation.two-check-families · declared — the readiness floor checks honesty of the stated rung
  • spec:validation.referential-integrity refines spec:validation.two-check-families · declared
  • spec:validation.two-check-families.split-report refines spec:validation.two-check-families · declared
  • spec:validation.validator-self-testing refines spec:validation.two-check-families · declared
  • spec:validation.verification-linkage refines spec:validation.two-check-families · declared
  • spec:validation.warn-level-signals refines spec:validation.two-check-families · declared
  • spec:validation.two-check-families.split-report verifies spec:validation.two-check-families · 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

Relations

Relation and directionOther endClaimReasonExercised keys
decidedBy · outgoingValidation follows one graph
spec:decisions.one-validation-path · resolves
declaredNoneNone
constrainedBy · incomingCorpus-authored rules run on the one validation path
spec:validation.corpus-rules · resolves
declaredNoneNone
refines · incomingValidation follows one graph
spec:decisions.one-validation-path · resolves
declaredNoneNone
refines · incomingMachine truth is never authored
spec:validation.authored-honesty · resolves
declaredNoneNone
refines · incomingGraph claims and contracts stay distinct
spec:validation.claim-separation · resolves
declaredNoneNone
refines · incomingOne diagnostic currency, its location composed from structured fields
spec:validation.diagnostic-rendering · resolves
declaredNoneNone
refines · incomingDuplicate carrier IDs are excluded loudly
spec:validation.duplicate-ids · resolves
declaredduplicate identity is a conformance refusalNone
refines · incomingPacks are coherent aggregates
spec:validation.pack-coherence · resolves
declaredNoneNone
refines · incomingStated readiness must clear its floor
spec:validation.readiness-floor · resolves
declaredthe readiness floor checks honesty of the stated rungNone
refines · incomingEvery graph reference resolves
spec:validation.referential-integrity · resolves
declaredNoneNone
refines · incomingOne report carries both families and claims neither as its own
spec:validation.two-check-families.split-report · resolves
declaredNoneNone
refines · incomingEvery validator ships evidence in both directions
spec:validation.validator-self-testing · resolves
declaredNoneNone
refines · incomingExample verification and oracle bindings resolve honestly
spec:validation.verification-linkage · resolves
declaredNoneNone
refines · incomingMissing connective evidence warns without failing
spec:validation.warn-level-signals · resolves
declaredNoneNone
verifies · incomingOne report carries both families and claims neither as its own
spec:validation.two-check-families.split-report · resolves
declaredNoneNone

Bindings

Implementation binding: present

  • component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · role validator · layer domain · context protocol
  • impl:protocol.graph-index · builds the one-graph index validators and the reader share · src/validate/graph-index.ts:28 · role index · component component:protocol.validate · layer domain · context protocol
  • impl:protocol.validation-contracts · conformance/honesty family currency and finding shapes · src/validate/contracts.ts:5 · role contract · component component:protocol.validate · layer domain · context protocol
  • impl:protocol.validation-families · conformance and honesty validator registry · src/validate/validators.ts:60 · role contract · 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.