{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://docs.demiton.io/registers/sor_verification_tendered/v1.json",
  "title": "sor_verification_tendered contract v1",
  "type": "object",
  "required": [
    "agent_run_id",
    "line_items",
    "opportunity_ref",
    "review_state",
    "status",
    "subject_entity_id",
    "summary"
  ],
  "properties": {
    "status": {
      "type": "string",
      "description": "The verification outcome for the run.",
      "x-demiton-requiredness": "required"
    },
    "summary": {
      "type": "string",
      "description": "One-paragraph rendered narrative (counts of consistent/discrepancy/unverified and number compared against the tendered submission).",
      "x-demiton-requiredness": "required"
    },
    "findings": {
      "type": "array",
      "description": "discrepancy, title: string, detail: string}`",
      "x-demiton-requiredness": "optional",
      "x-demiton-unit": "warning\\"
    },
    "line_items": {
      "type": "array",
      "description": "The verified line items — the substance of the record and the only part the reader uses.",
      "x-demiton-requiredness": "required",
      "items": {
        "type": "object",
        "properties": {
          "sor_qty": {
            "type": "number",
            "description": "the line's own UoM (`line_items[].uom`, a string)",
            "x-demiton-requiredness": "required",
            "x-demiton-unit": "null"
          },
          "verdict": {
            "type": "string",
            "description": "The per-line verification verdict.",
            "x-demiton-requiredness": "required"
          },
          "item_ref": {
            "type": "string",
            "description": "The client SoR item reference for a verified line.",
            "x-demiton-requiredness": "required"
          },
          "measured_qty": {
            "type": "number",
            "description": "same as `line_items[].uom`",
            "x-demiton-requiredness": "optional",
            "x-demiton-unit": "null"
          },
          "variance_pct": {
            "type": "number",
            "description": "Server-computed variance of the measured value against the SoR quantity.",
            "x-demiton-requiredness": "optional",
            "x-demiton-unit": "per cent"
          },
          "verification_strength": {
            "type": "string",
            "description": "How independent the corroborating derivation is.",
            "x-demiton-requiredness": "optional"
          },
          "tendered_comparison": {
            "type": "object",
            "properties": {
              "matched_by": {
                "type": "string",
                "description": "How the line was matched into the tendered submission.",
                "x-demiton-requiredness": "optional"
              },
              "tendered_qty": {
                "type": "number",
                "description": "`line_items[].uom` (with `tendered_unit` recorded verbatim)",
                "x-demiton-requiredness": "optional",
                "x-demiton-unit": "null"
              },
              "qty_variance_vs_sor_pct": {
                "type": "number",
                "description": "per cent",
                "x-demiton-requiredness": "optional",
                "x-demiton-unit": "null"
              },
              "qty_variance_vs_measured_pct": {
                "type": "number",
                "description": "per cent",
                "x-demiton-requiredness": "optional",
                "x-demiton-unit": "null"
              }
            }
          }
        },
        "required": [
          "item_ref",
          "sor_qty",
          "verdict"
        ]
      }
    },
    "agent_run_id": {
      "type": "number",
      "description": "The run that produced this verification; the citation's `external_ref` and `origin_uri` are built from it.",
      "x-demiton-requiredness": "required"
    },
    "review_state": {
      "type": "string",
      "description": "Every value on this shelf is agent-derived and awaits human reconciliation; the single legal value today.",
      "x-demiton-requiredness": "required"
    },
    "opportunity_ref": {
      "type": "string",
      "description": "The opportunity number/name the verified tender belongs to; the only human key that ties the fact to the spine entity it is anchored on.",
      "x-demiton-requiredness": "required"
    },
    "pricing_document": {
      "type": "object",
      "description": "The document the SoR line items were transcribed from. Null when no pricing document was parsed.",
      "x-demiton-requiredness": "optional"
    },
    "subject_entity_id": {
      "type": "integer",
      "description": "The opportunity spine entity the fact is anchored on. Recorded because it is the shelf's *only* axis: `entity_id=entity.id` with an empty `CoordinateBundle` (line 812), and there is no `project_id`/`period` column populated at all.",
      "x-demiton-requiredness": "required"
    },
    "tendered_document": {
      "type": "object",
      "description": "—",
      "x-demiton-requiredness": "optional",
      "x-demiton-unit": "null}`",
      "properties": {
        "revision": {
          "type": "string",
          "description": "The revision label of the tendered submission, e.g. `Rev 3`; **not** an ordering or a status.",
          "x-demiton-requiredness": "optional"
        }
      }
    },
    "baseline_provenance": {
      "type": "string",
      "description": "Who issued the parsed pricing baseline. `client_issued` is the only clean value; `pca_internal` is a fallback that requires a warning finding.",
      "x-demiton-requiredness": "optional"
    },
    "baseline_document_identifier": {
      "type": "string",
      "description": "An appointment/asset-scoped identifier for the client-issued baseline container.",
      "x-demiton-requiredness": "optional"
    },
    "revision_ordering_convention": {
      "type": "string",
      "description": "A code-set identifier saying how to order revisions and status values (e.g. an annex or project execution-plan identifier).",
      "x-demiton-requiredness": "optional"
    }
  },
  "x-demiton-register-type": "sor_verification_tendered",
  "x-demiton-contract-version": "1.0.2",
  "x-demiton-store": "tenant",
  "x-demiton-axes": [],
  "x-demiton-measures": [],
  "x-demiton-provenance": {
    "standards": [
      {
        "code": "AS 4000:2025",
        "title": "General Conditions of Contract (construct only)",
        "access": "paywalled_secondary",
        "region": "Australia",
        "edition": "2025",
        "checked_on": "2026-09-14"
      },
      {
        "code": "AS ISO 19650.1:2019 / AS ISO 19650.2:2019",
        "title": "Organization and digitization of information about buildings and civil engineering works - Part 1 concepts and principles (identical to ISO 19650-1:2018)",
        "access": "paywalled_secondary",
        "region": "Australia",
        "edition": "2019",
        "checked_on": "2026-09-14"
      },
      {
        "code": "AS ISO 19650.2:2019",
        "title": "Organization and digitization of information - Part 2 delivery phase of the assets (identical to ISO 19650-2:2018)",
        "access": "paywalled_secondary",
        "region": "Australia",
        "edition": "2019",
        "checked_on": "2026-09-14"
      },
      {
        "code": "ICMS 3",
        "title": "International Cost Management Standard",
        "access": "public_summary",
        "region": "International",
        "edition": "3rd edition (2021)",
        "checked_on": "2026-09-14"
      },
      {
        "code": "ISO 19650-1:2018 / ISO 19650-2:2018",
        "title": "Organization and digitization of information about buildings and civil engineering works, including BIM - Parts 1 and 2",
        "access": "paywalled_secondary",
        "region": "International",
        "edition": "2018",
        "checked_on": "2026-09-14"
      }
    ]
  },
  "description": "The same schedule-of-rates check run on tendered jobs, compared against your own submitted rates.",
  "x-demiton-contract-url": "https://docs.demiton.io/registers/sor_verification_tendered/",
  "x-demiton-register-catalog": "https://docs.demiton.io/concepts/register-catalog"
}