diff --git a/internal/formula/formulas/mol-polecat-work.formula.toml b/internal/formula/formulas/mol-polecat-work.formula.toml index 3992f502..a6b50fb7 100644 --- a/internal/formula/formulas/mol-polecat-work.formula.toml +++ b/internal/formula/formulas/mol-polecat-work.formula.toml @@ -362,20 +362,14 @@ Should be empty. If not: - Pop and commit: `git stash pop && git add -A && git commit` - Or drop if garbage: `git stash drop` -**4. Push your branch:** -```bash -git push -u origin $(git branch --show-current) -``` - -**5. Verify nothing left behind:** +**4. Verify nothing left behind:** ```bash git status # Clean git stash list # Empty -git log origin/main..HEAD # Your commits -git diff origin/main...HEAD # Your changes (expected) +git log origin/main..HEAD # Your commits (local only, not pushed) ``` -**Exit criteria:** Branch pushed, workspace clean, no cruft.""" +**Exit criteria:** Workspace clean, commits ready for Refinery.""" [[steps]] id = "prepare-for-review" @@ -442,7 +436,7 @@ You should see output like: **3. You're recyclable:** Your work is in the queue. The Witness knows you're done. -Your sandbox can be cleaned up - all work is pushed to origin. +Refinery will access your local branch via shared .repo.git. If you have context remaining, you may: - Pick up new work from `bd ready` diff --git a/internal/templates/roles/polecat.md.tmpl b/internal/templates/roles/polecat.md.tmpl index 93dd8936..14eb7fcd 100644 --- a/internal/templates/roles/polecat.md.tmpl +++ b/internal/templates/roles/polecat.md.tmpl @@ -226,14 +226,14 @@ and submits your branch to the merge queue. The Witness handles the rest. > **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 local branch 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** +**Local branch → `gt done` → MR in queue → Refinery merges → LANDED** ## If You're Stuck diff --git a/internal/templates/roles/refinery.md.tmpl b/internal/templates/roles/refinery.md.tmpl index 8661f80d..4e19dde3 100644 --- a/internal/templates/roles/refinery.md.tmpl +++ b/internal/templates/roles/refinery.md.tmpl @@ -225,7 +225,7 @@ If queue empty, skip to context-check step. **process-branch**: Pick next branch, rebase on main ```bash -git checkout -b temp origin/polecat/ +git checkout -b temp polecat/ # Local branch (shared via .repo.git) git rebase origin/{{ .DefaultBranch }} ``` If conflicts unresolvable: notify polecat, skip to loop-check. @@ -255,7 +255,7 @@ git checkout {{ .DefaultBranch }} git merge --ff-only temp git push origin {{ .DefaultBranch }} git branch -d temp -git push origin --delete polecat/ +git branch -d polecat/ # Delete local polecat branch ``` **loop-check**: More branches? Return to process-branch. diff --git a/templates/polecat-CLAUDE.md b/templates/polecat-CLAUDE.md index f6545904..3ec7c899 100644 --- a/templates/polecat-CLAUDE.md +++ b/templates/polecat-CLAUDE.md @@ -106,7 +106,6 @@ bd close # Mark step complete git status # Check working tree git add # Stage changes git commit -m "msg (issue)" # Commit with issue reference -git push # Push your branch ``` ### Communication @@ -149,15 +148,13 @@ When your work is done, follow this EXACT checklist: ``` [ ] 1. Tests pass: go test ./... -[ ] 2. COMMIT changes: git add && git commit -m "msg (issue-id)" -[ ] 3. Push branch: git push -u origin HEAD -[ ] 4. Close issue: bd close --reason "..." -[ ] 5. Sync beads: bd sync -[ ] 6. Exit session: gt done --exit +[ ] 2. Commit changes: git add && git commit -m "msg (issue-id)" +[ ] 3. Sync beads: bd sync +[ ] 4. Exit session: gt done --exit ``` -**CRITICAL**: You MUST commit and push BEFORE running `gt done --exit`. -If you skip the commit, your work will be lost! +**Note**: No push needed - your branch stays local. Refinery accesses it +via shared .repo.git and merges to main. The `gt done --exit` command: - Creates a merge request bead @@ -169,14 +166,14 @@ The `gt done --exit` command: > **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 local branch 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** +**Local branch → `gt done` → MR in queue → Refinery merges → LANDED** ---