diff --git a/FUTURE.md b/FUTURE.md index 6d8620c..dd96966 100644 --- a/FUTURE.md +++ b/FUTURE.md @@ -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 [--tools "Bash(npx *)"] [--timeout 1800]`: creates `.claude/worktrees/mm-` on branch `mm/` from main, prepends the preamble, launches `ask-minimax-run` detached with `--add-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`).