.omo/evidence/20260721-ulw-loop-gajae-adoption/uncommitted-diff-salvage.md
The lost worker left tracked changes in 17 ulw-loop-only files. Every hunk was inspected before commit. No out-of-scope tracked path from that diff was kept.
biome-ignore-all format comments and import ordering in files that were already compact/line-budget-constrained. These were validated by npm run check (biome check . passed with no fixes applied) and component tests.cli-steering.ts fix: batched CLI proposals now default missing source to cli, matching the approved plan's normalizeSteeringProposal({ source: "cli", ...rawElement }) contract. This was discovered by the todo-6 real-surface QA when a --proposals-json item without source failed with ULW_LOOP_STEERING_SOURCE_INVALID.checkpoint.ts / validation-batch.ts fix: aggregate-final checkpoint can close a validation batch when the current goal is the batch final member. This was discovered by the todo-6 lifecycle when G003 was both batch-final and run-final and failed with ULW_LOOP_VALIDATION_BATCH_OPEN before the current completion was considered.bun run test:codex rebuilt packages/omo-codex/plugin/components/codegraph/dist/cli.js with alternate bundle comment prefixes. This was out of scope and was restored by rebuilding the codegraph component from its package cwd; final tracked status showed no codegraph diff.
npm test -- cli-steering-batch failed on missing batch source.npm test -- validation-batch-checkpoint failed on batch-final aggregate completion.npm test -- cli-steering-batch steering-batch && npm run typechecknpm test -- validation-batch-checkpoint checkpoint && npm run typechecknpm run check && npm testbun run test:codexdist/cli.js e2e lifecycle transcript in task-6-e2e-transcript.txt.