Repository navigation
scientific(relation): require owner-issued provenance before Observed activation #675
Description
Finding
Review after #673/#674 exposed an authority gap one boundary earlier than numerical admission. relation_graph::RelationEvidenceStatus correctly distinguishes Observed (direct source/authoritative-system evidence) from Inferred (model/reasoner/heuristic proposal), and #673 now excludes Inferred transitions from TRSL-TM numerical estimation. However, the public RelationEdge::new(...) constructor still accepts RelationEvidenceStatus::Observed directly from any caller.
As a result, a caller that owns no source-evidence authority can manufacture an otherwise-valid edge with Observed status and thereby cross the #673 numerical gate. The enum documents promotion semantics, but the type/API does not yet prove who performed that promotion or which immutable source evidence supports it.
This issue is distinct from #674 (relation interval ↔ modeled EventTime consistency) and #671 (document/source event-time authentication). It is the relation evidence-activation authority boundary.
Required owner path
Do not solve this by adding a boolean, string provenance field, locally hashing source text, or trusting LLM output. The observed constructor must eventually consume a versioned owner-issued Evidence/Temporal Semantics receipt or ACL contract that binds at minimum:
- source evidence identity/version;
- relation kind and endpoint identities;
- event-valid source/target intervals used by the relation;
- availability/cutoff evidence appropriate to the observation;
- promotion/derivation authority sufficient to distinguish documentary observation from model inference.
Inferred relation construction must remain available for model/reasoner proposals without granting numerical authority. Promotion must be an explicit validated owner transition, not caller mutation of an enum.
Required RED once owner contract is available
- direct downstream construction of an
Observedrelation without owner evidence is impossible or fails closed; - an
Inferredproposal cannot becomeObservedby changing a status value or deserializing an unbound payload; - an owner-issued observed receipt reconstructs the relation and preserves its validated temporal intervals;
- A-source/B-relation or A-receipt/B-endpoint substitution fails;
- scientific(relation): exclude unpromoted inferred transitions from numerical estimation #673 estimator behavior remains: only properly activated
Observedtransitions can influence objective/uncertainty/lineage; - no LLM output, semantic label, or heuristic can issue the authoritative activation.
Dependency / boundary
#527/#658 currently own the mutable Evidence/source receipt work and are not released consumer authority. Define the final cross-context ACL only after that owner contract settles; do not copy SourceSnapshotReceiptV1 source or invent a parallel receipt in topic_measurement.
Activity