{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://docs.demiton.io/registers/sor_verification/v1.json",
  "title": "sor_verification contract v1",
  "type": "object",
  "required": [
    "agent_run_id",
    "findings",
    "line_items",
    "opportunity_ref",
    "pricing_document",
    "review_state",
    "status",
    "summary"
  ],
  "properties": {
    "status": {
      "type": "string",
      "description": "Overall verification outcome for the opportunity",
      "x-demiton-requiredness": "required"
    },
    "summary": {
      "type": "string",
      "description": "One-sentence human-readable statement of the result; also the fact's `content`",
      "x-demiton-requiredness": "required"
    },
    "findings": {
      "type": "array",
      "description": "Discrepancies, warnings and synthesized advisories",
      "x-demiton-requiredness": "required",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Finding title",
            "x-demiton-requiredness": "required"
          },
          "detail": {
            "type": "string",
            "description": "Finding detail",
            "x-demiton-requiredness": "required"
          },
          "severity": {
            "type": "string",
            "description": "Finding severity",
            "x-demiton-requiredness": "required"
          }
        },
        "required": [
          "detail",
          "severity",
          "title"
        ]
      }
    },
    "line_items": {
      "type": "array",
      "description": "The schedule rows verified",
      "x-demiton-requiredness": "required",
      "items": {
        "type": "object",
        "properties": {
          "uom": {
            "type": "string",
            "description": "Unit of measure that makes the quantity meaningful and comparable",
            "x-demiton-requiredness": "required"
          },
          "sor_qty": {
            "type": "number",
            "description": "The client's claimed baseline quantity",
            "x-demiton-requiredness": "required",
            "x-demiton-unit": "row `uom`"
          },
          "verdict": {
            "type": "string",
            "description": "Per-row outcome",
            "x-demiton-requiredness": "required"
          },
          "item_ref": {
            "type": "string",
            "description": "Schedule item identifier",
            "x-demiton-requiredness": "required"
          },
          "derivations": {
            "type": "array",
            "description": "Each independent derivation for the row",
            "x-demiton-requiredness": "required",
            "items": {
              "type": "object",
              "properties": {
                "unit": {
                  "type": "string",
                  "description": "Unit of the derived value, matched against the row `uom`",
                  "x-demiton-requiredness": "required"
                },
                "value": {
                  "type": "number",
                  "description": "The derived quantity",
                  "x-demiton-requiredness": "required",
                  "x-demiton-unit": "derivation `unit`"
                },
                "method": {
                  "type": "string",
                  "description": "How the value was derived",
                  "x-demiton-requiredness": "required"
                },
                "caveats": {
                  "type": "array",
                  "description": "The measurement tool's own caveats, verbatim; a caveat qualifies a quantity and must not be lost",
                  "x-demiton-requiredness": "required"
                },
                "citation": {
                  "type": "string",
                  "description": "Where the derivation came from (document/page/cell)",
                  "x-demiton-requiredness": "required"
                },
                "confidence": {
                  "type": "string",
                  "description": "The measurement tool's own confidence, copied verbatim",
                  "x-demiton-requiredness": "required"
                },
                "methodology": {
                  "type": "string",
                  "description": "The tool's methodology text, verbatim; prose, not a schema constraint",
                  "x-demiton-requiredness": "optional"
                },
                "evidence_url": {
                  "type": "string",
                  "description": "Overlay evidence image produced by this run's tools",
                  "x-demiton-requiredness": "required"
                }
              },
              "required": [
                "caveats",
                "citation",
                "confidence",
                "evidence_url",
                "method",
                "unit",
                "value"
              ]
            }
          },
          "description": {
            "type": "string",
            "description": "Item description",
            "x-demiton-requiredness": "required"
          },
          "variance_pct": {
            "type": "number",
            "description": "Server-computed `(measured - claimed) / claimed`; server owns its absence",
            "x-demiton-requiredness": "required",
            "x-demiton-unit": "percent"
          },
          "verification_strength": {
            "type": "string",
            "description": "Server-computed independence of the corroboration — stops \"verified\" overclaiming",
            "x-demiton-requiredness": "required"
          }
        },
        "required": [
          "derivations",
          "description",
          "item_ref",
          "sor_qty",
          "uom",
          "variance_pct",
          "verdict",
          "verification_strength"
        ]
      }
    },
    "agent_run_id": {
      "type": "number",
      "description": "Provenance: which AgentRun produced the fact",
      "x-demiton-requiredness": "required"
    },
    "review_state": {
      "type": "string",
      "description": "Human-review marker; the fact is agent-proposed, not reconciled",
      "x-demiton-requiredness": "required"
    },
    "opportunity_ref": {
      "type": "string",
      "description": "The opportunity number the verification is anchored to",
      "x-demiton-requiredness": "required"
    },
    "pricing_document": {
      "type": "object",
      "description": "The baseline document the quantities were read from",
      "x-demiton-requiredness": "required"
    },
    "baseline_provenance": {
      "type": "string",
      "description": "Who issued the parsed baseline; `pca_internal` is a trust caveat",
      "x-demiton-requiredness": "optional"
    }
  },
  "x-demiton-register-type": "sor_verification",
  "x-demiton-contract-version": "1.0.2",
  "x-demiton-store": "tenant",
  "x-demiton-axes": [],
  "x-demiton-measures": [],
  "x-demiton-provenance": {
    "standards": [
      {
        "code": "AS 1726:2017",
        "title": "Geotechnical site investigations",
        "access": "paywalled_secondary",
        "region": "Australia",
        "edition": "2017",
        "checked_on": "2026-09-14"
      },
      {
        "code": "AS 5488.1:2022",
        "title": "Classification of Subsurface Utility Information (SUI)",
        "access": "paywalled_secondary",
        "region": "Australia",
        "edition": "2022 (supersedes 2019)",
        "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": "A client's schedule of rates checked against the tender drawings by independent measurement.",
  "x-demiton-contract-url": "https://docs.demiton.io/registers/sor_verification/",
  "x-demiton-register-catalog": "https://docs.demiton.io/concepts/register-catalog"
}