docs(issue-21): item 4 helpers, the submodule removal rule and the resume cwd rule in the design doc, compatibility matrix and skill docs
- design doc §3: the hand-assembled worktree/.venv/create recipe is replaced by worktree_prepare.sh --creator-agent (its BASE= line is the base to record); cleanup is worktree_remove.sh --stop; resume needs the original path. - §4: what the helpers do - no .mam.env copy, the shared info/exclude, opt-in submodules (any init leaves modules/, which blocks a plain remove), removal of submodule worktrees with one --force after the checks, and never by hand. - §5: item 4 is loop A on this branch; phase-1 items are done in v4.6.0. - §7: create (control-root reconcile/watchdog, loud binding failure), resume (original cwd only, binding persisted when already running), stop (the removal helper's checks), monitor (register via create/prepare only). - create / stop / resume SKILL.md: usage and exit codes of worktree_prepare.sh and worktree_remove.sh, the original-cwd rule and its exit code (1 -> 2). Frontmatter versions are unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017R3Eg7MEpSWnm1oB9ZPP6G
This commit is contained in:
1 parent
657b4b70ed
commit
7988db9adf
4 files changed
+74
-23
No files matched your search
@@ -123,6 +123,15 @@ bash .agents/skills/multi-agent-mux-resume/scripts/update_yaml_resumed.sh \
|
||||
herdr agent attach "$SESSION_NAME"
|
||||
```
|
||||
|
||||
## Original cwd only (Issue #21 phase 2)
|
||||
|
||||
A session is resumed only in the directory it ran in (its row's `pane.cwd`): the conversation is keyed by that directory, and a class A agent (agy/hermes/opencode/codex) would otherwise start a new conversation in the wrong tree.
|
||||
|
||||
- `--workspace` differing from `pane.cwd` → **exit 2** with the path to use (claude/grok used to fail with exit 1 "No saved session").
|
||||
- `pane.cwd` no longer exists (worktree removed) → **exit 2**; recreate the worktree at that path to resume.
|
||||
- Rows without `pane.cwd` are not checked. The check runs before session-id resolution and also under `--dry-run`.
|
||||
- The control-plane binding is computed before the herdr-alive check, so an already-running session's row gets it too; a binding that cannot be computed is refused (exit 2) for a worktree and warned about for the control root.
|
||||
|
||||
## Pitfalls
|
||||
|
||||
- **`claude -r` requires the SAME project directory** — if the workspace path differs from when the session was created, claude will create a new project dir key (`-home-...-different-name`) and put the resume in a different location. Always `-c` (cd to workspace) before running.
|
||||
|
||||
Reference in new issue
Block a user