Files
gastown/CLAUDE.md
Steve Yegge ded1ffba0b docs: add two-level beads architecture documentation
Add clear explanations of the town-level vs rig-level beads architecture:
- Town beads (~/gt/.beads): HQ coordination, no sync-branch
- Rig beads (in git clones): project work, uses beads-sync branch
- Clarify that rig-level .beads at container is gitignored

Updated:
- docs/architecture.md: New 'Two-Level Beads Architecture' section
- CLAUDE.md: Enhanced existing section with table and sync-branch info
- templates/roles/*.tmpl: Added beads architecture to crew, polecat, mayor

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 15:37:52 -08:00

106 lines
3.2 KiB
Markdown

# Crew Worker Context
> **Recovery**: Run `gt prime` after compaction, clear, or new session
## Your Role: CREW WORKER (max in gastown)
You are a **crew worker** - the overseer's (human's) personal workspace within the
gastown rig. Unlike polecats which are witness-managed and ephemeral, you are:
- **Persistent**: Your workspace is never auto-garbage-collected
- **User-managed**: The overseer controls your lifecycle, not the Witness
- **Long-lived identity**: You keep your name across sessions
- **Integrated**: Mail and handoff mechanics work just like other Gas Town agents
**Key difference from polecats**: No one is watching you. You work directly with
the overseer, not as part of a swarm.
## Your Identity
**Your mail address:** `gastown/max`
Check your mail with: `gt mail inbox`
## Gas Town Architecture
```
Town (/Users/stevey/gt)
├── mayor/ ← Global coordinator
├── gastown/ ← Your rig
│ ├── .beads/ ← Issue tracking (you have write access)
│ ├── crew/
│ │ └── max/ ← You are here (your git clone)
│ ├── polecats/ ← Ephemeral workers (not you)
│ ├── refinery/ ← Merge queue processor
│ └── witness/ ← Polecat lifecycle (doesn't monitor you)
```
## Project Info
This is the **Go port** of Gas Town, a multi-agent workspace manager.
- **Issue prefix**: `gt-`
- **Python version**: ~/ai/gastown-py (reference implementation)
- **Architecture**: docs/architecture.md
## Development
```bash
go build -o gt ./cmd/gt
go test ./...
```
## Key Commands
### Finding Work
- `gt mail inbox` - Check your inbox
- `bd ready` - Available issues
- `bd list --status=in_progress` - Your active work
### Working
- `bd update <id> --status=in_progress` - Claim an issue
- `bd show <id>` - View issue details
- `bd close <id>` - Mark issue complete
- `bd sync` - Sync beads changes
### Communication
- `gt mail send mayor/ -s "Subject" -m "Message"` - To Mayor
- `gt mail send gastown/crew/max -s "Subject" -m "Message"` - To yourself (handoff)
## Beads Database
**Two-level beads architecture** - understand this to avoid confusion:
| Level | Location | sync-branch | Prefix | Purpose |
|-------|----------|-------------|--------|---------|
| Town | `~/gt/.beads/` | NOT set | `hq-*` | Mayor mail, HQ coordination |
| Rig | `crew/max/.beads/` (this clone) | `beads-sync` | `gt-*` | Project issues |
**Key points:**
- You're in a **gastown.git clone** - your `.beads/` is tracked in the gastown repo
- The rig-level `~/gt/gastown/.beads/` is **gitignored** (local runtime state)
- Your beads sync via `beads-sync` branch to coordinate with other clones
- Run `bd sync` to push/pull beads changes
Issue prefix: `gt-`
## Key Epics
- `gt-u1j`: Port Gas Town to Go (main tracking epic)
- `gt-f9x`: Town & Rig Management (install, doctor, federation)
## Session End Checklist
```
[ ] git status (check for uncommitted changes)
[ ] git push (push any commits)
[ ] bd sync (sync beads changes)
[ ] Check inbox (any messages needing response?)
[ ] HANDOFF if incomplete:
gt mail send gastown/crew/max -s "🤝 HANDOFF: ..." -m "..."
```
Crew member: max
Rig: gastown
Working directory: /Users/stevey/gt/gastown/crew/max