{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://docs.demiton.io/registers/platform_evidence_standard/v1.json",
  "title": "platform_evidence_standard contract v1",
  "type": "object",
  "required": [
    "applies_to_form",
    "consequence",
    "dispute_type",
    "grade",
    "jurisdiction",
    "kind",
    "register",
    "source_clause",
    "source_title",
    "standard_key"
  ],
  "properties": {
    "kind": {
      "type": "string",
      "description": "how the standard is measured: a cadence (`periodic`), a window after an anchor event (`event_bound`), a retention period (`retention`) or a standing condition (`state`)",
      "enum": [
        "periodic",
        "event_bound",
        "retention",
        "state"
      ],
      "x-demiton-requiredness": "required"
    },
    "grade": {
      "type": "string",
      "description": "how close to the source the reading was",
      "enum": [
        "primary_read",
        "primary_via_secondary",
        "secondary",
        "demiton_default"
      ],
      "x-demiton-requiredness": "required"
    },
    "anchor": {
      "type": "object",
      "description": "for `event_bound`: the register and field whose value starts the clock, and a one-line description of the event",
      "x-demiton-requiredness": "optional"
    },
    "caveat": {
      "type": "string",
      "description": "what bounds the standard: an amendment that may change it, a paywalled text read second-hand, a regional exception",
      "x-demiton-requiredness": "optional"
    },
    "register": {
      "type": "string",
      "description": "the tenant register the evidence lands in, as a shelf_type",
      "x-demiton-requiredness": "required"
    },
    "source_url": {
      "type": "string",
      "description": "a resolvable link to the source text, or to the reliable secondary that quotes it",
      "x-demiton-requiredness": "optional"
    },
    "consequence": {
      "type": "string",
      "description": "what missing the standard costs, as the source states it",
      "enum": [
        "barred",
        "reduced_per_day",
        "costs_excluded",
        "liable_full_amount",
        "damages_only",
        "offence",
        "breach",
        "guidance"
      ],
      "x-demiton-requiredness": "required"
    },
    "window_unit": {
      "type": "string",
      "description": "unit of `window_value`; business and working days follow the governing statute or contract definition",
      "enum": [
        "hours",
        "days",
        "business_days",
        "working_days",
        "months"
      ],
      "x-demiton-requiredness": "optional"
    },
    "dispute_type": {
      "type": "string",
      "description": "which of the five dispute types the standard defends",
      "enum": [
        "latent_conditions",
        "delay_eot",
        "variations",
        "payment",
        "closeout"
      ],
      "x-demiton-requiredness": "required"
    },
    "jurisdiction": {
      "type": "jurisdiction",
      "description": "where the standard applies: `AU` or `NZ` for a national form or Act, `AU-QLD` etc. for a state Act; drives the platform partition",
      "x-demiton-requiredness": "required"
    },
    "research_row": {
      "type": "string",
      "description": "the row id in the research record this standard was transcribed from (e.g. `L2`, `NP5`)",
      "x-demiton-requiredness": "optional"
    },
    "source_title": {
      "type": "string",
      "description": "the contract form, Act, specification or guidance the standard comes from",
      "x-demiton-requiredness": "required"
    },
    "standard_key": {
      "type": "string",
      "description": "stable id of the standard, e.g. `payment.schedule_due.au-qld`; the supersede key with `source_version`",
      "x-demiton-requiredness": "required"
    },
    "window_value": {
      "type": "number",
      "description": "the cadence or window length in `window_unit`; null when the source says only 'promptly' or 'as soon as practicable'",
      "x-demiton-requiredness": "optional"
    },
    "source_clause": {
      "type": "string",
      "description": "the clause, section or paragraph",
      "x-demiton-requiredness": "required"
    },
    "register_match": {
      "type": "object",
      "description": "equality predicate on that register selecting the evidence, e.g. `{\"notice_kind\": \"latent_condition\"}`",
      "x-demiton-requiredness": "optional"
    },
    "source_version": {
      "type": "string",
      "description": "the edition or legislation version date read",
      "x-demiton-requiredness": "optional"
    },
    "applies_to_form": {
      "type": "string",
      "description": "the contract form the standard is written for; `statute` for a legislative rule, `any` when form-independent",
      "enum": [
        "GC21",
        "TMR_TIC",
        "MRWA_MAJOR",
        "MRWA_MINOR",
        "AS4000_1997",
        "AS2124",
        "NZS3910_2013",
        "NZS3910_2023",
        "statute",
        "any"
      ],
      "x-demiton-requiredness": "required"
    },
    "minimum_content": {
      "type": "array",
      "description": "the fields the evidence record must carry to count, as the source lists them",
      "x-demiton-requiredness": "optional"
    },
    "window_source_field": {
      "type": "string",
      "description": "the `contract_terms` field whose value overrides `window_value` when the contract states its own window",
      "x-demiton-requiredness": "optional"
    }
  },
  "x-demiton-register-type": "platform_evidence_standard",
  "x-demiton-contract-version": "1.1.1",
  "x-demiton-store": "platform",
  "x-demiton-axes": [],
  "x-demiton-measures": [],
  "x-demiton-provenance": {
    "standards": []
  },
  "description": "The Platform evidence standard register contract, version 1. JSON Schema (draft 2020-12); x-demiton-* keywords carry Demiton's own meaning and standard validators ignore them.",
  "x-demiton-contract-url": "https://docs.demiton.io/registers/platform_evidence_standard/",
  "x-demiton-register-catalog": "https://docs.demiton.io/concepts/register-catalog"
}