Committing work found uncommitted in the checkout: --base lets a unit be based
on a branch other than main (used throughout the M32 cut-over session for
u6-tests and hatchmate-migration bases), and the bare 'return' statements
become 'return 0' so they cannot abort under set -e when the preceding test is
false.
Per the project agent-safety rule: untracked/uncommitted work that matters gets
committed the day it is found, so local loss cannot take it.
Claude-Session: https://claude.ai/code/session_014KNyfHmHpMbdMrHZXDRkAp
cp_cli lives in agent-runtimes; previously every planner call ran 'python3 -m lib.cp_cli' from the current repo with no --context, so the script only worked inside agent-runtimes. The context now resolves from ~/.cpconfig by matching project_id to the repo directory name. Verified live from hatchmate (item + parent + documents fetched via the hatchmate context).
Claude-Session: https://claude.ai/code/session_01JgJbWzVJioVznVTFyQFEfx
Wraps ask-minimax-run to run a MiniMax M3 implementation sub-session in an
isolated git worktree, with the prompt assembled from a planner work item
(cp_cli item + documents + parent/siblings). Supports --dryrun, --collect,
and --upload, per the pattern used for the 2026-09-10 seven-worktree batch
(see agent-runtimes memory/gotchas-minimax.md).
Claude-Session: https://claude.ai/code/session_015nXvGNNNixJPFwZKZHNyha