Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.1 KiB
name: landing-protocol description: How the orchestrator lands an agent branch: ff-only merge, gate on main, install, remove worktree, delete branch; agents never land; numbering handed out in briefs metadata: type: project
Pattern that worked on Ebb (2026-10): agent works in .claude/worktrees/agent-<id>, starts with git reset --hard main, copies git-ignored local.properties and vendor binaries, builds only via tools/gradle-serial.sh, commits, rebases on main, gates, reports (branch, head, gate lines, one line per item, owner steps). Orchestrator: git merge --ff-only, gate on main, installDebug if the phone is attached, git worktree remove --force --force (fallback rm -rf + git worktree prune), git branch -d. Bulk git rm/git branch -D can be blocked by the permission classifier: ask the owner to run it with !.
How to apply: two parallel agents get disjoint decision/spec numbers in their briefs; the second to land renumbers on rebase. Tell a running agent when main moves. See orchestrator-never-codes, gradle-disk-hygiene.