Commit Graph

1226 Commits

Author SHA1 Message Date
Steve Yegge
f757ec88f9 bd sync: 2025-12-25 11:45:01 2025-12-25 11:47:06 -08:00
Steve Yegge
8063925c9b bd sync: 2025-12-25 11:34:16 2025-12-25 11:47:06 -08:00
Steve Yegge
9370a0f62d bd sync: 2025-12-25 11:29:48 2025-12-25 11:47:06 -08:00
Steve Yegge
33328e1d9d Fix formula files for bd cook compatibility (gt-8tmz.3)
- Add required title fields to shiny.formula.json steps
- Add required title fields to rule-of-five.formula.json template steps
- Fix shiny-enterprise.formula.json schema: use compose.expand array format
- Add type: "workflow" to shiny.formula.json

These changes align formulas with the expected schema in bd cook.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 11:44:49 -08:00
Steve Yegge
f808b3bd51 fix: Parse rig/name format in crew commands
All crew commands now accept "rig/name" syntax (e.g., "beads/emma")
in addition to requiring --rig flag. The rig is extracted from the
first path component.

Affected commands:
- gt crew at
- gt crew restart
- gt crew refresh
- gt crew remove
- gt crew rename
- gt crew status
- gt crew pristine

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 11:33:54 -08:00
Steve Yegge
e0a2187636 Remove deprecated builtin molecules infrastructure
- Delete builtin_molecules.go (empty stubs)
- Remove `mol export` command (exported 0 molecules)
- Clean dead code in catalog.go iterating empty BuiltinMolecules()
- Update docs to reference formula files instead of Go code

Molecules are now defined as .beads/formulas/*.formula.json files
and cooked into proto beads via `bd cook`.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 11:29:41 -08:00
Steve Yegge
18a4a6a3e1 bd sync: 2025-12-25 02:33:39 2025-12-25 02:33:39 -08:00
Steve Yegge
f86a73c2f0 feat: Add gcloud-style command grouping to gt help output
Organize 43 commands into 7 logical groups using cobra's built-in
AddGroup/GroupID feature:

- Work Management: spawn, sling, hook, handoff, done, mol, mq, etc.
- Agent Management: mayor, witness, refinery, deacon, polecat, etc.
- Communication: mail, nudge, broadcast, peek
- Services: daemon, start, stop, up, down, shutdown
- Workspace: rig, crew, init, install, git-init, namepool
- Configuration: account, theme, hooks, issue, completion
- Diagnostics: status, doctor, prime, version, help

Also renamed molecule to mol as the primary command name
(molecule is now an alias).

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 02:32:01 -08:00
Steve Yegge
cd109e9db7 Delete legacy Go-defined molecules (gt-ingm.3)
Molecules are now defined as formula files in .beads/formulas/ and
cooked into proto beads via `bd cook`. This removes:

- molecules_patrol.go (695 lines)
- molecules_session.go (544 lines)
- molecules_work.go (444 lines)
- builtin_molecules_test.go
- christmas_ornament_test.go

Updates:
- builtin_molecules.go: stub deprecated functions
- install.go: remove molecule seeding (formulas are cooked on-demand)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 02:25:57 -08:00
Steve Yegge
f443f4b83a bd sync: 2025-12-25 02:23:36 2025-12-25 02:23:36 -08:00
Steve Yegge
8f54d6c3c5 role: consolidate RoleContext into RoleInfo
Unified the two overlapping role detection structs:
- RoleContext (prime.go) is now a type alias for RoleInfo
- detectRole() now returns RoleInfo directly
- Added WorkDir field to RoleInfo
- GetRoleWithContext now populates WorkDir

This eliminates code duplication between prime.go and role.go while
maintaining backward compatibility through the type alias.
2025-12-25 02:11:48 -08:00
Steve Yegge
0280a6f945 bd sync: 2025-12-25 02:11:22 2025-12-25 02:11:48 -08:00
Steve Yegge
3a2f222cec bd sync: 2025-12-25 02:11:13 2025-12-25 02:11:48 -08:00
Steve Yegge
d9d37d508d bd sync: 2025-12-25 02:01:01 2025-12-25 02:11:48 -08:00
Steve Yegge
818a8a41f9 Clear tmux scrollback on handoff
Adds ClearHistory method to tmux package and calls it before
respawn-pane during handoff. This resets copy-mode display
from [0/N] to [0/0] for a clean session start.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 02:07:23 -08:00
Steve Yegge
62402bd4bd Fix vars format in shiny and towers-of-hanoi formulas (gt-8tmz) 2025-12-25 02:03:59 -08:00
Steve Yegge
2f8bc581a6 Add --on flag to gt sling for formula scaffolding (gt-8tmz.9)
When --on is specified, the first argument is a formula name:
  gt sling shiny --on gt-abc123

This applies the formula to existing work, creating wisp scaffolding
that shapes execution of the target bead.

Changes:
- Add Formula field to SlungWork wisp type
- Add --on flag to gt sling command
- Verify both bead and formula exist before slinging
- Update dry-run output to show formula info

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 02:00:52 -08:00
Steve Yegge
a3cee4ad89 bd sync: 2025-12-25 02:00:34 2025-12-25 02:00:34 -08:00
Steve Yegge
439ae7896e bd sync: 2025-12-25 01:59:06 2025-12-25 01:59:06 -08:00
Steve Yegge
99494d6c2c bd sync: 2025-12-25 01:57:04 2025-12-25 01:57:04 -08:00
Steve Yegge
cb8375a8bd spawn: write hook file to polecat worktree (gt-u2vg)
When spawning a polecat with --issue, now creates a wisp hook file in the
polecat's .beads/ directory. This allows gt mol status to find the slung
work via the propulsion protocol.

Changes:
- Import wisp package
- Get polecat object after creation to access ClonePath
- Write SlungWork hook file with bead ID, subject, and context
2025-12-25 01:56:54 -08:00
Steve Yegge
79b4a9f362 bd sync: 2025-12-25 01:56:09 2025-12-25 01:56:54 -08:00
Steve Yegge
b0a89db506 bd sync: 2025-12-25 01:54:09 2025-12-25 01:56:54 -08:00
Steve Yegge
3d01c25673 bd sync: 2025-12-25 01:53:38 2025-12-25 01:56:54 -08:00
Steve Yegge
0984914ae1 Convert formula files from YAML to JSON (gt-mdgt8)
All 9 formula files converted:
- shiny, rule-of-five, security-audit, shiny-enterprise
- towers-of-hanoi
- mol-deacon-patrol, mol-refinery-patrol, mol-witness-patrol, mol-polecat-arm

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 01:48:01 -08:00
Steve Yegge
8e70952c37 bd sync: 2025-12-25 01:47:44 2025-12-25 01:47:44 -08:00
Steve Yegge
ecb4411dd5 bd sync: 2025-12-25 01:33:11 2025-12-25 01:33:11 -08:00
Steve Yegge
381fa75b1f bd sync: 2025-12-25 01:27:35 2025-12-25 01:27:35 -08:00
Steve Yegge
063f10f504 bd sync: 2025-12-25 01:23:21 2025-12-25 01:23:21 -08:00
Steve Yegge
9f9ed1b928 Improve autonomous work mode and fix hook storage (gt-1xsah)
- gt prime: New AUTONOMOUS WORK MODE prompt with clear DO/DON'T instructions
- gt prime: Skip normal startup directive when in autonomous mode
- gt prime: Search multiple beads locations for Mayor's beads
- gt sling: Use GetRole() for role detection instead of cwd
- gt sling: Store hooks in role's home directory, not git root

This ensures hooks work correctly regardless of where commands are run from.
Mayor's hooks always go to ~/gt/.beads/ even when running from a rig dir.
2025-12-25 01:21:12 -08:00
Steve Yegge
38d6f95f66 Update remaining commands to use env-aware role detection (gt-1xsah)
- mail.go: gt mail send --self uses GetRoleWithContext
- molecule_attach.go: detectCurrentAgent uses GetRoleWithContext
- molecule_attach_from_mail.go: uses GetRoleWithContext
- molecule_lifecycle.go: burn/squash use GetRoleWithContext
- rig.go: gt rig reset uses GetRoleWithContext

All role detection now checks GT_ROLE env var first.
2025-12-25 01:06:32 -08:00
Steve Yegge
43cbfc0ff8 bd sync: 2025-12-25 01:05:41 2025-12-25 01:06:32 -08:00
Steve Yegge
e8db866ddb refactor: move mol run semantics from bd into gt spawn (gt-r7jj2)
Replace bd mol run call with separate bd commands:
1. bd pour - creates issues from proto template
2. bd update --status=in_progress - claims work
3. bd pin - pins root for session recovery

This moves orchestration logic into gt (where it belongs) and keeps
bd as pure data operations. Coordinated with bd-00u3 which deprecates
bd mol run.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 01:05:28 -08:00
Steve Yegge
ac3371f9ae bd sync: 2025-12-25 01:05:12 2025-12-25 01:05:12 -08:00
Steve Yegge
7ff2344a22 bd sync: 2025-12-25 00:59:27 2025-12-25 00:59:27 -08:00
Steve Yegge
2f4a35392c Add gt role command group for env-based role detection (gt-1xsah)
- New gt role subcommands: show, home, detect, list, env
- Role detection now checks GT_ROLE env var first, falls back to cwd
- gt prime shows warning when role/cwd mismatch detected
- gt mol status uses env-aware role detection
- gt handoff injects GT_ROLE and resets to role canonical home
- Fixed witness/refinery home paths (was missing /rig suffix)

This prevents role confusion when agents wander to wrong directories.
After handoff, agents are always restored to their canonical home.
2025-12-25 00:58:42 -08:00
Steve Yegge
5163140e95 bd sync: 2025-12-25 00:51:34 2025-12-25 00:51:42 -08:00
Steve Yegge
5cf1d4f813 feat: add commit verification to mol-polecat-arm pre-kill-verify
Adds ZFC-compliant guardrail: when closing issues as 'done', verify
commits reference the issue ID. Agent makes the judgment call on
legitimate exceptions (already fixed, duplicate, deferred).

Closes gt-vmk7.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 00:51:29 -08:00
Steve Yegge
6218544f13 bd sync: 2025-12-25 00:51:13 2025-12-25 00:51:13 -08:00
Steve Yegge
05fa175ec3 bd sync: 2025-12-24 23:48:57 2025-12-24 23:48:57 -08:00
Steve Yegge
91d821b12e bd sync: 2025-12-24 23:39:06 2025-12-24 23:39:17 -08:00
Steve Yegge
5f2c3a4fd3 fix: witness.md.tmpl uses bd wisp instead of gt wisp
gt wisp command does not exist; bd wisp is the correct command for
creating wisps from protos. Closes gt-6n13.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 23:37:49 -08:00
Steve Yegge
70df9c3678 bd sync: 2025-12-24 23:37:39 2025-12-24 23:37:39 -08:00
Steve Yegge
066ef722ae OSS launch polish: fix hook paths, add OSS files, update README
- Fix slashes in agent identity causing invalid hook file paths (gt-vqhc)
- Add Prerequisites section to README (gt-vzic)
- Create CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md (gt-xbfw)
- Update Install section for future package managers (gt-7wcf)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 23:28:31 -08:00
Steve Yegge
65d5f6823b bd sync: 2025-12-24 23:28:04 2025-12-24 23:28:04 -08:00
Steve Yegge
76ad6ed436 docs: Add handoff bead documentation to Witness and Refinery templates
- Witness: Added Handoff Bead section with nudge state schema
- Refinery: Added Handoff Bead section with merge queue state schema
- Both reference their respective pinned handoff beads

Closes gt-poxd

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 23:20:50 -08:00
Steve Yegge
659b41aed3 bd sync: 2025-12-24 23:14:18 2025-12-24 23:14:18 -08:00
Steve Yegge
1fe7fa0fc6 bd sync: 2025-12-24 23:14:10 2025-12-24 23:14:10 -08:00
Steve Yegge
de04f4177c docs: clarify stream engine model, reduce swarm terminology (gt-wexr)
Gas Town is a stream engine, not a swarm engine. Polecats can start
and land independently at any time. "Swarm" is used lightly for
batch coordination, but there are no swarm IDs or batch boundaries.

Changes:
- architecture.md: Add stream engine intro paragraph, update
  references from "swarming" to "parallel polecats" or "batch"
- prompts.md: Rename SWARM_* messages to BATCH_*, update terminology
- crew.md.tmpl: Replace "swarm" references with "transient worker pool"
  and "batch work"

The gt swarm command and internal/swarm/ package remain as-is since
they provide the tooling for batch operations.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 23:13:51 -08:00
Steve Yegge
5803103e71 gt spawn: fix proto ID for mol-polecat-work (gt-lwuu)
The proto ID is gt-lwuu, not mol-polecat-work. bd mol run looks up
by ID, not title. Updated spawn to use correct proto ID.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 22:55:57 -08:00