From 33d7352a7f7b01e2e301efbf88110ad37e38ff31 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Wed, 4 Nov 2026 19:55:20 -0800 Subject: [PATCH] docs(review-policy): verify also checks each merged row's reader (GST-1406 follow-up) (#4019) * docs(review-policy): verify also checks each merged row's reader (GST-1406 follow-up) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * chore: changelog fragment for the verify-reader docs line Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --------- Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --- changelog.d/gst-1406-verify-reader-doc.md | 3 +++ docs/review-policy.md | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 changelog.d/gst-1406-verify-reader-doc.md diff --git a/changelog.d/gst-1406-verify-reader-doc.md b/changelog.d/gst-1406-verify-reader-doc.md new file mode 100644 index 000000000..a8bc073ef --- /dev/null +++ b/changelog.d/gst-1406-verify-reader-doc.md @@ -0,0 +1,3 @@ +### Fixed + +- **docs/review-policy.md now says `verify` checks each merged row's reader.** Since GST-1406, `gstack-review-dispatch verify` checks every merged row's reader, label and raw text against the output collect parsed. The policy text named only the label and raw text. This is the documentation debt #4017 shipped with. diff --git a/docs/review-policy.md b/docs/review-policy.md index 00d941011..882cd2004 100644 --- a/docs/review-policy.md +++ b/docs/review-policy.md @@ -798,7 +798,7 @@ ones, and the arm lost blockers. `bin/gstack-review-dispatch` closes both ends: byte-exact before anything was collected is void and counted (`voided=N` on the verdict line); one that produced an output stays `MISMATCH`. Then output hashes against the merged lines they produced, and each merged line against the finding collect - parses at that id's index from the unchanged output file, label and raw text byte for byte + parses at that id's index from the unchanged output file, its reader, label and raw text byte for byte (`merged_line_differs` on the OUTPUT and JUDGE rows otherwise, GST-541), so an edited merged.jsonl cannot lower a finding or swap its text. A recorded output file that is missing (`output_file_missing`), a judgment run on a merged file collect did not write