fix: durable author worktree resolution without control fallback (Closes #618)
Author mutation tools now resolve workspace via explicit worktree_path,
env bindings, or the active author issue lock — never silent fallback to
the control checkout/master. Missing configured bindings fail closed with
operator recovery; create_issue and create_issue_comment agree.
Recovered onto 0568f44 from preserved candidate cbf56ccd (AUTHOR_RECOVERY).
LLM_LOCK_ID=author-618-recovery-508eb3162d01-1784569919
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
@@ -523,6 +523,49 @@ Who/what acts next:
|
||||
- Required action: implement #507 two-comment validator
|
||||
- Do not do: recreate duplicate CTH issue
|
||||
- Resume from: issue #507 body
|
||||
""",
|
||||
)
|
||||
)
|
||||
|
||||
EXAMPLES.append(
|
||||
_example(
|
||||
"bound_worktree_missing_blocker",
|
||||
"""
|
||||
[CONTROLLER HANDOFF] Issue #618 — author mutation blocked
|
||||
|
||||
Server-side mutation ledger:
|
||||
- none — no server-side state changed
|
||||
|
||||
Blockers:
|
||||
- environment/tooling blocker: bound worktree missing; operator must recreate or repoint the worktree and reconnect
|
||||
""",
|
||||
"""
|
||||
[THREAD STATE LEDGER] Issue #618 — author worktree binding unhealthy
|
||||
|
||||
What is true now:
|
||||
- Issue state: open
|
||||
- Server-side decision state: no server-side state changed
|
||||
- Local verdict/state: author mutation tools fail closed consistently
|
||||
- Latest known validation: runtime context reports workspace_healthy=false
|
||||
- Role/profile: prgs-author
|
||||
- Configured worktree path: branches/mcp-author-clean-ns (via GITEA_AUTHOR_WORKTREE)
|
||||
- path_exists: false
|
||||
- in_git_worktree_list: false
|
||||
- inspected_git_root: null
|
||||
|
||||
What changed:
|
||||
- nothing server-side; local env still points at a deleted role-bound worktree
|
||||
|
||||
What is blocked:
|
||||
- Blocker classification: environment/tooling blocker
|
||||
- Blocker detail: bound worktree missing; operator must recreate or repoint the worktree and reconnect
|
||||
- create_issue and create_issue_comment (and other author mutations) agree: fail closed before API mutation
|
||||
|
||||
Who/what acts next:
|
||||
- Next actor: operator
|
||||
- Required action: recreate the worktree under branches/ (scripts/worktree-start or git worktree add), set GITEA_AUTHOR_WORKTREE / GITEA_ACTIVE_WORKTREE to that path (or pass worktree_path), keep control checkout clean on master, reconnect the author MCP session, then re-run the mutation
|
||||
- Do not do: retry mutations hoping create_issue_comment will still work while create_issue blocks; do not fall back to the control checkout or master
|
||||
- Resume from: healthy author worktree binding + gitea_whoami + gitea_resolve_task_capability
|
||||
""",
|
||||
)
|
||||
)
|
||||
Reference in New Issue
Block a user