.omo/evidence/20260721-ulw-loop-gajae-adoption/task-2.md
Command: npm test -- steering-batch cli-steering-batch
Observed failure before implementation:
test/steering-batch.test.ts failed to import missing ../src/steering-batch.js.parseSteeringProposals was not exported from cli-steering.ts.Commands:
npm test -- steering-batch cli-steering-batch steering cli-steering, npm run typecheck, npm run build.npm test -- steering-batch cli-steering-batch validation-batch cli-validation-batch, npm run check, full npm test.Observed:
npm run check passed; full component suite passed 40 files / 418 tests.Built CLI: dist/cli.js in fresh mktemp git repos.
Scenarios:
steer --proposals-json with two valid proposals (annotate_ledger, revise_criterion).
results.length == 2.G001-goal-alpha criterion C001 scenario changed to observable revised scenario.steer --proposals-json with first valid add_subgoal and second invalid reorder_pending using missing.
unknown pending id..omo/ulw-loop/goals.json before/after; byte string was unchanged, proving no partial plan mutation.steering_rejected ledger entry.index 1: unknown pending id; index 2: split_subgoal requires target.G003,G001-goal-alpha,G002-goal-beta.3 -> 3, proving replay dedup produced no new mutation/audit.Transcript summary printed by assertions:
batch accepted ok 2; batch rejection atomic ok unknown pending id.reviewer-fix-transcript.txt.