voyage/lib/review
Kjell Tore Guttormsen f1c2c9eb4a fix(review): write the gold-scorer key separator as an escape, not a raw NUL byte
lib/review/gold-scorer.mjs held its (file, rule_key) separator as a literal NUL byte
inside a string literal. Git's binary heuristic therefore classed the whole file as
binary. Every diff of the scorer read "Binary files differ", `--numstat` printed "-  -",
and plain grep matched nothing in it. The separator is now written as the escape
sequence '\x00', which is the same one-character string at runtime.

Proof that the change is behaviour-neutral:
- A snapshot script recorded every number the scorer produces, before and after:
  - the committed run-perfect fixture through the coordinator contract;
  - empty, half, spurious (keys containing spaces and colons), duplicated and empty-gold
    runs;
  - all 9 verdict pairs.
  `diff` of the two outputs is empty (141 lines each).
- tests/lib/gold-scorer.test.mjs + tests/lib/gold-eval.test.mjs: 13/13 before and after.
- `git diff --no-index --numstat /dev/null <file>`: the new file reads "89 0" (text); the
  old blob, as a control, reads "- -" (binary).

End-state gate D-06: open -> closed (defects 4 -> 3 of 7). Suite 1059 (1057/0/2), run
on a clean export of the index.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 15:36:18 +02:00
..
coordinator-contract.mjs fix(review): an anonymous invalid payload is unattributable, not a reviewer named "unnamed reviewer" 2026-09-01 22:54:31 +02:00
fidelity-diff.mjs feat(voyage): S10 — NW2 part A (Workflow port + fidelity harness + smoke) 2026-06-18 14:40:19 +02:00
findings-schema.mjs feat(voyage): S9 — NW1 reviewer-output schema contract (TDD, ungated) 2026-06-18 14:06:07 +02:00
gold-scorer.mjs fix(review): write the gold-scorer key separator as an escape, not a raw NUL byte 2026-09-17 15:36:18 +02:00
plan-review-dedup.mjs fix(voyage): S23 — make /trekplan Phase 9 dedup executable (defect #1) 2026-06-19 21:12:36 +02:00
rule-catalogue.mjs feat(voyage)!: bulk content rewrite ultra -> voyage/trek prose [skip-docs] 2026-05-05 15:08:20 +02:00