用途:对 omo Senpi 适配器(packages/omo-senpi/)和任务引擎(packages/senpi-task/)做实时 QA。这里单元测试不算 live QA:bun run test:senpi 是包级门禁,packages/omo-senpi/scripts/qa/ 下的驱动才提供校验证据。
主要能力与用法:先解析证据目录,ev="$(node .agents/skills/senpi-qa/scripts/resolve-evidence-dir.mjs --repo-root "$(git rev-parse --show-toplevel)" --slug <YYYYMMDD>-<short-slug>)",再用 mkdir -p "$ev"。slug 必须是小写字母、数字、连字符组成的单一相对段。按改动选驱动:驱动自检 node packages/omo-senpi/scripts/qa/drive.mjs --self-test;适配器接线 node packages/omo-senpi/scripts/qa/drive.mjs;任务生命周期 SENPI_BIN="$(command -v senpi)" node packages/omo-senpi/scripts/qa/task-e2e.mjs;团队交付与恢复使用 team-e2e.mjs;RPC 用 task-rpc-e2e.mjs --self-test;技能投递用 task-load-skills-e2e.mjs;延续行为用 probe-continuation.mjs;DAG 不变量用 bun test packages/senpi-task。可用 TASK_E2E_OUT_DIR 等指向 $ev 下的子目录。包门禁为 tsgo --noEmit -p packages/omo-senpi/tsconfig.json 和 bun run test:senpi。
限制:证据只留在本地且 .omo/evidence/ 被 gitignore,不得 git add -f;真实 agent 目录不被触碰,驱动自建隔离的 SENPI_CODING_AGENT_DIR,缺少 senpi 时报告 SKIP 或 FAIL 而非降级到真实 home,SKIP 不等于通过。必须写 $ev/README.md,包含测试内容、观察结果、足够性理由和省略项,并在清理后确认子进程 PID 已终止。