feat(templates): explicit cp_write on every kind: script node + audit test (WF-COMP-31d, item 26754227)

cp_write: true  -> state-tx (test-validate@1, frozen-fixture-emit@1) and, in
                   the archived bug-ancestor-auto-advance@1, tag-set + state-tx.
cp_write: false -> every other script node (verdict-gate, policy-pick,
                   preflight-*, frozen-fixture-emit, parent-link-check).
tests/invariants/test_cp_write_field_set_correctly.py pins the set.

HOLD: do not merge until the CP release that adds WorkflowNode.cp_write.
The current CP schema is extra="forbid" and rejects the new key
(verified: nodes.0.cp_write extra_forbidden), so on the old CP these
template edits are NOT inert.

Claude-Session: https://claude.ai/code/session_01N218bERyNeLhbLmDRDvbWF
This commit is contained in:
Paul O'Reilly
2026-10-04 09:36:04 +13:00
parent 08ca057687
commit 887578f0eb
8 changed files with 100 additions and 0 deletions

View File

@@ -61,6 +61,7 @@ nodes:
- id: review-gate
kind: script
cmd: scripts/workflow/verdict-gate
cp_write: false
depends_on: [review-sonnet]
loop:
body: [write-minimax, review-sonnet, review-gate]