.omo/evidence/omo-senpi-adapter/20260719-curated-agents/what-tested.md
tsgo --noEmit -p packages/senpi-task/tsconfig.jsontsgo --noEmit -p packages/omo-senpi/tsconfig.jsonbun test packages/senpi-task packages/omo-senpibun run test:senpibun test packages/omo-opencode/src/shared/markdown-link-audit.test.tsbun test packages/omo-senpi/plugin/scripts/build-extension.test.mjsnode packages/omo-senpi/plugin/scripts/build-extension.mjs --checkTMPDIR=<worktree>/.omo/tmp SENPI_BIN=/opt/homebrew/bin/senpi CURATED_AGENTS_E2E_OUT_DIR=<evidence-dir> node packages/omo-senpi/scripts/qa/curated-agents-e2e.mjsTMPDIR=<worktree>/.omo/tmp SENPI_BIN=/opt/homebrew/bin/senpi TASK_E2E_OUT_DIR=<evidence-dir> node packages/omo-senpi/scripts/qa/task-e2e.mjsThe build checker no longer compares mtimes or a hand-maintained source-root list. The build embeds a content digest over the complete Bun metafile input graph, stable relative input paths, build settings, and build script; --check regenerates the graph and compares that source digest while independently verifying the checked-in body digest. The regression test asserts that the main graph includes packages/senpi-task/src/runners/in-process/curated-readonly-bash.ts, that old output mtimes pass, and that body or source-marker tampering fails.
The suite covers every rejected boundary: disablement with an explicit model, unoverrideable in-process execution, shell-free read-only remote research, complete fallback literals, independent live-analysis expectations, transitive bundle freshness, documentation accuracy, and all task evidence files.
.omo/** is intentionally uncommitted.