.omo/evidence/20260731-luna-deepseek-chains/README.md
quick chains with reasoning disabled.explore and librarian) with max reasoning. The repository has no model chain named latest; these are the GPT-first cross-harness chains matching the request's position and reasoning description.dev with the user's unrelated dirty edits untouched.feat/luna-deepseek-chains/Users/yeongyu/local-workspaces/omo-wt/feat/luna-deepseek-chainsorigin/dev at 888a26b61~/.senpi/agent/models.json was read only to confirm provider/model identity: deepseek/deepseek-v4-flash, display name 0731 DeepSeek V4 Flash, with max reasoning support.Command outputs, RED/GREEN observations, manual QA, isolation checks, and cleanup receipts are appended below as they are produced.
bun test script/gpt-mini-reference-audit.test.tsbun test packages/model-core/src/luna-deepseek-chain-policy.test.tsquick[2] and the GPT-first retrieval-chain second rungs are not DeepSeek V4 Flash with the requested effort.quick[2] was qwen3.6-flash instead of deepseek-v4-flash.bun test packages/senpi-task/src/luna-deepseek-chain-policy.test.tsquick[2] was qwen3.6-flash instead of deepseek-v4-flash.bun test script/gpt-mini-reference-audit.test.ts.omo/evidence/ directories and found zero retired GPT Mini references.bun test packages/model-core/src/luna-deepseek-chain-policy.test.ts packages/model-core/src/model-requirements-categories.test.ts packages/model-core/src/model-requirements-agents.test.ts packages/model-core/src/category-routing-policy.test.tsquick: Luna low immediately followed by DeepSeek V4 Flash off.explore and librarian: Luna low immediately followed by DeepSeek V4 Flash max.bun test packages/senpi-task/src/luna-deepseek-chain-policy.test.ts packages/senpi-task/src/agents/builtin/fallback-chains.test.ts packages/senpi-task/src/category/category-routing-policy.test.tsbun -e importing packages/model-core/src/model-requirements.ts, packages/senpi-task/src/category/fallback-chains.ts, and packages/senpi-task/src/agents/builtin/fallback-chains.ts, then serializing the relevant slices.quick: gpt-5.6-luna-fast (low) then deepseek-v4-flash (off).explore and librarian: gpt-5.6-luna-fast (low) then deepseek-v4-flash (max).bun run build: PASS; rebuilt OpenCode, CLI, schemas, Codex plugin/components, and Senpi extension artifacts.bun run typecheck: PASS after correcting mutable test fixture typing; root, script, and all package tsgo scopes exited 0.bun run test:senpi: PASS, 509 tests / 0 failures.bun run test:codex: PASS, including 515 Node-side Codex/install tests / 0 failures.packages/web: format:check, lint, type-check, and production next build all PASS.bun run typecheck is the clean compiler-backed substitute; no diagnostic suppression was used.OPENCODE_CONFIG_CONTENT pointing at the task worktree's built dist/index.js, then opencode debug config.explore and librarian agents, built-in codegraph and lsp MCPs, and a runtime skill URL.21932 -> 21932./var/folders/.../opencode-luna-qa...; verified the QA root no longer existed.bash scripts/hook-unit-probe.sh --self-test: PASS; ultrawork UserPromptSubmit hook fired.bash scripts/app-server-drive.sh --plugin: PASS; real app-server turn completed against the local mock model, with sessionStart, userPromptSubmit, and stop hook/started + hook/completed notifications.bash scripts/install-verify.sh --self-test: PASS after a sequential retry. The first parallel attempt collided on a shared git-submodule config lock and was discarded; the sequential run proved plugin cache, omo@sisyphuslabs, nine component links, and agent TOMLs.~/.codex/config.toml unchanged within its run.CODEX_HOME; no live app-server or QA sandbox remained.env -u SENPI_CODING_AGENT_SESSION_DIR node packages/omo-senpi/scripts/qa/drive.mjs.senpi executable loads the task worktree's local extension in a generated sandbox, receives the ultrawork directive, and runs comment-checker behavior.ultraworkInjected: true, commentChecker: PASS) with sandbox paths under /var/folders/.../omo-senpi-qa-....realSenpiUntouched: false because this active Senpi session wrote concurrent session history while the digest was sampled. The QA process itself used the printed sandbox agent directory and removed it in finally; no credential or user configuration path was supplied.variant-thinking-e2e.mjs attempts were inconclusive for this change: their nested task child was correctly detected as an RPC child and produced no child stream. Both still classified attributable real-Senpi changes as clean; they are not counted as PASS evidence. The simpler live extension driver is the accepted harness proof.bun test: PASS, 12,624 tests / 0 failures / 3 pre-existing platform skips across 1,665 files.bun run typecheck: PASS after all test fixture corrections.git diff --check: PASS.mini prefix of minimal.latest chain; no such key exists, so the implementation targets both mirrored GPT-first fast retrieval chains (explore and librarian) and documents that decision.Tier remained HEAVY because the final diff crosses model-core, OpenCode, Senpi, Codex, web, docs, and generated artifacts. The full root suite and all three real harness surfaces were exercised.