Commit Graph

156 Commits

Author SHA1 Message Date
Steve Yegge
bebc8ea604 bd sync: 2025-12-21 19:53:42 2025-12-21 19:53:42 -08:00
Steve Yegge
cd8f70a042 bd sync: 2025-12-21 17:51:31 2025-12-21 17:51:31 -08:00
Steve Yegge
7227c3de07 bd sync: 2025-12-21 16:47:00 2025-12-21 16:47:00 -08:00
Steve Yegge
6d9f78979d bd sync: 2025-12-21 16:42:43 2025-12-21 16:42:43 -08:00
Steve Yegge
5206c86efb bd sync: 2025-12-21 16:42:12 2025-12-21 16:42:12 -08:00
Steve Yegge
66ce691e9e bd sync: 2025-12-21 16:41:45 2025-12-21 16:41:45 -08:00
Steve Yegge
af6ab73514 bd sync: 2025-12-21 16:34:39 2025-12-21 16:34:39 -08:00
Steve Yegge
dcd86efe43 bd sync: 2025-12-21 16:30:54 2025-12-21 16:30:54 -08:00
Steve Yegge
bf71c44a28 bd sync: 2025-12-21 16:27:34 2025-12-21 16:27:34 -08:00
Steve Yegge
bc3d245c91 bd sync: 2025-12-21 16:17:44 2025-12-21 16:17:44 -08:00
Steve Yegge
6854d38f85 bd sync: 2025-12-21 16:04:18 2025-12-21 16:04:18 -08:00
Steve Yegge
87a4fee644 bd sync: 2025-12-21 16:03:09 2025-12-21 16:03:09 -08:00
Steve Yegge
1491359fde bd sync: 2025-12-21 16:00:40 2025-12-21 16:00:40 -08:00
Steve Yegge
09f34a656a bd sync: 2025-12-21 15:51:17 2025-12-21 15:51:17 -08:00
Steve Yegge
017e8ed53b bd sync: 2025-12-21 15:39:35 2025-12-21 15:39:35 -08:00
Steve Yegge
f2503f4714 bd sync: 2025-12-21 15:36:51 2025-12-21 15:36:51 -08:00
Steve Yegge
741082a811 bd sync: 2025-12-21 14:50:46 2025-12-21 14:50:46 -08:00
Steve Yegge
38d155b941 bd sync: 2025-12-21 14:34:54 2025-12-21 14:34:54 -08:00
Steve Yegge
53e66e688b bd sync: 2025-12-21 14:16:19 2025-12-21 14:16:19 -08:00
Steve Yegge
4bab11e828 bd sync: 2025-12-21 14:10:03 2025-12-21 14:10:03 -08:00
Steve Yegge
3ed8708a3b bd sync: 2025-12-21 14:09:03 2025-12-21 14:09:03 -08:00
Steve Yegge
6b1e6cab17 bd sync: 2025-12-21 14:01:11 2025-12-21 14:01:11 -08:00
Steve Yegge
f98598ac65 bd sync: merge from main 2025-12-21 11:45:59 -08:00
Steve Yegge
50c5639258 bd sync: 2025-12-21 11:11:12 2025-12-21 11:11:12 -08:00
Steve Yegge
148aa57d07 bd sync: 2025-12-21 10:29:40 2025-12-21 10:29:40 -08:00
Steve Yegge
eae81690d6 bd sync: 2025-12-20 22:50:19 2025-12-20 22:50:19 -08:00
Steve Yegge
9391e3a439 bd sync: 2025-12-20 22:04:36 2025-12-20 22:04:36 -08:00
Steve Yegge
5e22ed590d bd sync: 2025-12-20 21:26:32 2025-12-20 21:26:32 -08:00
Steve Yegge
21d2dd2e05 bd sync: 2025-12-20 21:20:14 2025-12-20 21:20:14 -08:00
Steve Yegge
448c9a27eb bd sync: 2025-12-20 21:04:34 2025-12-20 21:04:34 -08:00
Steve Yegge
868b9af112 bd sync: merge divergent histories (161 local + 293 remote commits) 2025-12-20 21:04:32 -08:00
Steve Yegge
74730854e8 bd sync: 2025-12-20 21:03:19 2025-12-20 21:03:19 -08:00
Steve Yegge
fc1f50502f feat(polecat): Add shared beads redirect for polecats (gt-cxtu)
When creating a polecat worktree, create a .beads/redirect file pointing
to the rig-level shared beads database. This eliminates git sync overhead
between polecats - they all connect to the same daemon and database.

Architecture:
  gastown/
    .beads/              <- Shared database (created if missing)
    polecats/
      nux/
        .beads/
          redirect       <- Contains "../../.beads"

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 20:54:37 -08:00
Steve Yegge
8fab4d3790 chore: VC pattern analysis + Deacon simplification
- Add gt-zhpa epic: VC Pattern Integration (6 child tasks)
  Extracted validated ideas from ~/src/vc that map to Gas Town primitives

- Close gt-5af: Deacon epic as over-engineered
  Problem solved by hooks + gt prime

- Create lightweight successors:
  - gt-htto: Heartbeat convention
  - gt-bnch: Human escalation

- Disable beads MCP plugin for Gas Town
  CLI works; MCP adds complexity without value

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 20:41:33 -08:00
Steve Yegge
c16324b713 fix(mail): Use town beads for all mail (two-level architecture)
Replace complex address-based routing with simple town root lookup.
All mail goes to ~/gt/.beads/ (town beads), eliminating the broken
rig-level routing.

Two-level model:
- Town beads (~/gt/.beads/): ALL mail and coordination
- Clone beads (<rig>/crew/*/.beads/): Project issues only

Fixes: gt-4qey

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 18:28:14 -08:00
Steve Yegge
f6ff533891 feat(mail): Sort pinned messages first in inbox (gt-ngu1)
Add Pinned field to BeadsMessage and sort pinned messages before
unpinned ones in listBeads(). Within each group, sort by newest first.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 17:53:52 -08:00
Steve Yegge
4c060f4aaa refactor(mail): Remove bd mail dependency, use bd create/list/show (gt-9xg)
Replace `bd mail send/inbox/read/ack` commands with `bd create/list/show/close`.
This separates the orchestration layer (gt) from the data plane (beads).

Changes:
- router.go: Use `bd create --type=message` instead of `bd mail send`
- mailbox.go: Use `bd list --type=message` and `bd show` for inbox/read
- types.go: Parse metadata from labels (from:, thread:, reply-to:)
- mail.go: Fix findBeadsWorkDir to prefer rig-level beads, fix crew address format

Messages are now stored as beads issues with type=message. Metadata (sender,
thread, reply-to) is stored in labels for retrieval.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 17:52:15 -08:00
Steve Yegge
d242239aa1 bd sync: add gt-976 crew lifecycle + gt-977 work request to max 2025-12-20 17:20:02 -08:00
Steve Yegge
38fd52779f bd sync: add gt-975 molecule execution support 2025-12-20 16:57:30 -08:00
Steve Yegge
91a0f3b80f feat: rename harness to HQ throughout docs and code (gt-a41)
The "hq-" prefix for town-level beads revealed that "HQ" (headquarters)
is a better name than "harness" for the top-level Gas Town structure.

- Renamed docs/harness.md to docs/hq.md with updated content
- Updated all documentation references in architecture.md and bootstrap.md
- Updated CLI help text and user-facing messages in install.go
- Updated gitinit.go with HQGitignore constant and HQ terminology
- Updated molecule templates in builtin_molecules.go
- Kept InitGitForHarness function name for backwards compatibility

HQ is more intuitive (where the mayor sits), fits the Mad Max aesthetic,
matches the beads prefix (hq-*), and is self-documenting.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 14:24:49 -08:00
Steve Yegge
1e62d37b1e Merge fix/spawn-beads-path: add gt nudge command
Key changes:
- Add gt nudge command for reliable Claude session messaging
- spawn.go now uses NudgeSession instead of SendKeysDebounced
- Fix templates test to match actual deacon template text

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 13:30:30 -08:00
Steve Yegge
9509afa6b1 feat(nudge): Add gt nudge command for reliable Claude session messaging
Encapsulates tmux send-keys with: literal mode, 500ms debounce, separate Enter.
Tested and reliable. Updates spawn.go to use NudgeSession.

Related: gt-1hf, gt-lz2

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 13:19:39 -08:00
Steve Yegge
a32c711e97 spawn: use town-level beads for Witness notification
The SPAWN notification to Witness was going to rig-level beads,
but gt mail inbox checks town-level first. This caused messages
to get lost.

Fixes part of gt-c6b.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 09:23:57 -08:00
Steve Yegge
2b32c27f29 spawn: Add work instruction + export SessionName
- Export session.Manager.SessionName for spawn.go access
- Add --address alias for --identity in mail inbox/check
- Send explicit work instruction to polecat after spawn
- Add CapturePaneLines and WaitForClaudeReady helpers (unused for now)
- Proper solution filed as gt-hb0 (needs Witness/Deacon AI monitoring)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 09:23:57 -08:00
Steve Yegge
c84d832c98 docs: Add pluggable molecules design documentation
- Add Pluggable Molecules section to architecture.md explaining
  directory-based plugins for extensible workflows
- Create molecules.md with full design for code-review molecule
- Document plugin CLAUDE.md format with frontmatter
- Describe phased execution (discovery/structural/tactical/synthesis)
- Include implementation plan and usage examples

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 09:23:57 -08:00
Steve Yegge
17123eabd9 fix(spawn): use rig-level beads instead of mayor/rig path
The spawn command and polecat manager were incorrectly looking for beads
in <rig>/mayor/rig/.beads instead of <rig>/.beads. This caused:
- `gt spawn --issue ga-xxp` to fail with "no issue found" even when
  `bd show ga-xxp` worked from the rig directory
- Polecats couldn't find rig-level issues (with ga- prefix) because
  mayor/rig has a different beads database (with gt- prefix)

This fix:
- spawn.go: Use r.Path instead of filepath.Join(r.Path, "mayor", "rig")
- polecat/manager.go: Use r.Path for beads.New() initialization
- session/manager.go: Use r.Path/.beads for BEADS_DIR environment

Closes beads-2nh

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 09:23:57 -08:00
Steve Yegge
2688a3fe9a spawn: use town-level beads for Witness notification
The SPAWN notification to Witness was going to rig-level beads,
but gt mail inbox checks town-level first. This caused messages
to get lost.

Fixes part of gt-c6b.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 08:56:13 -08:00
Steve Yegge
4782269267 fix(statusline): Count rigs from all agent types, not just polecats
- Rig count now includes rigs with any active sessions (witness, refinery, crew)
- Previously only counted rigs that had active polecat sessions
- Updated tests to use categorizeSession instead of removed helper functions

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 08:21:39 -08:00
Steve Yegge
478623f8bd Merge main with statusline fixes 2025-12-20 08:19:00 -08:00
Steve Yegge
d0259af61e spawn: Add work instruction + export SessionName
- Export session.Manager.SessionName for spawn.go access
- Add --address alias for --identity in mail inbox/check
- Send explicit work instruction to polecat after spawn
- Add CapturePaneLines and WaitForClaudeReady helpers (unused for now)
- Proper solution filed as gt-hb0 (needs Witness/Deacon AI monitoring)

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

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