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
32 lines
834 B
YAML
32 lines
834 B
YAML
name: frozen-fixture-emit
|
|
version: 1
|
|
description: Emit frozen test fixtures for test-needed items
|
|
runtime: script
|
|
input:
|
|
state: scoped-tagged
|
|
tags_required: [test-needed]
|
|
required_artifacts: [impl_skeleton]
|
|
output:
|
|
state: test-skeleton-ready
|
|
scope_budget:
|
|
files_modified_max: 2
|
|
lines_diff_max: 200
|
|
wall_clock_seconds_max: 600
|
|
agent_repo:
|
|
url: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes.git"
|
|
nodes:
|
|
- id: frozen-fixture-emit
|
|
kind: script
|
|
cmd: scripts/workflow/frozen-fixture-emit
|
|
cp_write: false
|
|
on_fail: refuse_dispatch
|
|
- id: state-tx
|
|
kind: script
|
|
cmd: scripts/workflow/state-tx
|
|
cp_write: true
|
|
on_fail: continue
|
|
runtime_env:
|
|
CP_URL: "https://agents.oreillyit.nz/api"
|
|
STATE_TX_NEW_STATE: test-skeleton-ready
|
|
STATE_TX_FROM_STATES: scoped-tagged
|