docs: add architecture.md and update manager.go comments (gt-5st7b)

Phase 5 of epic gt-4r1ph (align agent/role beads with two-level architecture):

- Create docs/architecture.md with agent bead storage table documenting
  the correct two-level architecture:
  - Town beads (~/gt/.beads/): hq-mayor, hq-deacon, hq-*-role
  - Rig beads (<rig>/.beads/): <prefix>-<rig>-witness, <prefix>-<rig>-refinery

- Update internal/rig/manager.go initAgentBeads() comments with MIGRATION
  NOTEs explaining current state vs target architecture (gt-4r1ph)

- Close PR #50 with explanation that the fix direction was wrong

CLAUDE.md templates already correctly document hq-* for town beads and
project prefix for rig beads.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
coma
2026-01-03 20:59:08 -08:00
committed by Steve Yegge
parent 36301adf20
commit 3e39f25064
2 changed files with 119 additions and 3 deletions

View File

@@ -568,9 +568,9 @@ func (m *Manager) initBeads(rigPath, prefix string) error {
// Format: <prefix>-<rig>-<role> (e.g., gt-gastown-witness)
//
// Agent beads track lifecycle state for ZFC compliance (gt-h3hak, gt-pinkq).
func (m *Manager) initAgentBeads(_, rigName, _ string, isFirstRig bool) error { // rigPath and prefix unused: agents use town beads not rig beads
// Agent beads go in town beads (gt-* prefix), not rig beads.
// This enables cross-rig agent coordination via canonical IDs.
func (m *Manager) initAgentBeads(_, rigName, _ string, isFirstRig bool) error { // rigPath and prefix unused until Phase 2
// TEMPORARY (gt-4r1ph): Currently all agent beads go in town beads.
// After Phase 2, only Mayor/Deacon will be here; Witness/Refinery go to rig beads.
townBeadsDir := filepath.Join(m.townRoot, ".beads")
bd := beads.NewWithBeadsDir(m.townRoot, townBeadsDir)