Commit Graph

1194 Commits

Author SHA1 Message Date
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
Steve Yegge
c8e0616c19 bd sync: 2025-12-24 22:55:02 2025-12-24 22:55:02 -08:00
Steve Yegge
54b4bc024b bd sync: 2025-12-24 22:53:11 2025-12-24 22:53:11 -08:00
Steve Yegge
884bd7d35e bd sync: 2025-12-24 22:52:48 2025-12-24 22:52:48 -08:00
Steve Yegge
fca57f7468 gt spawn: auto-use mol-polecat-work for issue-based spawns
Issue-based spawns now automatically use mol-polecat-work to give
polecats a structured workflow with crash recovery checkpoints.
Use --molecule to override with a different molecule.

Completes gt-qvn7.3.1 (Phase 3: Polecat Work Cycle)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 22:50:08 -08:00
Steve Yegge
f99941c697 bd sync: 2025-12-24 22:49:38 2025-12-24 22:49:38 -08:00
Steve Yegge
0a6aeab93c bd sync: 2025-12-24 22:39:16 2025-12-24 22:39:23 -08:00
Steve Yegge
e73529092d gt prime: Show molecule execution prompt with current step (gt-qvn7.2.3)
Phase 2 Hook Execution Protocol: When agent has attached molecule work,
gt prime now calls bd mol current to show:
- Molecule progress (completed/total steps)
- Current step ID and title
- Step description/instructions
- Propulsion directive ("EXECUTE THIS STEP NOW")
- Close/ready instructions for workflow advancement

Key insight from bd-hulf/bd-3zm7 rejection: Molecule state is derived
from child beads being open/closed - no separate state files needed.
"Advancing" = closing the current step bead.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 22:38:52 -08:00
Steve Yegge
8a044ea625 bd sync: 2025-12-24 22:38:43 2025-12-24 22:38:43 -08:00
Steve Yegge
7451e63a34 mail: default to wisp (ephemeral) for all messages
All mail is now ephemeral by default, matching the Gas Town design
that mail is transient operational state. Add --permanent flag for
the rare case when non-ephemeral mail is needed.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 22:34:05 -08:00
Steve Yegge
20381a6f0b bd sync: 2025-12-24 22:32:33 2025-12-24 22:32:42 -08:00
Steve Yegge
8aa16f86ae docs: introduce MEOW acronym (Molecular Expression Of Work) 2025-12-24 22:12:03 -08:00
Steve Yegge
27f749cc93 docs: introduce CLAW acronym (Commits as Ledger of All Work) 2025-12-24 22:08:53 -08:00
Steve Yegge
d99bb3c422 gitignore: add hook files and mq directory 2025-12-24 21:56:31 -08:00
Steve Yegge
a17a08202b bd sync: 2025-12-24 21:52:28 2025-12-24 21:52:28 -08:00
Steve Yegge
5dfe6d5111 bd sync: 2025-12-24 21:34:32 2025-12-24 21:34:32 -08:00
Steve Yegge
7e568770de refactor: remove legacy .beads-wisp infrastructure (gt-5klh)
Wisps are now just a flag on regular beads issues (Wisp=true).
No separate directory needed - hooks stored in .beads/.

Changes:
- wisp package: WispDir now points to .beads/, removed PatrolCycle
- manager.go: removed initWispBeads() - no separate dir to create
- mrqueue.go: MRs stored in .beads/mq/ instead of .beads-wisp/mq/
- doctor: removed obsolete wisp directory checks
- docs: updated wisp-architecture.md to reflect simplified model

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 21:34:14 -08:00
Steve Yegge
d30cf5e48c bd sync: 2025-12-24 21:33:30 2025-12-24 21:33:30 -08:00
Steve Yegge
3763bde9fc fix: gt mol status now shows slung work from wisp hook files
The hook system had two disconnected mechanisms:
1. beads pinned field (bd pin) - what mol status checked
2. wisp hook files (gt hook) - what prime/startup checked

Now gt mol status checks BOTH, so hooked work via gt hook/sling/handoff
shows up properly in mol status output.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 21:24:28 -08:00
Steve Yegge
d3a835dfaa bd sync: 2025-12-24 21:23:09 2025-12-24 21:23:09 -08:00
Steve Yegge
23600af50c docs: comprehensive hook/sling/handoff/nudge audit
- Update propulsion-principle.md: implementation status now accurate
- Update beads-data-plane.md: correct command syntax
- Fix hook.go: clarify durability semantics, add related commands
- Fix sling.go: use reliable NudgePane instead of raw tmux send-keys
- Add tmux.NudgePane: pane-targeted reliable message delivery

The command menagerie:
  gt hook    = assign (durability)
  gt nudge   = communicate (generic messaging)
  gt sling   = hook + nudge "start working"
  gt handoff = hook + restart (GUPP kicks in)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 21:17:25 -08:00
Steve Yegge
57179c1e33 fix: gt sling now hooks + runs (no restart), update docs
Corrected sling behavior:
- gt hook: attach only (durability primitive)
- gt sling: attach + inject run prompt (preserve context)
- gt handoff: attach + restart (fresh context via GUPP)

Sling can now target other agents: gt sling <bead> <target>

Updated docs/sling-design.md with full command menagerie.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 21:04:24 -08:00
Steve Yegge
efa2e9a2fe bd sync: 2025-12-24 20:56:35 2025-12-24 20:56:35 -08:00
Steve Yegge
afe67fafbb bd sync: 2025-12-24 20:56:14 2025-12-24 20:56:14 -08:00
Steve Yegge
32cac078e5 refactor: split gt sling into gt hook + gt handoff <bead> (gt-z4bw)
- Add gt hook <bead>: durability primitive, attaches work to hook
- Update gt handoff: accept optional bead arg (detects bead vs role)
- Deprecate gt sling: shows warning, points to new commands
- Update doctor fix hint to reference new commands

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 20:41:51 -08:00
Steve Yegge
c4dda5c055 bd sync: 2025-12-24 20:16:20 2025-12-24 20:17:34 -08:00
Steve Yegge
a697e53cfb bd sync: 2025-12-24 20:08:27 2025-12-24 20:17:34 -08:00
Steve Yegge
4801a98793 feat: simplify mail wisps - single DB with --wisp flag (gt-fgms)
Removed dual-routing architecture that used separate .beads-wisp/ directory.
Now uses single .beads/ with --wisp flag passed to bd create.

Changes:
- router.go: Remove resolveWispDir(), simplify shouldBeWisp()
- mailbox.go: Remove wispDir field and dual-source query logic
- types.go: Rename Ephemeral to Wisp, remove MessageSource
- mail.go: Rename --ephemeral to --wisp flag
- spawn.go: Use Wisp field for lifecycle messages

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 20:16:14 -08:00
Steve Yegge
200a09a02d feat: mail uses wisps for ephemeral orchestration messages (gt-lg66)
Add dual-inbox architecture where ephemeral messages go to
.beads-wisp/.beads/ instead of .beads/. Lifecycle messages
(POLECAT_STARTED, NUDGE, etc.) auto-detect as ephemeral.

Changes:
- Add Ephemeral and Source fields to mail.Message
- Add --ephemeral flag to gt mail send
- Router auto-detects lifecycle message patterns
- Mailbox merges messages from both persistent and wisp storage
- Inbox displays (ephemeral) indicator for wisp messages
- Delete/archive works for both message types

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 20:03:58 -08:00
Steve Yegge
9d1ebfc54d bd sync: 2025-12-24 20:03:43 2025-12-24 20:03:43 -08:00
Steve Yegge
48e2f16b2f bd sync: 2025-12-24 20:03:26 2025-12-24 20:03:26 -08:00
Steve Yegge
94754f6b93 bd sync: 2025-12-24 19:52:12 2025-12-24 19:52:12 -08:00
Steve Yegge
6be4e0add6 bd sync: 2025-12-24 19:51:09 2025-12-24 19:51:09 -08:00