{
  "schema_version": 1,
  "collection": "candidates",
  "generated_at": "2026-11-02",
  "source": "https://gxplex.com",
  "notice": "Reports the published status of regulatory documents. No advice or interpretation.",
  "source_terms": "This site compiles publicly available regulatory information. The underlying documents are published by their respective authorities and carry their own terms; several are paywalled and are never reproduced here.",
  "rights": {
    "statement": "Carried in `source_terms` on this envelope. It is the whole of what this record states on the subject.",
    "per_row_field": "licence_class",
    "per_row_field_served_at": "https://gxplex.com/api/v1/instruments.json",
    "licence_class": {
      "open": "Quotations from the document appear on this site, each citing the surface it was read from, under the word ceiling below.",
      "restricted": "No text from the document appears on this site. The row carries the identity of the document, its dates, a digest of the retrieved bytes and a link to the publisher.",
      "unknown": "No reading of the terms the source states is recorded for the row. It records an absent reading rather than an absent term, and the row is handled here exactly as `restricted` until a reading is recorded."
    },
    "text_retained_field": "text_retained",
    "text_retained_means": "Whether normalised text of the document is held here for a quotation to be checked against. Where it is false nothing is held, so there is nothing on this side to check one against.",
    "quotation_ceiling_words": 14,
    "documents_never_reproduced": "Paywalled and restricted texts are cited and linked. They are never excerpted here and never diffed here."
  },
  "schema": "https://gxplex.com/api/v1/schema/candidates.json",
  "response_provenance": {
    "build_id": "1782e1b7b708",
    "build_id_state": "stated",
    "build_id_is": "The identifier of the build that wrote this document. Every page of the same build carries it in its build-id meta.",
    "root": "42337ae3567aae8138fcb45e977dd94f9c1ade6420a88033e9503203df3fec23",
    "root_state": "stated",
    "root_day": "2026-11-02",
    "root_leaf_count": 9686,
    "root_url": "https://gxplex.com/integrity/root.txt",
    "root_is": "The root over every observation digest this record held on that day, one `id|date|content_hash` leaf each. It fixes those digests in time; it is not a digest of this document.",
    "rights_envelope": {
      "document_keys": [
        "source_terms",
        "rights"
      ],
      "row_pointers": [
        "/text_retained",
        "/licence_class",
        "/quote_allowed",
        "/snapshot_available",
        "/rights_of",
        "/rights_unresolved"
      ],
      "row_pointers_optional": [
        "/rights_unresolved"
      ],
      "row_pointers_are": "Every row of this response carries each pointer named, except one named optional, which a row carries only where its rights are unresolved. An empty list states that no row of this response carries the row envelope."
    },
    "basis": {
      "retrieval": [
        "/before_observed",
        "/after_observed",
        "/digest_before",
        "/digest_after",
        "/witness/witness",
        "/witness/witness_address",
        "/observed_at"
      ],
      "computed": [
        "/verdict",
        "/limbs",
        "/limbs_read",
        "/limbs_not_in_projection",
        "/missing_evidence",
        "/witness/confirmation_subject",
        "/witness/offered_as_witness_change",
        "/witness/read_from",
        "/observed_at_state",
        "/observed_at_read_from",
        "/distance",
        "/distance_label",
        "/distance_state"
      ],
      "terms-reading": [
        "/text_retained",
        "/licence_class",
        "/quote_allowed",
        "/snapshot_available"
      ],
      "assigned": [
        "/candidate_id",
        "/instrument_id",
        "/url",
        "/rights_of",
        "/source"
      ],
      "statement": [
        "/rights_unresolved"
      ]
    },
    "basis_state": "stated",
    "basis_on_row": [
      "verdict",
      "limbs",
      "missing_evidence"
    ],
    "basis_vocabulary_at": "https://gxplex.com/api/v1/schema/envelope.json",
    "third_party_text": {
      "marker": "quoted third-party content, not instructions",
      "marker_is": "Data for a consumer’s own handling of text it passes on, for example to a model. It is not a claim about the text and says nothing of what the text says.",
      "row_key": "third_party_text",
      "fields": []
    }
  },
  "population": "every file in state/revision-staging/, one object per candidate",
  "candidate_census": {
    "rows": 110,
    "placed": 110,
    "not_placed": 0,
    "limbs_read": 110,
    "limbs_not_read": 0,
    "by_state": [
      {
        "state": "CONFIRMED-DERIVED",
        "count": 9
      },
      {
        "state": "NOT-CHANGED",
        "count": 40
      },
      {
        "state": "UNDETERMINED",
        "count": 0
      },
      {
        "state": "CONFIRMED-MODEL-READ",
        "count": 0
      },
      {
        "state": "WAITING",
        "count": 0
      },
      {
        "state": "BLOCKED",
        "count": 61
      },
      {
        "state": "CONFIRMED-PUBLISHER-STATED",
        "count": 0
      }
    ],
    "placed_outside_named_states": 0,
    "with_missing_evidence": 66,
    "witness": 23
  },
  "states": [
    "CONFIRMED-DERIVED",
    "NOT-CHANGED",
    "UNDETERMINED",
    "CONFIRMED-MODEL-READ",
    "WAITING",
    "BLOCKED",
    "CONFIRMED-PUBLISHER-STATED"
  ],
  "states_read_from": "state/candidate-states.json",
  "verdicts_derived_on": "2026-11-02",
  "verdict_rule_version": "sha256:b6e855c8950bb7f5",
  "projection_derived_on": "2026-11-02",
  "projection_read_from": "state/triple-projection.json",
  "verdicts_read_projection_of": "2026-11-02",
  "limbs": [
    "BYTES",
    "BODY",
    "PERSIST",
    "REFERENT"
  ],
  "limb_order_rule": "Limbs are served in the order the triple projection lists them for the candidate. No limb is ranked.",
  "row_order_rule": "Candidates are served in candidate-id order, the order of the staging directory. No candidate is ranked.",
  "missing_evidence_rule": "An entry is read from a field whose writer states an absence of evidence: the verdict's `needs`; the limb flags `waiting`, `blocked`, `below_floor`, `readings_needed`, `class_lacks`, `unanchored`, `incomplete`, `missing_side` and `unaudited`; and the limb values `extractor_verdict` UNDERIVABLE, `span_verdict` UNDETERMINED and `referent_verdict` UNAUDITED. Every other limb flag is carried in that limb's `flags` and is not read for this list. An empty list means these fields were read and named no lack; null means the candidate has no row to read them from.",
  "not_carried": [
    {
      "field": "value, quote",
      "why": "A recorded model read is carried by its receipt id and its resolution. The output text it recorded is not served in this document."
    },
    {
      "field": "statements[].stated_token",
      "why": "A publisher-stated confirmation is served with each note's source, field, surface, day and the rule the day was read by. The token the day was read from is not served: for a GOV.UK note it is an instant with a clock time. No note's text is held in the verdict file."
    }
  ],
  "candidate_pages_read": "Each item's `url` is its candidate page, which renders the verdict and confirm gate read from `state/rescreen.json`, not this document's verdict file. The two can name different states for one candidate.",
  "rights_fields": {
    "fields": [
      "text_retained",
      "licence_class",
      "quote_allowed",
      "snapshot_available"
    ],
    "rows": 110,
    "rows_with_a_reading": 110,
    "rows_without_a_reading": 0,
    "rows_naming_an_unheld_id": 0,
    "rows_naming_no_entry": 0,
    "licence_class": {
      "open": 107,
      "restricted": 3,
      "unknown": 0
    },
    "quote_allowed_true": 107,
    "quote_allowed_false": 3,
    "text_retained_true": 110,
    "snapshot_available_true": 110,
    "retained_here_but_not_quoted_here": 3,
    "snapshot_without_prose": 0,
    "nulls_mean_unheld_id": "This id resolves to no tracked entry, so no terms reading, no retention measurement and no snapshot measurement exists for it. Four nulls record the absence of a reading, never a reading that came back negative.",
    "nulls_mean_no_entry": "This object names no tracked entry, so no terms reading was looked for. Four nulls record that no lookup applies here, which is a different fact from a lookup that found nothing."
  },
  "provenance_fields": {
    "fields": [
      "source",
      "observed_at",
      "distance"
    ],
    "rows": 110,
    "source_tracked": 110,
    "source_not_tracked": 0,
    "source_no_subject": 0,
    "observed_at_recorded": 110,
    "observed_at_not_carried": 0,
    "observed_at_not_an_observation": 0,
    "observed_at_fields_read": [
      "after_observed"
    ],
    "distance_by_state": {
      "not-a-signal": 110
    },
    "distance_by_value": [
      {
        "key": "0 primary",
        "count": 0
      },
      {
        "key": "1 official notice",
        "count": 0
      },
      {
        "key": "2 official related record",
        "count": 0
      },
      {
        "key": "3 third-party",
        "count": 0
      }
    ]
  },
  "count": 110,
  "items": [
    {
      "candidate_id": "astm-e2363-2026-09-08",
      "instrument_id": "astm-e2363",
      "url": "https://gxplex.com/candidates/astm-e2363-2026-09-08/",
      "before_observed": "2026-09-07",
      "after_observed": "2026-09-08",
      "digest_before": "a153d64e3bb5225b0c1d204cb68792f62cf87daaed7b3ff2ce9fbbdea4a9fe5e",
      "digest_after": "38fca073725a8580e33f943a252f9793b151822380f626e9ccddf52c47713913",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-across-the-pair",
        "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "extractor-moved-across-the-pair",
            "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "MOVED",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "5 of 5 later observation(s) carry the new digest, the first on 2026-09-09",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "restricted",
      "quote_allowed": false,
      "snapshot_available": true,
      "rights_of": "astm-e2363",
      "source": {
        "id": "astm-e2363",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/astm-e2363"
      },
      "observed_at": "2026-09-08",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "astm-e2363-2026-10-28",
      "instrument_id": "astm-e2363",
      "url": "https://gxplex.com/candidates/astm-e2363-2026-10-28/",
      "before_observed": "2026-10-27",
      "after_observed": "2026-10-28",
      "digest_before": "38fca073725a8580e33f943a252f9793b151822380f626e9ccddf52c47713913",
      "digest_after": "0db7930b76cd2e7dc3890ecf4abac3aa6e55f514f05053eb0707f94e3d3c9fe5",
      "verdict": {
        "placed": true,
        "state": "CONFIRMED-DERIVED",
        "basis": "DERIVED",
        "rule_version": "sha256:b6e855c8950bb7f5",
        "class": null,
        "cause": null,
        "detail": null,
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "5 of 5 later observation(s) carry the new digest, the first on 2026-10-29",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": "instrument",
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "restricted",
      "quote_allowed": false,
      "snapshot_available": true,
      "rights_of": "astm-e2363",
      "source": {
        "id": "astm-e2363",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/astm-e2363"
      },
      "observed_at": "2026-10-28",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "astm-e2500-2026-09-08",
      "instrument_id": "astm-e2500",
      "url": "https://gxplex.com/candidates/astm-e2500-2026-09-08/",
      "before_observed": "2026-09-07",
      "after_observed": "2026-09-08",
      "digest_before": "492749881d21e9c5cb1cd9411a865de30e7cbe9e6c885254e3fd6c6602afea66",
      "digest_after": "f8a0b4003e887ef95ac41917e284c79600966a67d253725035c2851a6d560010",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-across-the-pair",
        "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "extractor-moved-across-the-pair",
            "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "MOVED",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "5 of 5 later observation(s) carry the new digest, the first on 2026-09-09",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "restricted",
      "quote_allowed": false,
      "snapshot_available": true,
      "rights_of": "astm-e2500",
      "source": {
        "id": "astm-e2500",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/astm-e2500"
      },
      "observed_at": "2026-09-08",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-07-29",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-07-29/",
      "before_observed": "2026-07-28",
      "after_observed": "2026-07-29",
      "digest_before": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "digest_after": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "BYTES",
            "state": "NOT-CHANGED",
            "class": "equal-digests",
            "detail": "the two digests are equal: the retained text does not differ"
          },
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 98 of 115 later observation(s) taken under the same extractor: the text is unstable, not changed (58 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the two digests are equal: the retained text does not differ",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": true,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 98 of 115 later observation(s) taken under the same extractor: the text is unstable, not changed (58 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-07-29",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-08-13",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-08-13/",
      "before_observed": "2026-08-12",
      "after_observed": "2026-08-13",
      "digest_before": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "digest_after": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-22 and 4 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-22 and 4 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-08-13",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-08-14",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-08-14/",
      "before_observed": "2026-08-13",
      "after_observed": "2026-08-14",
      "digest_before": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "digest_after": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-23 and 24 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-23 and 24 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-08-14",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-08-15",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-08-15/",
      "before_observed": "2026-08-14",
      "after_observed": "2026-08-15",
      "digest_before": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "digest_after": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-22 and 4 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-22 and 4 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-08-15",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-08-22",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-08-22/",
      "before_observed": "2026-08-21",
      "after_observed": "2026-08-22",
      "digest_before": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "digest_after": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-26 and 22 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-26 and 22 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-08-22",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-08-23",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-08-23/",
      "before_observed": "2026-08-22",
      "after_observed": "2026-08-23",
      "digest_before": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "digest_after": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-25 and 2 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-25 and 2 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-08-23",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-08-25",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-08-25/",
      "before_observed": "2026-08-24",
      "after_observed": "2026-08-25",
      "digest_before": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "digest_after": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-09-04 and 10 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-09-04 and 10 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-08-25",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-09-03",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-09-03/",
      "before_observed": "2026-09-02",
      "after_observed": "2026-09-03",
      "digest_before": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "digest_after": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-09-04 and 10 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-09-04 and 10 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-09-03",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-09-04",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-09-04/",
      "before_observed": "2026-09-03",
      "after_observed": "2026-09-04",
      "digest_before": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "digest_after": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "BYTES",
            "state": "NOT-CHANGED",
            "class": "equal-digests",
            "detail": "the two digests are equal: the retained text does not differ"
          },
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 10 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the two digests are equal: the retained text does not differ",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": true,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 10 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-09-04",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-09-05",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-09-05/",
      "before_observed": "2026-09-04",
      "after_observed": "2026-09-05",
      "digest_before": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "digest_after": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "WAITING",
            "class": "later-readings",
            "detail": "2 later observation(s) of ema-ai-reflection under the extractor current on the candidate's day"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (58 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": true,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": true,
            "readings_needed": 2,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "waiting",
          "value": true,
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (58 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "below_floor",
          "value": true,
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (58 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "readings_needed",
          "value": 2,
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-09-05",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-09-11",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-09-11/",
      "before_observed": "2026-09-10",
      "after_observed": "2026-09-11",
      "digest_before": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "digest_after": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "WAITING",
            "class": "later-readings",
            "detail": "1 later observation(s) of ema-ai-reflection under the extractor current on the candidate's day"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (51 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": true,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": true,
            "readings_needed": 1,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "waiting",
          "value": true,
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (51 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "below_floor",
          "value": true,
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (51 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "readings_needed",
          "value": 1,
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-09-11",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-09-12",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-09-12/",
      "before_observed": "2026-09-11",
      "after_observed": "2026-09-12",
      "digest_before": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "digest_after": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "WAITING",
            "class": "later-readings",
            "detail": "2 later observation(s) of ema-ai-reflection under the extractor current on the candidate's day"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (51 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": true,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": true,
            "readings_needed": 2,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "waiting",
          "value": true,
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (51 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "below_floor",
          "value": true,
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (51 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "readings_needed",
          "value": 2,
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-09-12",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-09-14",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-09-14/",
      "before_observed": "2026-09-13",
      "after_observed": "2026-09-14",
      "digest_before": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "digest_after": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-across-the-pair",
        "detail": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-13 and 2026-09-14",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "extractor-moved-across-the-pair",
            "detail": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-13 and 2026-09-14"
          },
          {
            "limb": "PERSIST",
            "state": "BLOCKED",
            "class": "extractor-moved-after",
            "detail": "all 50 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting [commits: 4472b78002d0]"
          },
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-13 and 2026-09-14",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "MOVED",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "all 50 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting",
          "flags": {
            "waiting": null,
            "blocked": true,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": [
              "4472b78002d0"
            ],
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "blocked",
          "value": true,
          "why": "all 50 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting",
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-09-14",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-09-16",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-09-16/",
      "before_observed": "2026-09-15",
      "after_observed": "2026-09-16",
      "digest_before": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "digest_after": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-09-26 and 0 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-09-26 and 0 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-09-16",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-09-26",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-09-26/",
      "before_observed": "2026-09-25",
      "after_observed": "2026-09-26",
      "digest_before": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "digest_after": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 30 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 30 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-09-26",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-09-27",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-09-27/",
      "before_observed": "2026-09-26",
      "after_observed": "2026-09-27",
      "digest_before": "863f5ab39635ca89bc0ae1c49ddd75740616ef2970e9651d56e69fca0634ce01",
      "digest_after": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 1 of 29 later observation(s) taken under the same extractor: the text is unstable, not changed (8 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 1 of 29 later observation(s) taken under the same extractor: the text is unstable, not changed (8 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-09-27",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-09-29",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-09-29/",
      "before_observed": "2026-09-28",
      "after_observed": "2026-09-29",
      "digest_before": "eb42a10342ad597462395f790b666b2c47c8b8ff10b10201ca66c02dba3195e9",
      "digest_after": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "unlike-readings",
        "detail": "the two sides are not the same kind of reading — 'canonical-redirect' before and 'witness' after, so a difference between them is this record's aim moving, not the publisher's text",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "unlike-readings",
            "detail": "the two sides are not the same kind of reading — 'canonical-redirect' before and 'witness' after, so a difference between them is this record's aim moving, not the publisher's text"
          },
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 5 of 27 later observation(s) taken under the same extractor: the text is unstable, not changed (8 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the two sides are not the same kind of reading — 'canonical-redirect' before and 'witness' after, so a difference between them is this record's aim moving, not the publisher's text",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": true,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 5 of 27 later observation(s) taken under the same extractor: the text is unstable, not changed (8 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-09-29",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-09-30",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-09-30/",
      "before_observed": "2026-09-29",
      "after_observed": "2026-09-30",
      "digest_before": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "digest_after": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-02 and 4 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-02 and 4 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-09-30",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-10-02",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-10-02/",
      "before_observed": "2026-10-01",
      "after_observed": "2026-10-02",
      "digest_before": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "digest_after": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-05 and 18 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-05 and 18 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-10-02",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-10-03",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-10-03/",
      "before_observed": "2026-10-02",
      "after_observed": "2026-10-03",
      "digest_before": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "digest_after": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-10 and 2 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-10 and 2 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-10-03",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-10-04",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-10-04/",
      "before_observed": "2026-10-03",
      "after_observed": "2026-10-04",
      "digest_before": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "digest_after": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-11 and 13 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-11 and 13 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-10-04",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-10-05",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-10-05/",
      "before_observed": "2026-10-04",
      "after_observed": "2026-10-05",
      "digest_before": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "digest_after": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-10 and 2 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-10 and 2 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-10-05",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-10-10",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-10-10/",
      "before_observed": "2026-10-09",
      "after_observed": "2026-10-10",
      "digest_before": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "digest_after": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-19 and 6 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-19 and 6 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-10-10",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-10-11",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-10-11/",
      "before_observed": "2026-10-10",
      "after_observed": "2026-10-11",
      "digest_before": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "digest_after": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-17 and 1 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-17 and 1 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-10-11",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-10-17",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-10-17/",
      "before_observed": "2026-10-16",
      "after_observed": "2026-10-17",
      "digest_before": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "digest_after": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-19 and 6 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-19 and 6 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-10-17",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-10-19",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-10-19/",
      "before_observed": "2026-10-18",
      "after_observed": "2026-10-19",
      "digest_before": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "digest_after": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "6 of 6 later observation(s) carry the new digest, the first on 2026-10-20",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-10-19",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-10-30",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-10-30/",
      "before_observed": "2026-10-29",
      "after_observed": "2026-10-30",
      "digest_before": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "digest_after": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-11-02 and 0 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-11-02 and 0 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-10-30",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-10-31",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-10-31/",
      "before_observed": "2026-10-30",
      "after_observed": "2026-10-31",
      "digest_before": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "digest_after": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "WAITING",
            "class": "later-readings",
            "detail": "1 later observation(s) of ema-ai-reflection under the extractor current on the candidate's day"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed",
          "flags": {
            "waiting": true,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": true,
            "readings_needed": 1,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "PERSIST",
          "field": "waiting",
          "value": true,
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "below_floor",
          "value": true,
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "readings_needed",
          "value": 1,
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-10-31",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-11-01",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-11-01/",
      "before_observed": "2026-10-31",
      "after_observed": "2026-11-01",
      "digest_before": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "digest_after": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "WAITING",
            "class": "later-readings",
            "detail": "2 later observation(s) of ema-ai-reflection under the extractor current on the candidate's day"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed",
          "flags": {
            "waiting": true,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": true,
            "readings_needed": 2,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "PERSIST",
          "field": "waiting",
          "value": true,
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "below_floor",
          "value": true,
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "readings_needed",
          "value": 2,
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-11-01",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "ema-ai-reflection-2026-11-02",
      "instrument_id": "ema-ai-reflection",
      "url": "https://gxplex.com/candidates/ema-ai-reflection-2026-11-02/",
      "before_observed": "2026-11-01",
      "after_observed": "2026-11-02",
      "digest_before": "3e7ec4b884cee24e2d58f3e6388ff66c48e24c2d3fe70ae7c6f70e706e325924",
      "digest_after": "36c41987de4a749de37df19cebd65f76c83146c469883b0dc7c60a5207de3e68",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "WAITING",
            "class": "later-readings",
            "detail": "3 later observation(s) of ema-ai-reflection under the extractor current on the candidate's day"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "no observation of this row exists after the candidate's day, so persistence has not been measured — it is waiting, not failed",
          "flags": {
            "waiting": true,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": 3,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "PERSIST",
          "field": "waiting",
          "value": true,
          "why": "no observation of this row exists after the candidate's day, so persistence has not been measured — it is waiting, not failed",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "readings_needed",
          "value": 3,
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": true,
        "witness_address": "https://www.ema.europa.eu/en/scientific-guidelines/use-artificial-intelligence-ai-medicinal-product-lifecycle",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "ema-ai-reflection",
      "source": {
        "id": "ema-ai-reflection",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/ema-ai-reflection"
      },
      "observed_at": "2026-11-02",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "fda-ai-guidance-2026-08-20",
      "instrument_id": "fda-ai-guidance",
      "url": "https://gxplex.com/candidates/fda-ai-guidance-2026-08-20/",
      "before_observed": "2026-08-19",
      "after_observed": "2026-08-20",
      "digest_before": "61d4603ff66e3a307239a38601161bb52bd5a679ef51125c220efd26572e187d",
      "digest_after": "088a7a37c55d7a9852343358802ebdfdf79d23a655f26e6fa4b056cce2ca1e37",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "not-the-artifact",
        "detail": "the after side is classed 'non-document' — it answered at https://www.fda.gov/about-fda/page-not-found, which is not the artifact this row names",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "not-the-artifact",
            "detail": "the after side is classed 'non-document' — it answered at https://www.fda.gov/about-fda/page-not-found, which is not the artifact this row names"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-28 and 20 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the after side is classed 'non-document' — it answered at https://www.fda.gov/about-fda/page-not-found, which is not the artifact this row names",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": true,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-28 and 20 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.fda.gov/regulatory-information/search-fda-guidance-documents",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "fda-ai-guidance",
      "source": {
        "id": "fda-ai-guidance",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/fda-ai-guidance"
      },
      "observed_at": "2026-08-20",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "fda-ai-guidance-2026-08-21",
      "instrument_id": "fda-ai-guidance",
      "url": "https://gxplex.com/candidates/fda-ai-guidance-2026-08-21/",
      "before_observed": "2026-08-20",
      "after_observed": "2026-08-21",
      "digest_before": "088a7a37c55d7a9852343358802ebdfdf79d23a655f26e6fa4b056cce2ca1e37",
      "digest_after": "61d4603ff66e3a307239a38601161bb52bd5a679ef51125c220efd26572e187d",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "not-the-artifact",
        "detail": "the before side is classed 'non-document' — it answered at https://www.fda.gov/about-fda/page-not-found, which is not the artifact this row names",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "not-the-artifact",
            "detail": "the before side is classed 'non-document' — it answered at https://www.fda.gov/about-fda/page-not-found, which is not the artifact this row names"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-27 and 0 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the before side is classed 'non-document' — it answered at https://www.fda.gov/about-fda/page-not-found, which is not the artifact this row names",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": true,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-08-27 and 0 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.fda.gov/regulatory-information/search-fda-guidance-documents",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "fda-ai-guidance",
      "source": {
        "id": "fda-ai-guidance",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/fda-ai-guidance"
      },
      "observed_at": "2026-08-21",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "fda-ai-guidance-2026-08-27",
      "instrument_id": "fda-ai-guidance",
      "url": "https://gxplex.com/candidates/fda-ai-guidance-2026-08-27/",
      "before_observed": "2026-08-26",
      "after_observed": "2026-08-27",
      "digest_before": "61d4603ff66e3a307239a38601161bb52bd5a679ef51125c220efd26572e187d",
      "digest_after": "088a7a37c55d7a9852343358802ebdfdf79d23a655f26e6fa4b056cce2ca1e37",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "not-the-artifact",
        "detail": "the after side is classed 'non-document' — it answered at https://www.fda.gov/about-fda/page-not-found, which is not the artifact this row names",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "not-the-artifact",
            "detail": "the after side is classed 'non-document' — it answered at https://www.fda.gov/about-fda/page-not-found, which is not the artifact this row names"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 22 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the after side is classed 'non-document' — it answered at https://www.fda.gov/about-fda/page-not-found, which is not the artifact this row names",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": true,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 22 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.fda.gov/regulatory-information/search-fda-guidance-documents",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "fda-ai-guidance",
      "source": {
        "id": "fda-ai-guidance",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/fda-ai-guidance"
      },
      "observed_at": "2026-08-27",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "fda-ai-guidance-2026-08-28",
      "instrument_id": "fda-ai-guidance",
      "url": "https://gxplex.com/candidates/fda-ai-guidance-2026-08-28/",
      "before_observed": "2026-08-27",
      "after_observed": "2026-08-28",
      "digest_before": "088a7a37c55d7a9852343358802ebdfdf79d23a655f26e6fa4b056cce2ca1e37",
      "digest_after": "61d4603ff66e3a307239a38601161bb52bd5a679ef51125c220efd26572e187d",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "not-the-artifact",
        "detail": "the before side is classed 'non-document' — it answered at https://www.fda.gov/about-fda/page-not-found, which is not the artifact this row names",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "not-the-artifact",
            "detail": "the before side is classed 'non-document' — it answered at https://www.fda.gov/about-fda/page-not-found, which is not the artifact this row names"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 20 of 21 later observation(s) taken under the same extractor: the text is unstable, not changed (112 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the before side is classed 'non-document' — it answered at https://www.fda.gov/about-fda/page-not-found, which is not the artifact this row names",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": true,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 20 of 21 later observation(s) taken under the same extractor: the text is unstable, not changed (112 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.fda.gov/regulatory-information/search-fda-guidance-documents",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "fda-ai-guidance",
      "source": {
        "id": "fda-ai-guidance",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/fda-ai-guidance"
      },
      "observed_at": "2026-08-28",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "fda-ai-guidance-2026-09-01",
      "instrument_id": "fda-ai-guidance",
      "url": "https://gxplex.com/candidates/fda-ai-guidance-2026-09-01/",
      "before_observed": "2026-08-31",
      "after_observed": "2026-09-01",
      "digest_before": "61d4603ff66e3a307239a38601161bb52bd5a679ef51125c220efd26572e187d",
      "digest_after": "630bd27c7b423644b81cb207f479891c87987496d6a8d3a004def7b0f6473ea4",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "reverted",
        "cause": null,
        "detail": "none of the 15 later observation(s) carries the new digest: the text reverted",
        "needs": null,
        "findings": [
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 15 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 15 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": true,
        "witness_address": "https://www.fda.gov/regulatory-information/search-fda-guidance-documents",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "fda-ai-guidance",
      "source": {
        "id": "fda-ai-guidance",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/fda-ai-guidance"
      },
      "observed_at": "2026-09-01",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "fda-ai-guidance-2026-09-02",
      "instrument_id": "fda-ai-guidance",
      "url": "https://gxplex.com/candidates/fda-ai-guidance-2026-09-02/",
      "before_observed": "2026-09-01",
      "after_observed": "2026-09-02",
      "digest_before": "630bd27c7b423644b81cb207f479891c87987496d6a8d3a004def7b0f6473ea4",
      "digest_after": "61d4603ff66e3a307239a38601161bb52bd5a679ef51125c220efd26572e187d",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "13 of 13 later observation(s) carry the new digest, the first on 2026-09-03",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": true,
        "witness_address": "https://www.fda.gov/regulatory-information/search-fda-guidance-documents",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "fda-ai-guidance",
      "source": {
        "id": "fda-ai-guidance",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/fda-ai-guidance"
      },
      "observed_at": "2026-09-02",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "fda-aiml-device-list-2026-09-23",
      "instrument_id": "fda-aiml-device-list",
      "url": "https://gxplex.com/candidates/fda-aiml-device-list-2026-09-23/",
      "before_observed": "2026-09-22",
      "after_observed": "2026-09-23",
      "digest_before": "a55b6f369034fcbb5f434b9ae550078c7f41c891770da8448d6e952b4385b7fb",
      "digest_after": "f0d90446093eef1bcb78e5f90340eba2eb9b5c4d0354c52f533994383ac4a1bd",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "row-declares-listing",
        "detail": "the row declares itself: the row's own source_kind is 'register', which is not a document: movement here is movement of a listing",
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the row's own source_kind is 'register', which is not a document: movement here is movement of a listing",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the row's own source_kind is 'register', which is not a document: movement here is movement of a listing",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the row's own source_kind is 'register', which is not a document: movement here is movement of a listing",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [
        "REFERENT"
      ],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "fda-aiml-device-list",
      "source": {
        "id": "fda-aiml-device-list",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/fda-aiml-device-list"
      },
      "observed_at": "2026-09-23",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "fda-gmlp-2026-09-23",
      "instrument_id": "fda-gmlp",
      "url": "https://gxplex.com/candidates/fda-gmlp-2026-09-23/",
      "before_observed": "2026-09-22",
      "after_observed": "2026-09-23",
      "digest_before": "ef0dfb4023b7025fce6599e8601cb3c2f246b887e3898de771dd574ba4ffb34b",
      "digest_after": "2091aa6e2741cc0f37d84f7dba4e0be719e8800e7ebb5f82975b8af6cb3ca8be",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "unlike-readings",
        "detail": "the two sides are not the same kind of reading — 'document' before and 'witness' after, so a difference between them is this record's aim moving, not the publisher's text",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "unlike-readings",
            "detail": "the two sides are not the same kind of reading — 'document' before and 'witness' after, so a difference between them is this record's aim moving, not the publisher's text"
          },
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the two sides are not the same kind of reading — 'document' before and 'witness' after, so a difference between them is this record's aim moving, not the publisher's text",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": true,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "34 of 34 later observation(s) carry the new digest, the first on 2026-09-24",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": true,
        "witness_address": "https://www.fda.gov/medical-devices/artificial-intelligence-enabled-medical-devices/good-machine-learning-practice-medical-device-development-guiding-principles",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "fda-gmlp",
      "source": {
        "id": "fda-gmlp",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/fda-gmlp"
      },
      "observed_at": "2026-09-23",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "health-canada-ml-2026-08-25",
      "instrument_id": "health-canada-ml",
      "url": "https://gxplex.com/candidates/health-canada-ml-2026-08-25/",
      "before_observed": "2026-08-24",
      "after_observed": "2026-08-25",
      "digest_before": "2988351a1019fc29398adca9e3ad509c8f1360c88dc65c0d99de973da8354884",
      "digest_after": "f34e637e74cb0d5a4b351061a3fea213396656d9e2cde662314cc99b5d0408e6",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row declares source_kind: document and its reading carries 77 dated list entries — the address it hashes serves a list, and the document it names is not that list",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row declares source_kind: document and its reading carries 77 dated list entries — the address it hashes serves a list, and the document it names is not that list"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "25 of 25 later observation(s) carry the new digest, the first on 2026-08-26",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row declares source_kind: document and its reading carries 77 dated list entries — the address it hashes serves a list, and the document it names is not that list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "health-canada-ml",
      "source": {
        "id": "health-canada-ml",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/health-canada-ml"
      },
      "observed_at": "2026-08-25",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-ai-2026-09-08",
      "instrument_id": "mhra-ai",
      "url": "https://gxplex.com/candidates/mhra-ai-2026-09-08/",
      "before_observed": "2026-09-07",
      "after_observed": "2026-09-08",
      "digest_before": "110d6c8e7c56695c1d9d6e142f6bbef244d128fd9a9a43aac8178a00bfdb04d2",
      "digest_after": "d4b6bb0450a88d7f3c23a74b60b24949f0dd71b7d974a7fb09f142095c33384b",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-across-the-pair",
        "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "extractor-moved-across-the-pair",
            "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 5 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "MOVED",
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 5 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-ai",
      "source": {
        "id": "mhra-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-ai"
      },
      "observed_at": "2026-09-08",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-ai-2026-09-09",
      "instrument_id": "mhra-ai",
      "url": "https://gxplex.com/candidates/mhra-ai-2026-09-09/",
      "before_observed": "2026-09-08",
      "after_observed": "2026-09-09",
      "digest_before": "d4b6bb0450a88d7f3c23a74b60b24949f0dd71b7d974a7fb09f142095c33384b",
      "digest_after": "0d4b2abb3a4fdc70b67096c0eafb5ed0e5dfa726bbdbfcb5797a712757b30aac",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 4 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 4 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-ai",
      "source": {
        "id": "mhra-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-ai"
      },
      "observed_at": "2026-09-09",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-ai-2026-09-10",
      "instrument_id": "mhra-ai",
      "url": "https://gxplex.com/candidates/mhra-ai-2026-09-10/",
      "before_observed": "2026-09-09",
      "after_observed": "2026-09-10",
      "digest_before": "0d4b2abb3a4fdc70b67096c0eafb5ed0e5dfa726bbdbfcb5797a712757b30aac",
      "digest_after": "8fc70fdfe3a5f042bff55fa7c11a67c77b2f13f76b6f8eec3000728700c089c2",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 3 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 3 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-ai",
      "source": {
        "id": "mhra-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-ai"
      },
      "observed_at": "2026-09-10",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-ai-2026-09-11",
      "instrument_id": "mhra-ai",
      "url": "https://gxplex.com/candidates/mhra-ai-2026-09-11/",
      "before_observed": "2026-09-10",
      "after_observed": "2026-09-11",
      "digest_before": "8fc70fdfe3a5f042bff55fa7c11a67c77b2f13f76b6f8eec3000728700c089c2",
      "digest_after": "95ff73c7efa26058465bf11ac1d968a97a02f9c9915ae31e4fa989a914853f7a",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "WAITING",
            "class": "later-readings",
            "detail": "1 later observation(s) of mhra-ai under the extractor current on the candidate's day"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (52 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": true,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": true,
            "readings_needed": 1,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "waiting",
          "value": true,
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (52 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "below_floor",
          "value": true,
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (52 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "readings_needed",
          "value": 1,
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-ai",
      "source": {
        "id": "mhra-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-ai"
      },
      "observed_at": "2026-09-11",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-ai-2026-09-12",
      "instrument_id": "mhra-ai",
      "url": "https://gxplex.com/candidates/mhra-ai-2026-09-12/",
      "before_observed": "2026-09-11",
      "after_observed": "2026-09-12",
      "digest_before": "95ff73c7efa26058465bf11ac1d968a97a02f9c9915ae31e4fa989a914853f7a",
      "digest_after": "21fde7c052b400702464b718b815337971e5757ea8ed070bfbd569dafc49b35d",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "WAITING",
            "class": "later-readings",
            "detail": "2 later observation(s) of mhra-ai under the extractor current on the candidate's day"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (52 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": true,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": true,
            "readings_needed": 2,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "waiting",
          "value": true,
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (52 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "below_floor",
          "value": true,
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (52 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "readings_needed",
          "value": 2,
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-ai",
      "source": {
        "id": "mhra-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-ai"
      },
      "observed_at": "2026-09-12",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-ai-2026-09-13",
      "instrument_id": "mhra-ai",
      "url": "https://gxplex.com/candidates/mhra-ai-2026-09-13/",
      "before_observed": "2026-09-12",
      "after_observed": "2026-09-13",
      "digest_before": "21fde7c052b400702464b718b815337971e5757ea8ed070bfbd569dafc49b35d",
      "digest_after": "d722379e4120a9c4c8f76d1bb52c7a08e79bd5af11d92ac6ba69c1b31cde2403",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-after",
        "detail": "all 52 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting [commits: 4472b78002d0]",
        "needs": null,
        "findings": [
          {
            "limb": "PERSIST",
            "state": "BLOCKED",
            "class": "extractor-moved-after",
            "detail": "all 52 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting [commits: 4472b78002d0]"
          },
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "all 52 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting",
          "flags": {
            "waiting": null,
            "blocked": true,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": [
              "4472b78002d0"
            ],
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "blocked",
          "value": true,
          "why": "all 52 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting",
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-ai",
      "source": {
        "id": "mhra-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-ai"
      },
      "observed_at": "2026-09-13",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-ai-2026-09-14",
      "instrument_id": "mhra-ai",
      "url": "https://gxplex.com/candidates/mhra-ai-2026-09-14/",
      "before_observed": "2026-09-13",
      "after_observed": "2026-09-14",
      "digest_before": "d722379e4120a9c4c8f76d1bb52c7a08e79bd5af11d92ac6ba69c1b31cde2403",
      "digest_after": "f61cf3af50631aaf06a7a9d0cb561121fc90f598cf503b9a402dc4393c643fec",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-across-the-pair",
        "detail": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-13 and 2026-09-14",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "extractor-moved-across-the-pair",
            "detail": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-13 and 2026-09-14"
          },
          {
            "limb": "PERSIST",
            "state": "BLOCKED",
            "class": "extractor-moved-after",
            "detail": "all 51 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting [commits: 4472b78002d0]"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-13 and 2026-09-14",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "MOVED",
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "all 51 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting",
          "flags": {
            "waiting": null,
            "blocked": true,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": [
              "4472b78002d0"
            ],
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "blocked",
          "value": true,
          "why": "all 51 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting",
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-ai",
      "source": {
        "id": "mhra-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-ai"
      },
      "observed_at": "2026-09-14",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-ai-2026-09-15",
      "instrument_id": "mhra-ai",
      "url": "https://gxplex.com/candidates/mhra-ai-2026-09-15/",
      "before_observed": "2026-09-14",
      "after_observed": "2026-09-15",
      "digest_before": "f61cf3af50631aaf06a7a9d0cb561121fc90f598cf503b9a402dc4393c643fec",
      "digest_after": "110d6c8e7c56695c1d9d6e142f6bbef244d128fd9a9a43aac8178a00bfdb04d2",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-across-the-pair",
        "detail": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-14 and 2026-09-15",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "extractor-moved-across-the-pair",
            "detail": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-14 and 2026-09-15"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 22 of 42 later observation(s) taken under the same extractor: the text is unstable, not changed (8 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-14 and 2026-09-15",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on one side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "MOVED",
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 22 of 42 later observation(s) taken under the same extractor: the text is unstable, not changed (8 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on one side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-ai",
      "source": {
        "id": "mhra-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-ai"
      },
      "observed_at": "2026-09-15",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-ai-2026-10-06",
      "instrument_id": "mhra-ai",
      "url": "https://gxplex.com/candidates/mhra-ai-2026-10-06/",
      "before_observed": "2026-10-05",
      "after_observed": "2026-10-06",
      "digest_before": "110d6c8e7c56695c1d9d6e142f6bbef244d128fd9a9a43aac8178a00bfdb04d2",
      "digest_after": "adda145eadf9734bb93a6bef157c129c86f7b3b7985cfb87199adf511273b28c",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "oscillation",
        "cause": null,
        "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-09 and 0 other day(s): the page is served in two states rather than having moved between them",
        "needs": null,
        "findings": [
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-09 and 0 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-09 and 0 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-ai",
      "source": {
        "id": "mhra-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-ai"
      },
      "observed_at": "2026-10-06",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-ai-2026-10-09",
      "instrument_id": "mhra-ai",
      "url": "https://gxplex.com/candidates/mhra-ai-2026-10-09/",
      "before_observed": "2026-10-08",
      "after_observed": "2026-10-09",
      "digest_before": "adda145eadf9734bb93a6bef157c129c86f7b3b7985cfb87199adf511273b28c",
      "digest_after": "110d6c8e7c56695c1d9d6e142f6bbef244d128fd9a9a43aac8178a00bfdb04d2",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "reverted",
        "cause": null,
        "detail": "none of the 17 later observation(s) carries the new digest: the text reverted",
        "needs": null,
        "findings": [
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 17 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 17 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-ai",
      "source": {
        "id": "mhra-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-ai"
      },
      "observed_at": "2026-10-09",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-ai-2026-10-10",
      "instrument_id": "mhra-ai",
      "url": "https://gxplex.com/candidates/mhra-ai-2026-10-10/",
      "before_observed": "2026-10-09",
      "after_observed": "2026-10-10",
      "digest_before": "110d6c8e7c56695c1d9d6e142f6bbef244d128fd9a9a43aac8178a00bfdb04d2",
      "digest_after": "adda145eadf9734bb93a6bef157c129c86f7b3b7985cfb87199adf511273b28c",
      "verdict": {
        "placed": true,
        "state": "CONFIRMED-DERIVED",
        "basis": "DERIVED",
        "rule_version": "sha256:b6e855c8950bb7f5",
        "class": null,
        "cause": null,
        "detail": null,
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "16 of 16 later observation(s) carry the new digest, the first on 2026-10-11",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": "instrument",
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-ai",
      "source": {
        "id": "mhra-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-ai"
      },
      "observed_at": "2026-10-10",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-data-integrity-2026-09-08",
      "instrument_id": "mhra-data-integrity",
      "url": "https://gxplex.com/candidates/mhra-data-integrity-2026-09-08/",
      "before_observed": "2026-09-07",
      "after_observed": "2026-09-08",
      "digest_before": "c330704e7caaecdaf177bab279b28adc623ce786d6478774e9715b1f73c7229c",
      "digest_after": "13971812bd5771b549c455d2e6e6b391f1326e76a2963d9cc1420c4af6e4a759",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-across-the-pair",
        "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "extractor-moved-across-the-pair",
            "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 5 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "MOVED",
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 5 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-data-integrity",
      "source": {
        "id": "mhra-data-integrity",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-data-integrity"
      },
      "observed_at": "2026-09-08",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-data-integrity-2026-09-09",
      "instrument_id": "mhra-data-integrity",
      "url": "https://gxplex.com/candidates/mhra-data-integrity-2026-09-09/",
      "before_observed": "2026-09-08",
      "after_observed": "2026-09-09",
      "digest_before": "13971812bd5771b549c455d2e6e6b391f1326e76a2963d9cc1420c4af6e4a759",
      "digest_after": "6903993ae01bf24f5fa45271e5d67fdd47f434bd5385e308bc543221cfdedf2e",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 4 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 4 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-data-integrity",
      "source": {
        "id": "mhra-data-integrity",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-data-integrity"
      },
      "observed_at": "2026-09-09",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-data-integrity-2026-09-10",
      "instrument_id": "mhra-data-integrity",
      "url": "https://gxplex.com/candidates/mhra-data-integrity-2026-09-10/",
      "before_observed": "2026-09-09",
      "after_observed": "2026-09-10",
      "digest_before": "6903993ae01bf24f5fa45271e5d67fdd47f434bd5385e308bc543221cfdedf2e",
      "digest_after": "aadc8bf624987bca7860dca3b96436b8dff19961bcab5e7bba9ff930917994e1",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 3 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 3 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-data-integrity",
      "source": {
        "id": "mhra-data-integrity",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-data-integrity"
      },
      "observed_at": "2026-09-10",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-data-integrity-2026-09-11",
      "instrument_id": "mhra-data-integrity",
      "url": "https://gxplex.com/candidates/mhra-data-integrity-2026-09-11/",
      "before_observed": "2026-09-10",
      "after_observed": "2026-09-11",
      "digest_before": "aadc8bf624987bca7860dca3b96436b8dff19961bcab5e7bba9ff930917994e1",
      "digest_after": "9a0948cb5e5b50e0737685231546b3c985e79491f79d58e654c0dd985f1ee7d3",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "WAITING",
            "class": "later-readings",
            "detail": "1 later observation(s) of mhra-data-integrity under the extractor current on the candidate's day"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (52 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": true,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": true,
            "readings_needed": 1,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "waiting",
          "value": true,
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (52 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "below_floor",
          "value": true,
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (52 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "readings_needed",
          "value": 1,
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-data-integrity",
      "source": {
        "id": "mhra-data-integrity",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-data-integrity"
      },
      "observed_at": "2026-09-11",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-data-integrity-2026-09-12",
      "instrument_id": "mhra-data-integrity",
      "url": "https://gxplex.com/candidates/mhra-data-integrity-2026-09-12/",
      "before_observed": "2026-09-11",
      "after_observed": "2026-09-12",
      "digest_before": "9a0948cb5e5b50e0737685231546b3c985e79491f79d58e654c0dd985f1ee7d3",
      "digest_after": "5f23d775ccaa1f2ee6833192dfd82e0d55e736b50783dabd96407c52a44850de",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "WAITING",
            "class": "later-readings",
            "detail": "2 later observation(s) of mhra-data-integrity under the extractor current on the candidate's day"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (52 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": true,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": true,
            "readings_needed": 2,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "waiting",
          "value": true,
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (52 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "below_floor",
          "value": true,
          "why": "only 1 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed (52 further reading(s) excluded: the extractor moved)",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "readings_needed",
          "value": 2,
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-data-integrity",
      "source": {
        "id": "mhra-data-integrity",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-data-integrity"
      },
      "observed_at": "2026-09-12",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-data-integrity-2026-09-13",
      "instrument_id": "mhra-data-integrity",
      "url": "https://gxplex.com/candidates/mhra-data-integrity-2026-09-13/",
      "before_observed": "2026-09-12",
      "after_observed": "2026-09-13",
      "digest_before": "5f23d775ccaa1f2ee6833192dfd82e0d55e736b50783dabd96407c52a44850de",
      "digest_after": "f4ddeaad589b602d637088464edb2fb780becb2ae6ab22952e92a48c2b0304d2",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-after",
        "detail": "all 52 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting [commits: 4472b78002d0]",
        "needs": null,
        "findings": [
          {
            "limb": "PERSIST",
            "state": "BLOCKED",
            "class": "extractor-moved-after",
            "detail": "all 52 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting [commits: 4472b78002d0]"
          },
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "all 52 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting",
          "flags": {
            "waiting": null,
            "blocked": true,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": [
              "4472b78002d0"
            ],
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "blocked",
          "value": true,
          "why": "all 52 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting",
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-data-integrity",
      "source": {
        "id": "mhra-data-integrity",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-data-integrity"
      },
      "observed_at": "2026-09-13",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-data-integrity-2026-09-14",
      "instrument_id": "mhra-data-integrity",
      "url": "https://gxplex.com/candidates/mhra-data-integrity-2026-09-14/",
      "before_observed": "2026-09-13",
      "after_observed": "2026-09-14",
      "digest_before": "f4ddeaad589b602d637088464edb2fb780becb2ae6ab22952e92a48c2b0304d2",
      "digest_after": "fe6722320c02845dd9b22e287d5bbac57ef1a30d65dfe5c3d0acf2e609eed772",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-across-the-pair",
        "detail": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-13 and 2026-09-14",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "extractor-moved-across-the-pair",
            "detail": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-13 and 2026-09-14"
          },
          {
            "limb": "PERSIST",
            "state": "BLOCKED",
            "class": "extractor-moved-after",
            "detail": "all 51 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting [commits: 4472b78002d0]"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-13 and 2026-09-14",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "MOVED",
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "all 51 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting",
          "flags": {
            "waiting": null,
            "blocked": true,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": [
              "4472b78002d0"
            ],
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "blocked",
          "value": true,
          "why": "all 51 later observation(s) sit past a change to the extractor (4472b78002d0), so the window under this candidate's own extractor is closed and no later reading can reopen it: blocked, not waiting",
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-data-integrity",
      "source": {
        "id": "mhra-data-integrity",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-data-integrity"
      },
      "observed_at": "2026-09-14",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-data-integrity-2026-09-15",
      "instrument_id": "mhra-data-integrity",
      "url": "https://gxplex.com/candidates/mhra-data-integrity-2026-09-15/",
      "before_observed": "2026-09-14",
      "after_observed": "2026-09-15",
      "digest_before": "fe6722320c02845dd9b22e287d5bbac57ef1a30d65dfe5c3d0acf2e609eed772",
      "digest_after": "c330704e7caaecdaf177bab279b28adc623ce786d6478774e9715b1f73c7229c",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-across-the-pair",
        "detail": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-14 and 2026-09-15",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "extractor-moved-across-the-pair",
            "detail": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-14 and 2026-09-15"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 1 of 42 later observation(s) taken under the same extractor: the text is unstable, not changed (8 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "extractor stability is MOVED: 1 extractor-path commit(s) fall between 2026-09-14 and 2026-09-15",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on one side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "MOVED",
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 1 of 42 later observation(s) taken under the same extractor: the text is unstable, not changed (8 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on one side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-data-integrity",
      "source": {
        "id": "mhra-data-integrity",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-data-integrity"
      },
      "observed_at": "2026-09-15",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-data-integrity-2026-09-17",
      "instrument_id": "mhra-data-integrity",
      "url": "https://gxplex.com/candidates/mhra-data-integrity-2026-09-17/",
      "before_observed": "2026-09-16",
      "after_observed": "2026-09-17",
      "digest_before": "c330704e7caaecdaf177bab279b28adc623ce786d6478774e9715b1f73c7229c",
      "digest_after": "ced856cd0b5a1c8e0e048231afd2fa76442c0ca13dabba883498be01087f588b",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "unstable",
        "cause": null,
        "detail": "the new digest holds on only 20 of 40 later observation(s) taken under the same extractor: the text is unstable, not changed (8 further reading(s) excluded: the extractor moved)",
        "needs": null,
        "findings": [
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 20 of 40 later observation(s) taken under the same extractor: the text is unstable, not changed (8 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 20 of 40 later observation(s) taken under the same extractor: the text is unstable, not changed (8 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-data-integrity",
      "source": {
        "id": "mhra-data-integrity",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-data-integrity"
      },
      "observed_at": "2026-09-17",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-data-integrity-2026-10-06",
      "instrument_id": "mhra-data-integrity",
      "url": "https://gxplex.com/candidates/mhra-data-integrity-2026-10-06/",
      "before_observed": "2026-10-05",
      "after_observed": "2026-10-06",
      "digest_before": "ced856cd0b5a1c8e0e048231afd2fa76442c0ca13dabba883498be01087f588b",
      "digest_after": "c59c1f4d83779d0778c985a36975d15cc912ad37fe5edb15304cb8e31f73786c",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "oscillation",
        "cause": null,
        "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-09 and 0 other day(s): the page is served in two states rather than having moved between them",
        "needs": null,
        "findings": [
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "oscillation",
            "detail": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-09 and 0 other day(s): the page is served in two states rather than having moved between them"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest recurs but the PRIOR digest also returns after it, on 2026-10-09 and 0 other day(s): the page is served in two states rather than having moved between them",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": true,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-data-integrity",
      "source": {
        "id": "mhra-data-integrity",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-data-integrity"
      },
      "observed_at": "2026-10-06",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-data-integrity-2026-10-09",
      "instrument_id": "mhra-data-integrity",
      "url": "https://gxplex.com/candidates/mhra-data-integrity-2026-10-09/",
      "before_observed": "2026-10-08",
      "after_observed": "2026-10-09",
      "digest_before": "c59c1f4d83779d0778c985a36975d15cc912ad37fe5edb15304cb8e31f73786c",
      "digest_after": "ced856cd0b5a1c8e0e048231afd2fa76442c0ca13dabba883498be01087f588b",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "reverted",
        "cause": null,
        "detail": "none of the 17 later observation(s) carries the new digest: the text reverted",
        "needs": null,
        "findings": [
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 17 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 17 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-data-integrity",
      "source": {
        "id": "mhra-data-integrity",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-data-integrity"
      },
      "observed_at": "2026-10-09",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "mhra-data-integrity-2026-10-10",
      "instrument_id": "mhra-data-integrity",
      "url": "https://gxplex.com/candidates/mhra-data-integrity-2026-10-10/",
      "before_observed": "2026-10-09",
      "after_observed": "2026-10-10",
      "digest_before": "ced856cd0b5a1c8e0e048231afd2fa76442c0ca13dabba883498be01087f588b",
      "digest_after": "c59c1f4d83779d0778c985a36975d15cc912ad37fe5edb15304cb8e31f73786c",
      "verdict": {
        "placed": true,
        "state": "CONFIRMED-DERIVED",
        "basis": "DERIVED",
        "rule_version": "sha256:b6e855c8950bb7f5",
        "class": null,
        "cause": null,
        "detail": null,
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "16 of 16 later observation(s) carry the new digest, the first on 2026-10-11",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": "instrument",
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "mhra-data-integrity",
      "source": {
        "id": "mhra-data-integrity",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/mhra-data-integrity"
      },
      "observed_at": "2026-10-10",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "nist-ai-rmf-2026-08-14",
      "instrument_id": "nist-ai-rmf",
      "url": "https://gxplex.com/candidates/nist-ai-rmf-2026-08-14/",
      "before_observed": "2026-08-13",
      "after_observed": "2026-08-14",
      "digest_before": "8afebcc0941aa5cca964f2dd577132fc65a33919f220c0792e2799015cf95826",
      "digest_after": "c240f2675bd38b9021b124e33378811068973960addb1ba8925fd8bbc9e8cbb5",
      "verdict": {
        "placed": true,
        "state": "CONFIRMED-DERIVED",
        "basis": "DERIVED",
        "rule_version": "sha256:b6e855c8950bb7f5",
        "class": null,
        "cause": null,
        "detail": null,
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": "https://www.nist.gov/itl/ai-risk-management-framework",
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "43 of 43 later observation(s) carry the new digest, the first on 2026-08-15",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": true,
        "witness_address": "https://www.nist.gov/itl/ai-risk-management-framework",
        "offered_as_witness_change": true,
        "confirmation_subject": "witness",
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "nist-ai-rmf",
      "source": {
        "id": "nist-ai-rmf",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/nist-ai-rmf"
      },
      "observed_at": "2026-08-14",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "nist-csf-2026-10-31",
      "instrument_id": "nist-csf",
      "url": "https://gxplex.com/candidates/nist-csf-2026-10-31/",
      "before_observed": "2026-10-30",
      "after_observed": "2026-10-31",
      "digest_before": "58453f40334e9fdfe7120011e7e72aabc0f294bcdc357ea1d8976ad64419357d",
      "digest_after": "9ab6869e7569d8793cd3b630226b4e8d67a78d9f2bbc0d24fac94c95f6a8852b",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "referent-mismatch",
        "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare",
        "needs": null,
        "findings": [
          {
            "limb": "REFERENT",
            "state": "BLOCKED",
            "class": "referent-mismatch",
            "detail": "AUDITED-MISMATCH: the row hashes an address it does not declare"
          },
          {
            "limb": "PERSIST",
            "state": "WAITING",
            "class": "later-readings",
            "detail": "1 later observation(s) of nist-csf under the extractor current on the candidate's day"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed",
          "flags": {
            "waiting": true,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": true,
            "readings_needed": 1,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "FAIL",
          "why": "AUDITED-MISMATCH: the row hashes an address it does not declare",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": true,
            "referent_verdict": "AUDITED-MISMATCH",
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "PERSIST",
          "field": "waiting",
          "value": true,
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "below_floor",
          "value": true,
          "why": "only 2 later observation(s) were taken under the same extractor, and 3 is the fewest that can tell holding from alternating: persistence is unmeasured, not failed",
          "read_from": "state/triple-projection.json"
        },
        {
          "limb": "PERSIST",
          "field": "readings_needed",
          "value": 1,
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": true,
        "witness_address": "https://csrc.nist.gov/pubs/cswp/29/the-nist-cybersecurity-framework-csf-20/final",
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "nist-csf",
      "source": {
        "id": "nist-csf",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/nist-csf"
      },
      "observed_at": "2026-10-31",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "nist-sp-800-82-2026-09-22",
      "instrument_id": "nist-sp-800-82",
      "url": "https://gxplex.com/candidates/nist-sp-800-82-2026-09-22/",
      "before_observed": "2026-09-21",
      "after_observed": "2026-09-22",
      "digest_before": "eae63eec79c3f449dbf735d5a79ce590bf622927ceef117e29b5c602576f3454",
      "digest_after": "3e7e350389ef6cb543f0204bb056954626a79871ba6d0999dba293d4b8db9a4b",
      "verdict": {
        "placed": true,
        "state": "CONFIRMED-DERIVED",
        "basis": "DERIVED",
        "rule_version": "sha256:b6e855c8950bb7f5",
        "class": null,
        "cause": null,
        "detail": null,
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "35 of 35 later observation(s) carry the new digest, the first on 2026-09-23",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": "instrument",
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "nist-sp-800-82",
      "source": {
        "id": "nist-sp-800-82",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/nist-sp-800-82"
      },
      "observed_at": "2026-09-22",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "nmpa-ai-2026-08-21",
      "instrument_id": "nmpa-ai",
      "url": "https://gxplex.com/candidates/nmpa-ai-2026-08-21/",
      "before_observed": "2026-08-20",
      "after_observed": "2026-08-21",
      "digest_before": "b842380c2707538f1080d5bf7b969f15c2c5147f91a1e05f4c19e97d8dc8aef2",
      "digest_after": "64cfa49f68039cb0b2753fa2f9f56d69e482960222eb267155b6e8b8e5c9a410",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "row-declares-listing",
        "detail": "the row declares itself: the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [
        "REFERENT"
      ],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "nmpa-ai",
      "source": {
        "id": "nmpa-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/nmpa-ai"
      },
      "observed_at": "2026-08-21",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "nmpa-ai-2026-09-23",
      "instrument_id": "nmpa-ai",
      "url": "https://gxplex.com/candidates/nmpa-ai-2026-09-23/",
      "before_observed": "2026-09-22",
      "after_observed": "2026-09-23",
      "digest_before": "0137915a568ecf0116ef1e1e9e48c26bed4bbb68bb9227d501af2592cf68f065",
      "digest_after": "73f428021dbd6ee563fc0444fa1b66da28d0c635178e4b680a80e820cd500b6b",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "row-declares-listing",
        "detail": "the row declares itself: the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [
        "REFERENT"
      ],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "nmpa-ai",
      "source": {
        "id": "nmpa-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/nmpa-ai"
      },
      "observed_at": "2026-09-23",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "nmpa-ai-2026-10-01",
      "instrument_id": "nmpa-ai",
      "url": "https://gxplex.com/candidates/nmpa-ai-2026-10-01/",
      "before_observed": "2026-09-30",
      "after_observed": "2026-10-01",
      "digest_before": "73f428021dbd6ee563fc0444fa1b66da28d0c635178e4b680a80e820cd500b6b",
      "digest_after": "9f00d9ed53c384af63f328a7a1ff595f580b09acf29fc19ddc5d254cd131cc26",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "row-declares-listing",
        "detail": "the row declares itself: the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [
        "REFERENT"
      ],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "nmpa-ai",
      "source": {
        "id": "nmpa-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/nmpa-ai"
      },
      "observed_at": "2026-10-01",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "nmpa-ai-2026-10-23",
      "instrument_id": "nmpa-ai",
      "url": "https://gxplex.com/candidates/nmpa-ai-2026-10-23/",
      "before_observed": "2026-10-22",
      "after_observed": "2026-10-23",
      "digest_before": "9f00d9ed53c384af63f328a7a1ff595f580b09acf29fc19ddc5d254cd131cc26",
      "digest_after": "1fee901ddeb0ef6798d9703ec7953342d2e5528d2ceb6bebf20ddde8430b270d",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "row-declares-listing",
        "detail": "the row declares itself: the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [
        "REFERENT"
      ],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "nmpa-ai",
      "source": {
        "id": "nmpa-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/nmpa-ai"
      },
      "observed_at": "2026-10-23",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "nmpa-ai-2026-10-27",
      "instrument_id": "nmpa-ai",
      "url": "https://gxplex.com/candidates/nmpa-ai-2026-10-27/",
      "before_observed": "2026-10-26",
      "after_observed": "2026-10-27",
      "digest_before": "1fee901ddeb0ef6798d9703ec7953342d2e5528d2ceb6bebf20ddde8430b270d",
      "digest_after": "7942361389fb3a55edcd06297d4b46f42ab8c5ed0cdd2b52348c288addf6c5e1",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "row-declares-listing",
        "detail": "the row declares itself: the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [
        "REFERENT"
      ],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "nmpa-ai",
      "source": {
        "id": "nmpa-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/nmpa-ai"
      },
      "observed_at": "2026-10-27",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "nmpa-ai-2026-10-28",
      "instrument_id": "nmpa-ai",
      "url": "https://gxplex.com/candidates/nmpa-ai-2026-10-28/",
      "before_observed": "2026-10-27",
      "after_observed": "2026-10-28",
      "digest_before": "7942361389fb3a55edcd06297d4b46f42ab8c5ed0cdd2b52348c288addf6c5e1",
      "digest_after": "dfff799b5b6ea2211431c9acd84693d065419546745654419b92eb32cd0f8eb0",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "row-declares-listing",
        "detail": "the row declares itself: the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [
        "REFERENT"
      ],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "nmpa-ai",
      "source": {
        "id": "nmpa-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/nmpa-ai"
      },
      "observed_at": "2026-10-28",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "nmpa-ai-2026-10-30",
      "instrument_id": "nmpa-ai",
      "url": "https://gxplex.com/candidates/nmpa-ai-2026-10-30/",
      "before_observed": "2026-10-29",
      "after_observed": "2026-10-30",
      "digest_before": "dfff799b5b6ea2211431c9acd84693d065419546745654419b92eb32cd0f8eb0",
      "digest_after": "5a6df3d8707e0b7f764c8644286db0bc58e6b314f5a1137a71430e7c04d6c6b1",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "row-declares-listing",
        "detail": "the row declares itself: the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [
        "REFERENT"
      ],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "nmpa-ai",
      "source": {
        "id": "nmpa-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/nmpa-ai"
      },
      "observed_at": "2026-10-30",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "nmpa-ai-2026-11-02",
      "instrument_id": "nmpa-ai",
      "url": "https://gxplex.com/candidates/nmpa-ai-2026-11-02/",
      "before_observed": "2026-11-01",
      "after_observed": "2026-11-02",
      "digest_before": "5a6df3d8707e0b7f764c8644286db0bc58e6b314f5a1137a71430e7c04d6c6b1",
      "digest_after": "4a80b86d52c08b01667e390a85b14e724944f4e78ba9ca6ff657eb130cde5c8e",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "row-declares-listing",
        "detail": "the row declares itself: the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [
        "REFERENT"
      ],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "nmpa-ai",
      "source": {
        "id": "nmpa-ai",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/nmpa-ai"
      },
      "observed_at": "2026-11-02",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "pics-pi-011-2026-09-24",
      "instrument_id": "pics-pi-011",
      "url": "https://gxplex.com/candidates/pics-pi-011-2026-09-24/",
      "before_observed": "2026-09-23",
      "after_observed": "2026-09-24",
      "digest_before": "778926fbdd90c223289a4685e5182494dcef06eeee0099acaaf629efd14eaaaa",
      "digest_after": "cf40bfac8ed76b1af8e5990eb74284e7109844bccb2c699c96f2f7da6787b7b2",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "row-declares-listing",
        "detail": "the row declares itself: the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [
        "REFERENT"
      ],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "pics-pi-011",
      "source": {
        "id": "pics-pi-011",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/pics-pi-011"
      },
      "observed_at": "2026-09-24",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "pics-pi-011-2026-10-29",
      "instrument_id": "pics-pi-011",
      "url": "https://gxplex.com/candidates/pics-pi-011-2026-10-29/",
      "before_observed": "2026-10-28",
      "after_observed": "2026-10-29",
      "digest_before": "cf40bfac8ed76b1af8e5990eb74284e7109844bccb2c699c96f2f7da6787b7b2",
      "digest_after": "da4137a554be5c59ceae41e1e987a369836d0898cda069113e02f2bec35e1402",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "row-declares-listing",
        "detail": "the row declares itself: the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the row's own frozen_reason is listing_only: it tracks a listing, and a listing's contents changing is not a revision to a document",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [
        "REFERENT"
      ],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "pics-pi-011",
      "source": {
        "id": "pics-pi-011",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/pics-pi-011"
      },
      "observed_at": "2026-10-29",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-11-2026-08-08",
      "instrument_id": "us-21-cfr-part-11",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-11-2026-08-08/",
      "before_observed": "2026-08-07",
      "after_observed": "2026-08-08",
      "digest_before": "95bf4a66f2d44a2c2f6e16e4a3f5ebcf7e1199cdb972a8cf3051e02ed051c94b",
      "digest_after": "98ed07f87cddc9258d3cf715ee6653b8186f69423d1d67eaf4e75869a7ecce42",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 27 of 71 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 27 of 71 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-11",
      "source": {
        "id": "us-21-cfr-part-11",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-11"
      },
      "observed_at": "2026-08-08",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-11-2026-08-14",
      "instrument_id": "us-21-cfr-part-11",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-11-2026-08-14/",
      "before_observed": "2026-08-13",
      "after_observed": "2026-08-14",
      "digest_before": "98ed07f87cddc9258d3cf715ee6653b8186f69423d1d67eaf4e75869a7ecce42",
      "digest_after": "15f94377c4fcaf40e77e3d0da24fce73b195aaa9da3fda0f362b83a7c7dbb30f",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 9 of 43 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 9 of 43 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-11",
      "source": {
        "id": "us-21-cfr-part-11",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-11"
      },
      "observed_at": "2026-08-14",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-11-2026-08-19",
      "instrument_id": "us-21-cfr-part-11",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-11-2026-08-19/",
      "before_observed": "2026-08-18",
      "after_observed": "2026-08-19",
      "digest_before": "15f94377c4fcaf40e77e3d0da24fce73b195aaa9da3fda0f362b83a7c7dbb30f",
      "digest_after": "9269c75204ff905cfc9871d03a11c60990eff52d5875a86aa431ea184a136ac3",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 1 of 33 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 1 of 33 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-11",
      "source": {
        "id": "us-21-cfr-part-11",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-11"
      },
      "observed_at": "2026-08-19",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-11-2026-08-21",
      "instrument_id": "us-21-cfr-part-11",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-11-2026-08-21/",
      "before_observed": "2026-08-20",
      "after_observed": "2026-08-21",
      "digest_before": "9269c75204ff905cfc9871d03a11c60990eff52d5875a86aa431ea184a136ac3",
      "digest_after": "4d93ac00b602eb73b4f50d6bc730afd4b0c6a1c5f38ab9a00ed6c497ff3c16b7",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 9 of 31 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 9 of 31 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-11",
      "source": {
        "id": "us-21-cfr-part-11",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-11"
      },
      "observed_at": "2026-08-21",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-11-2026-08-28",
      "instrument_id": "us-21-cfr-part-11",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-11-2026-08-28/",
      "before_observed": "2026-08-27",
      "after_observed": "2026-08-28",
      "digest_before": "4d93ac00b602eb73b4f50d6bc730afd4b0c6a1c5f38ab9a00ed6c497ff3c16b7",
      "digest_after": "825750c5633d8d0299adadff01680f6f94689833bb570c934220d92fd4fef999",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 21 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 21 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-11",
      "source": {
        "id": "us-21-cfr-part-11",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-11"
      },
      "observed_at": "2026-08-28",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-11-2026-08-29",
      "instrument_id": "us-21-cfr-part-11",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-11-2026-08-29/",
      "before_observed": "2026-08-28",
      "after_observed": "2026-08-29",
      "digest_before": "825750c5633d8d0299adadff01680f6f94689833bb570c934220d92fd4fef999",
      "digest_after": "39db0dd17f535777d791e1b3464473c40204c601dcebee5a72fd73987e3bbb68",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 2 of 19 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 2 of 19 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-11",
      "source": {
        "id": "us-21-cfr-part-11",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-11"
      },
      "observed_at": "2026-08-29",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-11-2026-08-31",
      "instrument_id": "us-21-cfr-part-11",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-11-2026-08-31/",
      "before_observed": "2026-08-30",
      "after_observed": "2026-08-31",
      "digest_before": "39db0dd17f535777d791e1b3464473c40204c601dcebee5a72fd73987e3bbb68",
      "digest_after": "244eba4196bb8ace3eac640c46ffad760e2221de4b534126a7e581ea53d3f979",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 1 of 16 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 1 of 16 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-11",
      "source": {
        "id": "us-21-cfr-part-11",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-11"
      },
      "observed_at": "2026-08-31",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-11-2026-09-02",
      "instrument_id": "us-21-cfr-part-11",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-11-2026-09-02/",
      "before_observed": "2026-09-01",
      "after_observed": "2026-09-02",
      "digest_before": "244eba4196bb8ace3eac640c46ffad760e2221de4b534126a7e581ea53d3f979",
      "digest_after": "605180a389c79c559d0f1d04db24d579607d00e7727893b28010b969673089ef",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "13 of 13 later observation(s) carry the new digest, the first on 2026-09-03",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-11",
      "source": {
        "id": "us-21-cfr-part-11",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-11"
      },
      "observed_at": "2026-09-02",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-11-2026-09-08",
      "instrument_id": "us-21-cfr-part-11",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-11-2026-09-08/",
      "before_observed": "2026-09-07",
      "after_observed": "2026-09-08",
      "digest_before": "605180a389c79c559d0f1d04db24d579607d00e7727893b28010b969673089ef",
      "digest_after": "ed1c9acbb776eda4080e8b6f28b71e4c348cc573a604e598e9f84b408c871db0",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-across-the-pair",
        "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "extractor-moved-across-the-pair",
            "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "MOVED",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "5 of 5 later observation(s) carry the new digest, the first on 2026-09-09",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-11",
      "source": {
        "id": "us-21-cfr-part-11",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-11"
      },
      "observed_at": "2026-09-08",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-11-2026-09-26",
      "instrument_id": "us-21-cfr-part-11",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-11-2026-09-26/",
      "before_observed": "2026-09-25",
      "after_observed": "2026-09-26",
      "digest_before": "ed1c9acbb776eda4080e8b6f28b71e4c348cc573a604e598e9f84b408c871db0",
      "digest_after": "bbbd805d0905b3d3bb337aec7f6e0beaac465100b0fdcd1a1083168b7685fa93",
      "verdict": {
        "placed": true,
        "state": "CONFIRMED-DERIVED",
        "basis": "DERIVED",
        "rule_version": "sha256:b6e855c8950bb7f5",
        "class": null,
        "cause": null,
        "detail": null,
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "31 of 31 later observation(s) carry the new digest, the first on 2026-09-27",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": "instrument",
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-11",
      "source": {
        "id": "us-21-cfr-part-11",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-11"
      },
      "observed_at": "2026-09-26",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-211-2026-08-08",
      "instrument_id": "us-21-cfr-part-211",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-211-2026-08-08/",
      "before_observed": "2026-08-07",
      "after_observed": "2026-08-08",
      "digest_before": "393b48f902b837662950a1aec5bca642ec0dc2b1487d5dec104ccd6373b451fa",
      "digest_after": "5997ebbb66615f64b6eeee4e643bbae371cfa262fa2aae4b19645508b3189561",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 27 of 70 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 27 of 70 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-211",
      "source": {
        "id": "us-21-cfr-part-211",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-211"
      },
      "observed_at": "2026-08-08",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-211-2026-08-14",
      "instrument_id": "us-21-cfr-part-211",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-211-2026-08-14/",
      "before_observed": "2026-08-13",
      "after_observed": "2026-08-14",
      "digest_before": "5997ebbb66615f64b6eeee4e643bbae371cfa262fa2aae4b19645508b3189561",
      "digest_after": "9d7b6d9aa4e134c40e14f458fc10130b2c105e71fd482694c63a306dc77f1d43",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 8 of 42 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 8 of 42 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-211",
      "source": {
        "id": "us-21-cfr-part-211",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-211"
      },
      "observed_at": "2026-08-14",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-211-2026-08-19",
      "instrument_id": "us-21-cfr-part-211",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-211-2026-08-19/",
      "before_observed": "2026-08-18",
      "after_observed": "2026-08-19",
      "digest_before": "9d7b6d9aa4e134c40e14f458fc10130b2c105e71fd482694c63a306dc77f1d43",
      "digest_after": "18e04a0c925a01486357077898c82ba38eb236f8f4423a2071952465e827a0d8",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 1 of 33 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 1 of 33 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-211",
      "source": {
        "id": "us-21-cfr-part-211",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-211"
      },
      "observed_at": "2026-08-19",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-211-2026-08-21",
      "instrument_id": "us-21-cfr-part-211",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-211-2026-08-21/",
      "before_observed": "2026-08-20",
      "after_observed": "2026-08-21",
      "digest_before": "18e04a0c925a01486357077898c82ba38eb236f8f4423a2071952465e827a0d8",
      "digest_after": "1e7f136841292df1484cbe2668c3f941f7005a63539be671db5cdb831bd57a59",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 9 of 31 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 9 of 31 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-211",
      "source": {
        "id": "us-21-cfr-part-211",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-211"
      },
      "observed_at": "2026-08-21",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-211-2026-08-28",
      "instrument_id": "us-21-cfr-part-211",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-211-2026-08-28/",
      "before_observed": "2026-08-27",
      "after_observed": "2026-08-28",
      "digest_before": "1e7f136841292df1484cbe2668c3f941f7005a63539be671db5cdb831bd57a59",
      "digest_after": "f24b92ecdf425f86f463835a80a86142c45308ee43cdba5c7d6f64d4845bf23d",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 21 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 21 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-211",
      "source": {
        "id": "us-21-cfr-part-211",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-211"
      },
      "observed_at": "2026-08-28",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-211-2026-08-29",
      "instrument_id": "us-21-cfr-part-211",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-211-2026-08-29/",
      "before_observed": "2026-08-28",
      "after_observed": "2026-08-29",
      "digest_before": "f24b92ecdf425f86f463835a80a86142c45308ee43cdba5c7d6f64d4845bf23d",
      "digest_after": "b670ac9656b7eed06935ddab3e5382672dccf4d4f2f00bfa9c04815bd83c606d",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 2 of 19 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 2 of 19 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-211",
      "source": {
        "id": "us-21-cfr-part-211",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-211"
      },
      "observed_at": "2026-08-29",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-211-2026-08-31",
      "instrument_id": "us-21-cfr-part-211",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-211-2026-08-31/",
      "before_observed": "2026-08-30",
      "after_observed": "2026-08-31",
      "digest_before": "b670ac9656b7eed06935ddab3e5382672dccf4d4f2f00bfa9c04815bd83c606d",
      "digest_after": "bc527e48bcd825107e370b161505f7b4b261a1fdfe8cd71be2cedd70b1572971",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 1 of 16 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 1 of 16 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-211",
      "source": {
        "id": "us-21-cfr-part-211",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-211"
      },
      "observed_at": "2026-08-31",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-211-2026-09-02",
      "instrument_id": "us-21-cfr-part-211",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-211-2026-09-02/",
      "before_observed": "2026-09-01",
      "after_observed": "2026-09-02",
      "digest_before": "bc527e48bcd825107e370b161505f7b4b261a1fdfe8cd71be2cedd70b1572971",
      "digest_after": "4edb9480421c24ce478d141081e716451837cc2dcdb0771da63b85912af7e0eb",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "13 of 13 later observation(s) carry the new digest, the first on 2026-09-03",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-211",
      "source": {
        "id": "us-21-cfr-part-211",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-211"
      },
      "observed_at": "2026-09-02",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-211-2026-09-08",
      "instrument_id": "us-21-cfr-part-211",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-211-2026-09-08/",
      "before_observed": "2026-09-07",
      "after_observed": "2026-09-08",
      "digest_before": "4edb9480421c24ce478d141081e716451837cc2dcdb0771da63b85912af7e0eb",
      "digest_after": "cd3e1c0c936b59ded15e4c38e27a38b03e2e1d8b6a00fd2c82629696dd6a103c",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-across-the-pair",
        "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "extractor-moved-across-the-pair",
            "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "MOVED",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "5 of 5 later observation(s) carry the new digest, the first on 2026-09-09",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-211",
      "source": {
        "id": "us-21-cfr-part-211",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-211"
      },
      "observed_at": "2026-09-08",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-211-2026-09-26",
      "instrument_id": "us-21-cfr-part-211",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-211-2026-09-26/",
      "before_observed": "2026-09-25",
      "after_observed": "2026-09-26",
      "digest_before": "cd3e1c0c936b59ded15e4c38e27a38b03e2e1d8b6a00fd2c82629696dd6a103c",
      "digest_after": "75605421c92f469578f34e38554e0e5ae754e93b92d5def51a9905f45e1b7440",
      "verdict": {
        "placed": true,
        "state": "CONFIRMED-DERIVED",
        "basis": "DERIVED",
        "rule_version": "sha256:b6e855c8950bb7f5",
        "class": null,
        "cause": null,
        "detail": null,
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "31 of 31 later observation(s) carry the new digest, the first on 2026-09-27",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": "instrument",
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-211",
      "source": {
        "id": "us-21-cfr-part-211",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-211"
      },
      "observed_at": "2026-09-26",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-820-2026-08-08",
      "instrument_id": "us-21-cfr-part-820",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-820-2026-08-08/",
      "before_observed": "2026-08-07",
      "after_observed": "2026-08-08",
      "digest_before": "8b8ac787c6877a1973785db6e13b8e6643271ebb4ee9403d7e9db717711c7124",
      "digest_after": "fa65ecef3a810b87382788c6b70bdfad819f167bc9bcf758ca15281140e88d63",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 27 of 70 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 27 of 70 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-820",
      "source": {
        "id": "us-21-cfr-part-820",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-820"
      },
      "observed_at": "2026-08-08",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-820-2026-08-14",
      "instrument_id": "us-21-cfr-part-820",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-820-2026-08-14/",
      "before_observed": "2026-08-13",
      "after_observed": "2026-08-14",
      "digest_before": "fa65ecef3a810b87382788c6b70bdfad819f167bc9bcf758ca15281140e88d63",
      "digest_after": "8ee8e1aad0a5196cfd8be9c3ea24d141240dbba3839be4290a3ab39607ca43a7",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 9 of 42 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 9 of 42 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-820",
      "source": {
        "id": "us-21-cfr-part-820",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-820"
      },
      "observed_at": "2026-08-14",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-820-2026-08-19",
      "instrument_id": "us-21-cfr-part-820",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-820-2026-08-19/",
      "before_observed": "2026-08-18",
      "after_observed": "2026-08-19",
      "digest_before": "8ee8e1aad0a5196cfd8be9c3ea24d141240dbba3839be4290a3ab39607ca43a7",
      "digest_after": "f3605b69e136dcbd96942e1b86545d684c1142b0bfee668ba2114db3fb5df41c",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 1 of 32 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 1 of 32 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-820",
      "source": {
        "id": "us-21-cfr-part-820",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-820"
      },
      "observed_at": "2026-08-19",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-820-2026-08-21",
      "instrument_id": "us-21-cfr-part-820",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-820-2026-08-21/",
      "before_observed": "2026-08-20",
      "after_observed": "2026-08-21",
      "digest_before": "f3605b69e136dcbd96942e1b86545d684c1142b0bfee668ba2114db3fb5df41c",
      "digest_after": "baa155d883e3c444c5b7f46502cad12d29aa4a65ee0d9633c292e5f54ef6eb52",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 8 of 30 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 8 of 30 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-820",
      "source": {
        "id": "us-21-cfr-part-820",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-820"
      },
      "observed_at": "2026-08-21",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-820-2026-08-28",
      "instrument_id": "us-21-cfr-part-820",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-820-2026-08-28/",
      "before_observed": "2026-08-27",
      "after_observed": "2026-08-28",
      "digest_before": "baa155d883e3c444c5b7f46502cad12d29aa4a65ee0d9633c292e5f54ef6eb52",
      "digest_after": "ac6e97a3c75da60bbe14670cc9b3b4cc27356d812734f74467368d56a02ff579",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 21 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 21 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-820",
      "source": {
        "id": "us-21-cfr-part-820",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-820"
      },
      "observed_at": "2026-08-28",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-820-2026-08-29",
      "instrument_id": "us-21-cfr-part-820",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-820-2026-08-29/",
      "before_observed": "2026-08-28",
      "after_observed": "2026-08-29",
      "digest_before": "ac6e97a3c75da60bbe14670cc9b3b4cc27356d812734f74467368d56a02ff579",
      "digest_after": "bb66b9cbb2c4048ee8e7201c3dbc9998689b1b2cc89588d337d623462dec1d7d",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 2 of 19 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 2 of 19 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-820",
      "source": {
        "id": "us-21-cfr-part-820",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-820"
      },
      "observed_at": "2026-08-29",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-820-2026-08-31",
      "instrument_id": "us-21-cfr-part-820",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-820-2026-08-31/",
      "before_observed": "2026-08-30",
      "after_observed": "2026-08-31",
      "digest_before": "bb66b9cbb2c4048ee8e7201c3dbc9998689b1b2cc89588d337d623462dec1d7d",
      "digest_after": "0e1bbcb2d14d663f658ef6b96d6d9e96dcca0b1578d109b833eef81beea80f9b",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          },
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "unstable",
            "detail": "the new digest holds on only 1 of 16 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "the new digest holds on only 1 of 16 later observation(s) taken under the same extractor: the text is unstable, not changed (59 further reading(s) excluded: the extractor moved)",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": true,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-820",
      "source": {
        "id": "us-21-cfr-part-820",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-820"
      },
      "observed_at": "2026-08-31",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-820-2026-09-02",
      "instrument_id": "us-21-cfr-part-820",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-820-2026-09-02/",
      "before_observed": "2026-09-01",
      "after_observed": "2026-09-02",
      "digest_before": "0e1bbcb2d14d663f658ef6b96d6d9e96dcca0b1578d109b833eef81beea80f9b",
      "digest_after": "0eb9eade18684365c4e5887827e80f4e5d33640735d8c3f6aaf75bc73beb506d",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "furniture-only",
        "cause": null,
        "detail": "the differing spans are not document body: NOT-CHANGED",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "NOT-CHANGED",
            "class": "furniture-only",
            "detail": "the differing spans are not document body: NOT-CHANGED"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "the differing spans are not document body: NOT-CHANGED",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": "NOT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "13 of 13 later observation(s) carry the new digest, the first on 2026-09-03",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-820",
      "source": {
        "id": "us-21-cfr-part-820",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-820"
      },
      "observed_at": "2026-09-02",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-820-2026-09-08",
      "instrument_id": "us-21-cfr-part-820",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-820-2026-09-08/",
      "before_observed": "2026-09-07",
      "after_observed": "2026-09-08",
      "digest_before": "0eb9eade18684365c4e5887827e80f4e5d33640735d8c3f6aaf75bc73beb506d",
      "digest_after": "94a77d5625e80437cff61773776997c68ef0e942838a5c000c812e9dfc315ce1",
      "verdict": {
        "placed": true,
        "state": "BLOCKED",
        "basis": null,
        "rule_version": null,
        "class": null,
        "cause": "extractor-moved-across-the-pair",
        "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
        "needs": null,
        "findings": [
          {
            "limb": "BODY",
            "state": "BLOCKED",
            "class": "extractor-moved-across-the-pair",
            "detail": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "FAIL",
          "why": "extractor stability is MOVED: 2 extractor-path commit(s) fall between 2026-09-07 and 2026-09-08",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "NORMALISED-PROVEN",
            "class_lacks": "the raw body was not retained on either side; no extractor version is stamped on the record",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "MOVED",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "5 of 5 later observation(s) carry the new digest, the first on 2026-09-09",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [
        {
          "limb": "BODY",
          "field": "class_lacks",
          "value": "the raw body was not retained on either side; no extractor version is stamped on the record",
          "why": null,
          "read_from": "state/triple-projection.json"
        }
      ],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-820",
      "source": {
        "id": "us-21-cfr-part-820",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-820"
      },
      "observed_at": "2026-09-08",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "us-21-cfr-part-820-2026-09-26",
      "instrument_id": "us-21-cfr-part-820",
      "url": "https://gxplex.com/candidates/us-21-cfr-part-820-2026-09-26/",
      "before_observed": "2026-09-25",
      "after_observed": "2026-09-26",
      "digest_before": "94a77d5625e80437cff61773776997c68ef0e942838a5c000c812e9dfc315ce1",
      "digest_after": "ca64082d7f232821febd374e5e6c9805ec039ac27389635d71d1d8580d9538fd",
      "verdict": {
        "placed": true,
        "state": "CONFIRMED-DERIVED",
        "basis": "DERIVED",
        "rule_version": "sha256:b6e855c8950bb7f5",
        "class": null,
        "cause": null,
        "detail": null,
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "31 of 31 later observation(s) carry the new digest, the first on 2026-09-27",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": "instrument",
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "us-21-cfr-part-820",
      "source": {
        "id": "us-21-cfr-part-820",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/us-21-cfr-part-820"
      },
      "observed_at": "2026-09-26",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "who-ai-health-2026-10-09",
      "instrument_id": "who-ai-health",
      "url": "https://gxplex.com/candidates/who-ai-health-2026-10-09/",
      "before_observed": "2026-10-08",
      "after_observed": "2026-10-09",
      "digest_before": "65c06d0ec2abce03f7a09f5833d0aee77222e069367c6c7cedb867fa5f1253fc",
      "digest_after": "d26e30928de27fa4a5e4d60ce02c3f1d6c3a63a993cba994247f8c7b5711175a",
      "verdict": {
        "placed": true,
        "state": "NOT-CHANGED",
        "basis": null,
        "rule_version": null,
        "class": "reverted",
        "cause": null,
        "detail": "none of the 17 later observation(s) carries the new digest: the text reverted",
        "needs": null,
        "findings": [
          {
            "limb": "PERSIST",
            "state": "NOT-CHANGED",
            "class": "reverted",
            "detail": "none of the 17 later observation(s) carries the new digest: the text reverted"
          }
        ],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "FAIL",
          "why": "none of the 17 later observation(s) carries the new digest: the text reverted",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": true,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": null,
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "who-ai-health",
      "source": {
        "id": "who-ai-health",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/who-ai-health"
      },
      "observed_at": "2026-10-09",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    },
    {
      "candidate_id": "who-ai-health-2026-10-10",
      "instrument_id": "who-ai-health",
      "url": "https://gxplex.com/candidates/who-ai-health-2026-10-10/",
      "before_observed": "2026-10-09",
      "after_observed": "2026-10-10",
      "digest_before": "d26e30928de27fa4a5e4d60ce02c3f1d6c3a63a993cba994247f8c7b5711175a",
      "digest_after": "65c06d0ec2abce03f7a09f5833d0aee77222e069367c6c7cedb867fa5f1253fc",
      "verdict": {
        "placed": true,
        "state": "CONFIRMED-DERIVED",
        "basis": "DERIVED",
        "rule_version": "sha256:b6e855c8950bb7f5",
        "class": null,
        "cause": null,
        "detail": null,
        "needs": null,
        "findings": [],
        "model_read": null,
        "model_read_receipt": null,
        "reproducible": null,
        "witness_address": null,
        "statements": null,
        "window": null,
        "triple": null,
        "read_from": "state/candidate-states.json"
      },
      "limbs_read": true,
      "limbs": [
        {
          "limb": "BYTES",
          "verdict": "PASS",
          "why": "the retained normalised text differs, both observations answered HTTP 200 with no truncation marker, and both carry a digest",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "BODY",
          "verdict": "PASS",
          "why": "differing spans sit in the document body, and no extractor-path commit falls between the two observation days",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": "RAW-PROVEN",
            "class_lacks": "",
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": "STABLE",
            "span_verdict": "TEXT-CHANGED"
          }
        },
        {
          "limb": "PERSIST",
          "verdict": "PASS",
          "why": "16 of 16 later observation(s) carry the new digest, the first on 2026-10-11",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        },
        {
          "limb": "REFERENT",
          "verdict": "PASS",
          "why": "the row hashes the address it declares; 0 dated entries in its reading, below the 12 that would make it a list",
          "flags": {
            "waiting": null,
            "blocked": null,
            "unstable": null,
            "alternating": null,
            "below_floor": null,
            "readings_needed": null,
            "blocking_commits": null,
            "evidence_class": null,
            "class_lacks": null,
            "unanchored": null,
            "incomplete": null,
            "equal_digests": null,
            "missing_side": null,
            "not_the_artifact": null,
            "unlike_referents": null,
            "reverted": null,
            "unaudited": null,
            "referent_mismatch": null,
            "referent_verdict": null,
            "extractor_verdict": null,
            "span_verdict": null
          }
        }
      ],
      "limbs_not_in_projection": [],
      "missing_evidence": [],
      "witness": {
        "witness": false,
        "witness_address": null,
        "offered_as_witness_change": false,
        "confirmation_subject": "instrument",
        "read_from": "state/triple-projection.json"
      },
      "text_retained": true,
      "licence_class": "open",
      "quote_allowed": true,
      "snapshot_available": true,
      "rights_of": "who-ai-health",
      "source": {
        "id": "who-ai-health",
        "state": "tracked",
        "resolves_to": "https://gxplex.com/r/who-ai-health"
      },
      "observed_at": "2026-10-10",
      "observed_at_state": "recorded",
      "observed_at_read_from": "after_observed",
      "distance": null,
      "distance_label": null,
      "distance_state": "not-a-signal"
    }
  ]
}