Files
language-conditioned-psycho…/research/stage1
JinotechandClaude Opus 5 ab175ce253 build(stage1): populate the derived columns of the adjudication table
Fills reviewer_1_decision, reviewer_2_decision and conflict_reason for all 84
rows (252 cells) so adjudicators can work from one sheet. Every adjudicator
field stays blank: identity, date, final_*, notes and attestation are human
attestation and the script neither writes them nor overwrites existing values.

conflict_reason follows the validator's actual rule (decisions differ, or
reviewer_1 is not a plain approve) and states only the mechanical reason plus
both decisions - no interpretation. 63 rows differ, 21 agree but are not plain
approve, so all 84 require adjudication.

Adds a purpose-built script rather than fixing at the usual build source:
build_human_review_packets.py overwrites both signed reviewer CSVs with blank
templates at lines 39-40, so running it would destroy 84 rows of signed human
review. It was not run. The new script re-hashes both signed packets before and
after and exits FATAL if either changed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-21 00:15:47 +12:00
..