.omo/evidence/20260726-team-steer-only/README.md
This change makes every team-message delivery path steer into the recipient's running turn. Generic non-team task_send retains its followUp default.
bun test packages/senpi-task packages/omo-senpi/src
bun-test.log.task_send routing, scoped-schema removal, and the scoped TUI renderer.bunx tsgo --noEmit -p packages/senpi-task/tsconfig.json
tsgo-senpi-task.log.bunx tsgo --noEmit -p packages/omo-senpi/tsconfig.json
tsgo-omo-senpi.log.bun run build:senpi-plugin:stage
build-senpi-plugin-stage.log.omo-member.js.TEAM_E2E_OUT_DIR=<this directory>/team-e2e-artifacts node packages/omo-senpi/scripts/qa/team-e2e.mjsteam_wait, crash reservation recovery, restart, and liveness injection. It also reported credentialIsolationClean: true and leakedPids: 0.team-e2e.log and team-e2e-artifacts/verdict.json.wholeDirUnchanged field was false, while the verdict remained PASS. This records a real Senpi-agent-directory digest difference outside credential isolation; a dev baseline was not needed because the live QA did not fail.The targeted tests assert the exact steering-engine outcome (delivered: "steer"), call handle.steer, and assert that handle.followUp is never called for member-scoped and explicit lead-team sends. The member extension and shutdown messenger tests cover the remaining concrete inbound delivery producers. The live QA exercises the built plugin in an isolated sandbox with the mock provider.
No dev-baseline QA run was made: the isolated live QA passed. No manual interactive TUI session was run beyond the automated renderer and live-E2E coverage.