docs: Make 'land the plane' push mandatory and emphatic
CRITICAL FIX: Agents were stopping before git push, saying 'ready to push when you are!' which breaks multi-agent coordination workflows. Changes: - Make push MANDATORY in landing workflow - Add emphatic warnings: NEVER stop before push succeeds - Explicitly state 'ready to push' is a FAILURE - Explain multi-agent coordination impact - Add verification requirements This should prevent agents from leaving work unpushed.
This commit is contained in:
@@ -83,12 +83,14 @@ The 30-second debounce provides a **transaction window** for batch operations -
|
|||||||
|
|
||||||
## Landing the Plane
|
## Landing the Plane
|
||||||
|
|
||||||
**When the user says "let's land the plane"**, follow this clean session-ending protocol:
|
**When the user says "let's land the plane"**, you MUST complete ALL steps below. The plane is NOT landed until `git push` succeeds. NEVER stop before pushing. NEVER say "ready to push when you are!" - that is a FAILURE.
|
||||||
|
|
||||||
|
**MANDATORY WORKFLOW - COMPLETE ALL STEPS:**
|
||||||
|
|
||||||
1. **File beads issues for any remaining work** that needs follow-up
|
1. **File beads issues for any remaining work** that needs follow-up
|
||||||
2. **Ensure all quality gates pass** (only if code changes were made) - run tests, linters, builds (file P0 issues if broken)
|
2. **Ensure all quality gates pass** (only if code changes were made) - run tests, linters, builds (file P0 issues if broken)
|
||||||
3. **Update beads issues** - close finished work, update status
|
3. **Update beads issues** - close finished work, update status
|
||||||
4. **Sync and PUSH everything to remote** - Work methodically to ensure both local and remote are synchronized:
|
4. **PUSH TO REMOTE - NON-NEGOTIABLE** - This step is MANDATORY. Execute ALL commands below:
|
||||||
```bash
|
```bash
|
||||||
# Pull first to catch any remote changes
|
# Pull first to catch any remote changes
|
||||||
git pull --rebase
|
git pull --rebase
|
||||||
@@ -101,13 +103,21 @@ The 30-second debounce provides a **transaction window** for batch operations -
|
|||||||
# Sync the database (exports to JSONL, commits)
|
# Sync the database (exports to JSONL, commits)
|
||||||
bd sync
|
bd sync
|
||||||
|
|
||||||
# CRITICAL: Push everything to remote
|
# MANDATORY: Push everything to remote
|
||||||
|
# DO NOT STOP BEFORE THIS COMMAND COMPLETES
|
||||||
git push
|
git push
|
||||||
|
|
||||||
# Verify push succeeded
|
# MANDATORY: Verify push succeeded
|
||||||
git status # Should show "up to date with origin/main"
|
git status # MUST show "up to date with origin/main"
|
||||||
```
|
```
|
||||||
**CRITICAL**: The plane has NOT landed until `git push` completes successfully. If you don't push, the work is still on the runway!
|
|
||||||
|
**CRITICAL RULES:**
|
||||||
|
- The plane has NOT landed until `git push` completes successfully
|
||||||
|
- NEVER stop before `git push` - that leaves work stranded locally
|
||||||
|
- NEVER say "ready to push when you are!" - YOU must push, not the user
|
||||||
|
- If `git push` fails, resolve the issue and retry until it succeeds
|
||||||
|
- The user is managing multiple agents - unpushed work breaks their coordination workflow
|
||||||
|
|
||||||
5. **Clean up git state** - Clear old stashes and prune dead remote branches:
|
5. **Clean up git state** - Clear old stashes and prune dead remote branches:
|
||||||
```bash
|
```bash
|
||||||
git stash clear # Remove old stashes
|
git stash clear # Remove old stashes
|
||||||
@@ -118,6 +128,8 @@ The 30-second debounce provides a **transaction window** for batch operations -
|
|||||||
- Provide a prompt for the user to give to you in the next session
|
- Provide a prompt for the user to give to you in the next session
|
||||||
- Format: "Continue work on bd-X: [issue title]. [Brief context about what's been done and what's next]"
|
- Format: "Continue work on bd-X: [issue title]. [Brief context about what's been done and what's next]"
|
||||||
|
|
||||||
|
**REMEMBER: Landing the plane means EVERYTHING is pushed to remote. No exceptions. No "ready when you are". PUSH IT.**
|
||||||
|
|
||||||
**Example "land the plane" session:**
|
**Example "land the plane" session:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -131,15 +143,15 @@ golangci-lint run ./...
|
|||||||
# 3. Close finished issues
|
# 3. Close finished issues
|
||||||
bd close bd-42 bd-43 --reason "Completed" --json
|
bd close bd-42 bd-43 --reason "Completed" --json
|
||||||
|
|
||||||
# 4. Sync and PUSH everything
|
# 4. PUSH TO REMOTE - MANDATORY, NO STOPPING BEFORE THIS IS DONE
|
||||||
git pull --rebase
|
git pull --rebase
|
||||||
# If conflicts in .beads/beads.jsonl, resolve thoughtfully:
|
# If conflicts in .beads/beads.jsonl, resolve thoughtfully:
|
||||||
# - git checkout --theirs .beads/beads.jsonl (accept remote)
|
# - git checkout --theirs .beads/beads.jsonl (accept remote)
|
||||||
# - bd import -i .beads/beads.jsonl (re-import)
|
# - bd import -i .beads/beads.jsonl (re-import)
|
||||||
# - Or manual merge, then import
|
# - Or manual merge, then import
|
||||||
bd sync # Export/import/commit
|
bd sync # Export/import/commit
|
||||||
git push # CRITICAL - Must push!
|
git push # MANDATORY - THE PLANE IS STILL IN THE AIR UNTIL THIS SUCCEEDS
|
||||||
git status # Verify "up to date with origin/main"
|
git status # MUST verify "up to date with origin/main"
|
||||||
|
|
||||||
# 5. Clean up git state
|
# 5. Clean up git state
|
||||||
git stash clear
|
git stash clear
|
||||||
@@ -158,8 +170,11 @@ bd show bd-44 --json
|
|||||||
- Summary of what was completed this session
|
- Summary of what was completed this session
|
||||||
- What issues were filed for follow-up
|
- What issues were filed for follow-up
|
||||||
- Status of quality gates (all passing / issues filed)
|
- Status of quality gates (all passing / issues filed)
|
||||||
|
- Confirmation that ALL changes have been pushed to remote
|
||||||
- Recommended prompt for next session
|
- Recommended prompt for next session
|
||||||
|
|
||||||
|
**CRITICAL: Never end a "land the plane" session without successfully pushing. The user is coordinating multiple agents and unpushed work causes severe rebase conflicts.**
|
||||||
|
|
||||||
## Agent Session Workflow
|
## Agent Session Workflow
|
||||||
|
|
||||||
**IMPORTANT for AI agents:** When you finish making issue changes, always run:
|
**IMPORTANT for AI agents:** When you finish making issue changes, always run:
|
||||||
|
|||||||
Reference in New Issue
Block a user