future: mm-worktree-task (MiniMax implementation subagent in worktrees)

This commit is contained in:
Paul O'Reilly
2026-09-10 14:46:39 +12:00
parent f21506af19
commit aa8883dbc5

View File

@@ -68,3 +68,10 @@ This is where the user's explicit ask sits, and where it's easy to go wrong:
- **agent-runtimes control plane** — already exists and is actively used; no new infrastructure required there, but the control plane needs a small documented contract for "submit a Claude consult task and return the result file path."
- **The `bg-model-call` wrapper from this same FUTURE.md section** — if that ships first, the subagent dispatch layer here is mostly already built; this entry becomes "new driver harness on top of an existing wrapper."
- **A token-budget sketch** — before any code is written, estimate a 4-hour session under both architectures with realistic ratios of routine vs. reasoning turns. If the savings are <30%, this is a research project, not a productivity win.
## `mm-worktree-task` — MiniMax implementation subagent in a git worktree
- **Problem:** `/ask-minimax` is a synchronous Q&A/grunt-work wrapper (Read/Write only, cwd = operator's checkout). Using MiniMax to *implement* a work item in parallel with others needs: an isolated worktree + branch, a standard preamble (spec-in-same-commit, only-run-touched-tests, commit-and-verify-branch, report path), scoped Bash allowlist (`pytest`, `git add/commit`, `ruff`), an 1800s cap, detached launch, and a completion log. On 2026-09-10 this was hand-rolled in agent-runtimes (7 parallel runs, 7/7 committed) — see `agent-runtimes/memory/gotchas-minimax.md` "MiniMax as an implementation subagent in git worktrees".
- **Idea:** `mm-worktree-task <slug> <brief-file> [--tools "Bash(npx *)"] [--timeout 1800]`: creates `.claude/worktrees/mm-<slug>` on branch `mm/<slug>` from main, prepends the preamble, launches `ask-minimax-run` detached with `--add-dir <report-dir>` so the report can be written outside the worktree, appends `slug rc elapsed` to a launch log, and prints the paths to poll. `--dryrun` shows the assembled prompt and the command.
- **Also fix in `ask-minimax-run`:** set `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1` (or `CLAUDE_CODE_MAX_CONTEXT_TOKENS`) — `MiniMax-M3` is not in the Claude Code model catalog, so every run warns and pins auto-compact at 200k.
- **Depends on:** spec + test per repo conventions; agreement on the preamble text (keep it in `data/mm-worktree-task/preamble.md`).