Give DerivationEdge.supportStrength semantics (or surface it as a gap)
DerivationEdge.supportStrength: "weak" | "moderate" | "strong" is declared in the Hachure schema and carried on edges, but it is currently pass-through metadata: the weakest-link status ceiling treats all inputs equally (src/derivation.ts). The slot exists; the semantics don't.
For answer provenance this is the difference between "this answer is based on 3 sources" and "this answer leans on a weak input" — exactly the kind of signal a provenance card (kontourai/station#1391) exists to surface honestly.
Design question (needs a decision before implementation)
Two candidate semantics, consistent with the no-numeric-scores stance:
- Status-affecting: a derived claim's ceiling is its weakest input discounted by edge strength — e.g. an answer resting only on
weak edges cannot derive above some status, or the edge contributes an unsupported_inference-adjacent gap when strength is weak and the input is load-bearing (no corroborating input)
- Gap-only: status math unchanged; instead a new or refined transparency gap flags conclusions whose sole support path is weak edges — keeping the status function untouched (lower risk;
statusFunctionVersion compat with Hachure conformance vectors must be checked either way)
Option 2 is likely the right first step: it makes weakness visible without changing the status function's contract with the spec conformance suite (statusFunctionVersion: "2" is asserted against hachure-org vectors).
Notes
- Distinct from
Evidence.supportStrength: cited|entails, which IS derivation-active today — this issue is only about the claim→claim edge strength
- If option 1 is ever taken, it's version-sensitive (enum/semantics change) and goes through the Hachure-first path per
docs/reference/schema-versioning.md
Give DerivationEdge.supportStrength semantics (or surface it as a gap)
DerivationEdge.supportStrength: "weak" | "moderate" | "strong"is declared in the Hachure schema and carried on edges, but it is currently pass-through metadata: the weakest-link status ceiling treats all inputs equally (src/derivation.ts). The slot exists; the semantics don't.For answer provenance this is the difference between "this answer is based on 3 sources" and "this answer leans on a weak input" — exactly the kind of signal a provenance card (kontourai/station#1391) exists to surface honestly.
Design question (needs a decision before implementation)
Two candidate semantics, consistent with the no-numeric-scores stance:
weakedges cannot derive above some status, or the edge contributes anunsupported_inference-adjacent gap when strength isweakand the input is load-bearing (no corroborating input)statusFunctionVersioncompat with Hachure conformance vectors must be checked either way)Option 2 is likely the right first step: it makes weakness visible without changing the status function's contract with the spec conformance suite (
statusFunctionVersion: "2"is asserted against hachure-org vectors).Notes
Evidence.supportStrength: cited|entails, which IS derivation-active today — this issue is only about the claim→claim edge strengthdocs/reference/schema-versioning.md