8bef22afb2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
11 lines
1.1 KiB
Markdown
11 lines
1.1 KiB
Markdown
---
|
|
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]].
|