{
 "round": "two-frontiers-cove-r1",
 "gate": "G-FENCE",
 "verdict": "PASS",
 "detail": "the served bytes are the published redacted copy, the diff against the internal variant is exactly the five registered lines, and the two row-id sets are identical",
 "started_utc": "2026-09-06T13:30:22Z",
 "finished_utc": "2026-09-06T13:30:22Z",
 "evidence": {
  "served": {
   "variant_registered": "published-redacted",
   "sha256_registered": "dfb49b79a8ed758ab3e2ffe127d8ed8f165fb384450ba75ce9019467a9a5001a",
   "sha256_read": "dfb49b79a8ed758ab3e2ffe127d8ed8f165fb384450ba75ce9019467a9a5001a",
   "matches": true,
   "is_the_internal_variant": false,
   "bytes_registered": 11615,
   "bytes_read": 11615,
   "frozen_utc": "2026-08-14",
   "rows_named": 58,
   "table_rows_as_published": 39,
   "distinct_ids_as_published": 64,
   "internal_variant_sha256": "afdf9d7476a51e93185e866548755c16258028e5b1920afc09001fcab661810c",
   "internal_variant_note": "registered for PROVENANCE ONLY: those bytes name an absolute path under a person's home directory and name that person four times. D-20260906-32 attaches the published redacted copy, and this pin REFUSES the internal one by name.",
   "source_document_sha256": "83bb24018524f8ea093a13d14a745354dde728f85f8852d80ac483afcfa2cfb0",
   "counts_note": "58 is the source worklist's own count of open rows and cannot be re-derived from these bytes: as published the file prints 39 table rows naming 64 distinct issue ids, because several open rows are grouped into one ranked row. All three counts print; none is dropped.",
   "read_from": "the file $COVE_FENCE_PATH names"
  },
  "three_objects": {
   "published_redacted_sha256": "dfb49b79a8ed758ab3e2ffe127d8ed8f165fb384450ba75ce9019467a9a5001a",
   "published_redacted_bytes": 11615,
   "internal_variant_sha256": "afdf9d7476a51e93185e866548755c16258028e5b1920afc09001fcab661810c",
   "internal_variant_bytes": 11194,
   "source_worklist_sha256": "83bb24018524f8ea093a13d14a745354dde728f85f8852d80ac483afcfa2cfb0",
   "source_worklist_bytes": 75833,
   "which_rides_a_sheet": "the published redacted copy, and only it (D-20260906-32)"
  },
  "three_counts": {
   "rows_named_by_the_fence_about_its_source": 58,
   "table_rows_as_published": 39,
   "distinct_ids_as_published": 64,
   "why_58_cannot_be_re_derived": "58 is the unpublished source worklist's own count of open rows; several of those group into one ranked row, so the fence's own bytes print 39 rows naming 64 distinct issue ids. All three counts print; the two a reader can check against published bytes are 39 and 64.",
   "id_rule": "an id is `[A-Z][A-Z0-9]*-<digits>` inside a table row; the two ADR-… decision-record references the ranked rows cite are NOT issue ids, and they are the difference between 64 and a naive 66."
  },
  "diff": {
   "read": true,
   "internal_sha256": "afdf9d7476a51e93185e866548755c16258028e5b1920afc09001fcab661810c",
   "lines_internal": 124,
   "lines_published": 124,
   "lines_changed_internal_side": 5,
   "lines_changed_published_side": 5,
   "changed_line_numbers": [
    [
     8,
     "internal-only"
    ],
    [
     38,
     "internal-only"
    ],
    [
     42,
     "internal-only"
    ],
    [
     45,
     "internal-only"
    ],
    [
     109,
     "internal-only"
    ],
    [
     8,
     "published-only"
    ],
    [
     38,
     "published-only"
    ],
    [
     42,
     "published-only"
    ],
    [
     45,
     "published-only"
    ],
    [
     109,
     "published-only"
    ]
   ],
   "opcodes": [
    {
     "op": "replace",
     "internal": [
      8,
      8
     ],
     "published": [
      8,
      8
     ]
    },
    {
     "op": "replace",
     "internal": [
      38,
      38
     ],
     "published": [
      38,
      38
     ]
    },
    {
     "op": "replace",
     "internal": [
      42,
      42
     ],
     "published": [
      42,
      42
     ]
    },
    {
     "op": "replace",
     "internal": [
      45,
      45
     ],
     "published": [
      45,
      45
     ]
    },
    {
     "op": "replace",
     "internal": [
      109,
      109
     ],
     "published": [
      109,
      109
     ]
    }
   ],
   "nature_of_the_five": [
    "the source-path line, withheld in the published copy",
    "three lines of prose that named a person, reading 'the operator' in the published copy",
    "an added publication counting note, which is the one sentence this round's judges read that August's judges never saw"
   ],
   "the_text_is_not_quoted_here": "deliberately: the internal side of these five lines is an absolute path under a home directory and a person's name three times, and this receipt publishes.",
   "row_id_sets_identical": true,
   "row_ids_only_internal": [],
   "row_ids_only_published": [],
   "table_lines_internal": 45,
   "table_lines_published": 45,
   "counts_as_published": {
    "table_rows_as_published": 39,
    "distinct_issue_ids": 64,
    "header_rows_excluded": 6
   }
  },
  "frozen_utc": "2026-08-14",
  "problems": []
 },
 "arms": {},
 "records": [],
 "withheld": {
  "rule": "a receipt publishes in the kit, so these fields are removed here rather than at kit time — and named, because a field quietly absent from a receipt is indistinguishable from a gate that never read it."
 },
 "note": "written by harness/cove/gates_cove.py. Every generation call rides the same send() the scored run uses; a gate that hand-rolled its own call would receipt a field the run never sent."
}
