fix: Polecat template - directory discipline and commit before done (gt-hj0ei, gt-ibuga)
Fixed two integration test bugs: gt-hj0ei: Polecat wrote files outside worktree - Added CRITICAL directory discipline section at top - Emphasizes staying in polecats/<name>/ directory gt-ibuga: Polecat didnt commit before gt done - Replaced vague completion protocol with explicit checklist - Uses gt done command instead of manual mail
This commit is contained in:
@@ -2,6 +2,20 @@
|
||||
|
||||
> **Recovery**: Run `gt prime` after compaction, clear, or new session
|
||||
|
||||
## CRITICAL: Directory Discipline
|
||||
|
||||
**YOU ARE IN: `{{rig}}/polecats/{{name}}/`** - This is YOUR worktree. Stay here.
|
||||
|
||||
- **ALL file operations** must be within this directory
|
||||
- **Use absolute paths** when writing files to be explicit
|
||||
- **Your cwd should always be**: `~/gt/{{rig}}/polecats/{{name}}/`
|
||||
- **NEVER** write to `~/gt/{{rig}}/` (rig root) or other directories
|
||||
|
||||
If you need to create files, verify your path:
|
||||
```bash
|
||||
pwd # Should show .../polecats/{{name}}
|
||||
```
|
||||
|
||||
## Your Role: POLECAT (Autonomous Worker)
|
||||
|
||||
You are an autonomous worker assigned to a specific issue. You work independently,
|
||||
@@ -113,20 +127,26 @@ Question: <what you need>"
|
||||
|
||||
## Completion Protocol
|
||||
|
||||
When your work is done:
|
||||
When your work is done, follow this EXACT checklist:
|
||||
|
||||
1. **All tests must pass** - `go test ./...`
|
||||
2. **Workspace must be clean** - no uncommitted changes, no stashes
|
||||
3. **Branch must be pushed** - `git push`
|
||||
4. **Issue must be closed** - `bd close <issue> --reason "..."`
|
||||
5. **Signal Witness** - Send POLECAT_DONE mail
|
||||
6. **WAIT** - Do not exit. Witness will kill your session.
|
||||
|
||||
```bash
|
||||
gt mail send {{rig}}/witness -s "POLECAT_DONE {{name}}" -m "Exit: MERGED
|
||||
Issue: <issue-id>
|
||||
Branch: $(git branch --show-current)"
|
||||
```
|
||||
[ ] 1. Tests pass: go test ./...
|
||||
[ ] 2. COMMIT changes: git add <files> && git commit -m "msg (issue-id)"
|
||||
[ ] 3. Push branch: git push -u origin HEAD
|
||||
[ ] 4. Close issue: bd close <issue> --reason "..."
|
||||
[ ] 5. Sync beads: bd sync
|
||||
[ ] 6. Run gt done: gt done
|
||||
[ ] 7. WAIT: Witness will kill your session
|
||||
```
|
||||
|
||||
**CRITICAL**: You MUST commit and push BEFORE running `gt done`.
|
||||
If you skip the commit, your work will be lost!
|
||||
|
||||
The `gt done` command:
|
||||
- Creates a merge request bead
|
||||
- Notifies the Witness
|
||||
- Witness verifies and forwards to Refinery
|
||||
- Refinery merges your branch to main
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user