{
  "method": "StructEvidence Temporal Evidence Method",
  "version": "1.0",
  "purpose": "Prevent unsupported inference by separating evidence state, time boundary, and unresolved uncertainty.",
  "question_protocol": {
    "version": "QUESTION_TO_EVIDENCE_COMMERCE_PROTOCOL_v0.1",
    "flow": [
      "QUESTION_INTAKE",
      "CLAIM_MATCH",
      "PUBLIC_STOP_POINT",
      "MINIMUM_MISSING_EVIDENCE",
      "HUMAN_AUTHORIZED_VERIFY"
    ],
    "match_classes": [
      "EXACT",
      "ISOMORPHIC",
      "PARTIAL",
      "NONE"
    ],
    "commerce_boundary": "PROCESS_BOUGHT_OUTCOME_NOT_BOUGHT",
    "automatic_research_authorization": false
  },
  "scholarly_record": {
    "title": "From Retrieval to Defensible Decisions: A Protocol for Time-Bounded Evidence States",
    "publication_type": "methods_preprint",
    "version": "v0.1",
    "published_at": "2026-09-29",
    "version_doi": "10.5281/zenodo.23033588",
    "version_doi_url": "https://doi.org/10.5281/zenodo.23033588",
    "concept_doi": "10.5281/zenodo.23033587",
    "concept_doi_url": "https://doi.org/10.5281/zenodo.23033587",
    "zenodo_record": "https://zenodo.org/records/23033588",
    "canonical_scholarly_version": "VERSION_DOI",
    "canonical_scholarly_family": "CONCEPT_DOI",
    "replication_repository": "https://github.com/roalstoney-alt/structurevidence",
    "public_method_site": "https://structurevidence.org",
    "machine_method_contract": "https://structurevidence.org/method-contract.json"
  },
  "inference_policy": {
    "mode": "CLOSED_BOUNDARY",
    "rule_id": "UNDECLARED_INFERENCE_NOT_AUTHORIZED",
    "statement": "An inference not explicitly represented by the claim state, supports, does_not_support, unknowns, or approved scope must not be treated as supported.",
    "undeclared_inference": "OUT_OF_BOUNDARY"
  },
  "state_normalization": {
    "version": "STATE_NORMALIZATION_v0.1",
    "document": "https://structurevidence.org/protocol/state-normalization-v0.1.json",
    "schema": "https://structurevidence.org/protocol/state-normalization/schema-v0.1.json",
    "additive": true,
    "legacy_state_preserved": true
  },
  "state_identity": {
    "required_dimensions": [
      "claim_id",
      "as_of",
      "protocol_version",
      "snapshot_commit"
    ]
  },
  "decision_ownership": {
    "evidence_state_determines_decision": false,
    "agent_may": [
      "RETRIEVE",
      "COMPARE",
      "EXPLAIN",
      "TRACE"
    ],
    "final_decision_authority": "RESPONSIBLE_ACTOR"
  },
  "change_object_contract": {
    "history_policy": "APPEND_DONT_ERASE",
    "required_fields_when_transition_exists": [
      "claim_id",
      "from_state",
      "to_state",
      "from_as_of",
      "to_as_of",
      "protocol_version",
      "transition_evidence",
      "published_at",
      "snapshot_commit",
      "supersedes"
    ]
  },
  "principles": [
    {
      "id": "FACT_NE_CLAIM",
      "statement": "A fact, claim, evidence record and decision are distinct objects."
    },
    {
      "id": "EVENT_TIME_NE_KNOWLEDGE_TIME",
      "statement": "When an event occurred is distinct from when it became known within the evidence system."
    },
    {
      "id": "NOT_FOUND_NE_DOES_NOT_EXIST",
      "statement": "Failure to find evidence within a defined search scope does not prove non-existence."
    },
    {
      "id": "SINGLE_INSTANCE_NE_INDUSTRY_ADOPTION",
      "statement": "One deployment does not establish broad adoption."
    },
    {
      "id": "ORDER_NE_DELIVERY",
      "statement": "An order does not establish delivery."
    },
    {
      "id": "DELIVERY_NE_COMMISSIONING",
      "statement": "Delivery does not establish commissioning."
    },
    {
      "id": "COMMISSIONING_NE_OPERATING_HISTORY",
      "statement": "Commissioning does not establish operating history."
    },
    {
      "id": "SOURCE_STATEMENT_NE_INDEPENDENT_VALIDATION",
      "statement": "A source's own statement is not independent third-party validation."
    },
    {
      "id": "UNKNOWN_MUST_NOT_BE_INFERRED",
      "statement": "Unknown states remain unknown until qualifying evidence resolves them."
    },
    {
      "id": "UNDECLARED_INFERENCE_NOT_AUTHORIZED",
      "statement": "An inference not explicitly represented by the claim state, supports, does_not_support, unknowns, or approved scope must not be treated as supported."
    },
    {
      "id": "TIME_BOUNDED_STATE",
      "statement": "Every evidence state has a knowledge-time boundary."
    },
    {
      "id": "PROTOCOL_BOUNDED_STATE",
      "statement": "Every evidence state identifies the protocol or evidence contract under which it was produced."
    },
    {
      "id": "APPEND_DONT_ERASE",
      "statement": "New evidence creates new state versions; previous approved public states remain retrievable."
    },
    {
      "id": "CHANGE_IS_DATA",
      "statement": "A transition from one evidence state to another is itself a first-class evidence record."
    },
    {
      "id": "EVIDENCE_STATE_NE_DECISION",
      "statement": "A defensible evidence state constrains the decision space but does not determine the final decision."
    },
    {
      "id": "AGENT_READS_ACTOR_DECIDES",
      "statement": "Agents may retrieve, compare, explain and trace evidence states; the responsible actor owns the final decision."
    },
    {
      "id": "SE-APPEND-ONLY-CORRECTION-001",
      "statement": "We can be wrong. We must remain auditable.",
      "scope": "All current and future evidence cases, observations and public research projections.",
      "governance_document": "docs/engineering/SE_APPEND_ONLY_CORRECTION_001.md",
      "additive_to": "SE-ENG-HISTORY-001",
      "original_records_rewritten": false,
      "corrections_append_only": true,
      "existing_state_enum_changed": false
    }
  ],
  "required_claim_fields": [
    "claim_id",
    "case_id",
    "statement",
    "state",
    "as_of",
    "supports",
    "does_not_support",
    "unknowns",
    "provenance",
    "next_observable",
    "canonical_url"
  ]
}
