{
  "schema_version": "civicdataforge.decision-contract-documentation.v1",
  "updated_at": "2026-08-22",
  "contract": {
    "schema": "https://civicdataforge.pages.dev/schemas/decision-envelope-v1.schema.json",
    "mode": "additive",
    "compatibility": "Product-specific output fields remain unchanged. A product may add this envelope when it can populate every required field and satisfy the state-specific constraints.",
    "receipt_rule": "decision_receipt_hash is SHA-256 over canonical JSON for the complete envelope excluding decision_receipt_hash."
  },
  "required_groups": ["subject", "source", "scope", "retrieval", "integrity", "responsible_semantics"],
  "states": {
    "EVIDENCE_FOUND": {
      "meaning": "Matching evidence was returned by the named published source within the selected scope. The issuing authority remains controlling.",
      "requires": ["available source", "accepted integrity", "at least one matched record fingerprint"]
    },
    "NO_PUBLISHED_MATCH": {
      "meaning": "No matching record was found in the complete selected published-source query. This is not proof of illegality, ineligibility, nonexistence, or absence from another authority.",
      "requires": ["available source", "complete selected query", "accepted integrity", "zero matched record fingerprints"]
    },
    "REVIEW_REQUIRED": {
      "meaning": "The available evidence or input is ambiguous and requires human review before a consequential interpretation.",
      "requires": ["review_required integrity", "reason code explaining the ambiguity"]
    },
    "SOURCE_UNAVAILABLE": {
      "meaning": "The named source could not be evaluated. No positive or negative record conclusion is supported.",
      "requires": ["unavailable source", "incomplete query", "unavailable integrity", "no source-response hash"]
    },
    "SCOPE_INCOMPLETE": {
      "meaning": "Only a bounded or incomplete portion of the selected scope was evaluated. A complete absence or disappearance conclusion is not supported.",
      "requires": ["bounded or incomplete coverage", "incomplete query", "incomplete integrity"]
    }
  },
  "adoption": {
    "status": "implemented_by_specific_products_not_universally_emitted",
    "current_product_envelopes": [
      {"product_id": "str-permit-registry", "surface": "address evidence and permit-audit decision outputs", "mapping_status": "product-specific envelope exists; universal additive projection is defined but not claimed as deployed"},
      {"product_id": "india-company-registry", "surface": "exact-CIN and registered-name evidence decisions", "mapping_status": "product-specific envelope exists; universal additive projection is defined but not claimed as deployed"}
    ],
    "other_products": "No universal decision envelope is claimed until the product can populate all source, scope, retrieval, integrity, and receipt fields and passes product-specific regression tests."
  },
  "global_boundary": "This contract standardizes interpretation of public-record evidence. It is not a consumer report, legal determination, KYC completion, or sole basis for credit, insurance, employment, housing, payment, licensing, or another eligibility decision."
}
