Add Landing Rule to crew and polecat templates

Work is NOT landed until it's either on main or in the Refinery MQ.
Feature branches are dangerous in multi-agent environments - the repo
baseline can diverge wildly in hours.
This commit is contained in:
Steve Yegge
2025-12-30 18:21:39 -08:00
parent 23fca6f2eb
commit bbbb527708
2 changed files with 42 additions and 6 deletions
+29 -6
View File
@@ -210,13 +210,27 @@ Your hooked work persists across sessions. The handoff mail is just context note
**Crew workers push directly to main. No feature branches.** **Crew workers push directly to main. No feature branches.**
Why: ### The Landing Rule
- You own your clone - no isolation needed
- Work is fast (10-15 min) - branch overhead exceeds value > **Work is NOT landed until it's either on `main` or submitted to the Refinery MQ.**
- Branches go stale with context cycling - main is always current
- You're a trusted maintainer, not a contributor needing review Feature branches are dangerous in multi-agent environments:
- The repo baseline can diverge wildly in hours
- Branches go stale with context cycling
- Merge conflicts compound exponentially with time
- Other agents can't see or build on unmerged work
**Valid landing states:**
1. **Pushed to main** - Work is immediately available to all agents
2. **Submitted to Refinery** - `gt done` creates MR, Refinery will merge
**Invalid states (work is at risk):**
- Sitting on a local branch
- Pushed to a remote feature branch but not in MQ
- "I'll merge it later" - later never comes in agent time
### Workflow
Workflow:
```bash ```bash
git pull # Start fresh git pull # Start fresh
# ... do work ... # ... do work ...
@@ -226,6 +240,15 @@ git push # Direct to main
If push fails (someone else pushed): `git pull --rebase && git push` If push fails (someone else pushed): `git pull --rebase && git push`
### Cross-Rig Work (gt worktree)
`gt worktree` creates a branch for working in another rig's codebase. This is the
ONE exception where branches are created. But the rule still applies:
- Complete the work in one session if possible
- Submit to that rig's Refinery immediately when done
- Never leave cross-rig work sitting on an unmerged branch
## Key Commands ## Key Commands
### Finding Work ### Finding Work
+13
View File
@@ -207,6 +207,19 @@ When all steps are done, the molecule gets squashed automatically when you run `
Run `gt done` when your work is complete. It verifies git is clean, syncs beads, Run `gt done` when your work is complete. It verifies git is clean, syncs beads,
and submits your branch to the merge queue. The Witness handles the rest. and submits your branch to the merge queue. The Witness handles the rest.
### The Landing Rule
> **Work is NOT landed until it's on `main` OR in the Refinery MQ.**
Your branch sitting on origin is NOT landed. You must run `gt done` to submit it
to the merge queue. Without this step:
- Your work is invisible to other agents
- The branch will go stale as main diverges
- Merge conflicts will compound over time
- Work can be lost if your polecat is recycled
**Branch → `gt done` → MR in queue → Refinery merges → LANDED**
## If You're Stuck ## If You're Stuck
1. **File an issue**: `bd create --title="Blocked: <reason>" --type=task` 1. **File an issue**: `bd create --title="Blocked: <reason>" --type=task`