Senpi QA
QA the omo Senpi adapter (packages/omo-senpi, packages/senpi-task) against the REAL...
Install
npx skills add code-yeongyu/oh-my-openagent --skill senpi-qa -g -a claude-code -y- Repository
- code-yeongyu/oh-my-openagent70.6k
- Category
- Testing
- Updated
- 3d ago
- License
- See repository
- Context cost
- Lightabout 1,112 tokens
- Runs scripts
- Yes, review before use
What it does
QA the omo Senpi adapter (packages/omo-senpi, packages/senpi-task) against the REAL senpi binary in strict isolation, and write every artifact to the one canonical evidence path .omo/evidence/omo-senpi-adapter/<slug>/. The live drivers under packages/omo-senpi/scripts/qa/ create their own isolated SENPI_CODING_AGENT_DIR and ignore the caller's, so the real ~/.senpi/agent is never written. Ships scripts/resolve-evidence-dir.mjs, which is the ONLY sanctioned way to pick an evidence directory: it rejects traversal, separators, absolute paths, and stray roots such as local-ignore/qa-evidence. Use whenever someone changes anything under packages/omo-senpi or packages/senpi-task, or wants to QA, smoke-test, verify, or debug the Senpi adapter, the task/team engine, the DAG, task RPC, or skill delivery. Triggers: senpi qa, qa senpi, senpi-qa, test senpi adapter, verify senpi task, senpi task e2e, senpi team e2e, task dag qa, live senpi driver, senpi evidence path.
Senpi QA
QA the omo Senpi adapter (packages/omo-senpi/) and the task engine
(packages/senpi-task/) by driving the REAL senpi binary. Unit tests never
count as live QA here: bun run test:senpi is the package gate, the drivers in
packages/omo-senpi/scripts/qa/ are the harness proof.
Golden rules
- Evidence lives at exactly one path. Every artifact goes under
.omo/evidence/omo-senpi-adapter/<slug>/. Pick it withscripts/resolve-evidence-dir.mjsand nothing else, a hand-typed path is how runs end up somewhere likelocal-ignore/qa-evidence/or a.qa-evidence/at the worktree root, which is outside the ignored root and gets committed by accident (#8703). - Evidence stays local.
.omo/evidence/is gitignored and the tracked-evidence audit test fails the build if any evidence path is tracked. Nevergit add -fan artifact; the PR body carries the summary and the decisive excerpts. - The real agent dir stays untouched. The live drivers build their own
isolated
SENPI_CODING_AGENT_DIRand deliberately IGNORE a caller-provided one, so~/.senpi/agentis never used as the sandbox. Report the driver'srealSenpiUntouched/ changed-path fields and the isolated agent-dir path; treat a whole-directory digest as supporting evidence, not proof by itself. - No binary means SKIP, not silence. When
senpiis absent the live drivers reportSKIPorFAILin their final JSON rather than degrading to the real home. ASKIPis not a pass, say so in the evidence README. - The captured JSON is the evidence. No file on disk means the QA did not happen, which means no commit and no push. The file proves the run on the machine that made it; it is not something the commit carries.
Resolve the evidence directory first
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"


