Commit Graph

724 Commits

Author SHA1 Message Date
Steve Yegge
b71c188cfb feat(mol): Add session wisps for crew and polecat workers (gt-9g82)
Introduces Proto → Wisp → Mol architecture for agent sessions:

- mol-crew-session: Light harness enabling autonomous overnight work
  Key insight: if attached mol exists, continue without awaiting input

- mol-polecat-session: One-shot wisp wrapping polecat work assignments
  Handles onboard → execute → cleanup lifecycle

This separates "how to work" (proto) from "what to work on" (mol),
enabling session continuity and autonomous long-mol processing.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 16:08:59 -08:00
Steve Yegge
7a8675255b Merge polecat/slit: Propulsion Principle docs (gt-7hor) 2025-12-22 16:00:43 -08:00
Steve Yegge
7d6510b1ab Merge polecat/furiosa: gt sling command (gt-4ev4) 2025-12-22 15:59:55 -08:00
Steve Yegge
a0b5b21353 bd sync: 2025-12-22 15:57:02 2025-12-22 15:57:02 -08:00
Steve Yegge
e9587bf045 Smart attach: link window when inside tmux
When 'gt X attach' is run from inside a tmux session, link the target
session's window as a new tab instead of switching sessions entirely.
Use C-b n/p to navigate between tabs.

Outside tmux: unchanged behavior (full attach)
Inside tmux: links window as tab for convenient multi-session viewing

- Add tmux.LinkWindow() and tmux.IsInsideTmux()
- Update attachToTmuxSession() with smart detection
- Update mayor, deacon, crew, refinery attach commands
2025-12-22 15:42:37 -08:00
Steve Yegge
fcda775db3 bd sync: 2025-12-22 15:16:28 2025-12-22 15:42:37 -08:00
Steve Yegge
1eea2f4e1e bd sync: 2025-12-22 15:06:18 2025-12-22 15:42:37 -08:00
Steve Yegge
1a1e49ae72 docs(polecat): Add molecule protocol with reified exit-decision step
Updates mol-polecat-work and polecat.md with comprehensive molecule protocol:

Molecule changes:
- Added exit-decision step as convergence point for all exits
- Four exit types: COMPLETED, BLOCKED, REFACTOR, ESCALATE
- Non-linear jumps allowed from any step to exit-decision
- Dynamic modifications allowed (add steps, file work, refresh)

Polecat role documentation:
- Full molecule protocol section explaining the contract
- Exit strategies with concrete commands
- Wisps vs Molecules comparison for context
- Session continuity for multi-session work
- Updated exit checklist

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 15:40:37 -08:00
Steve Yegge
56bcdad323 feat(rig): Add gt rig reset --stale to clear orphaned in_progress issues (gt-lek6)
Adds --stale flag to gt rig reset that:
- Lists all in_progress issues
- Checks if assignee tmux session exists
- Resets orphans to open status with empty assignee
- Skips crew/* assignees (persistent identities)

Also adds --dry-run flag to preview what would be reset.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 15:16:14 -08:00
Steve Yegge
1111ba7596 docs: Add no-PR instructions to polecat onboarding (gt-drbd)
Update mol-polecat-work submit-merge step and polecat.md role docs
to explicitly forbid GitHub PRs and direct to beads merge-requests.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 15:06:10 -08:00
Steve Yegge
a40ce5b7b8 bd sync: 2025-12-22 14:55:02 2025-12-22 14:55:02 -08:00
Steve Yegge
8f47c92c00 Add patrol banners to deacon template (gt-h28m)
- Startup banner with  DEACON STARTING
- Step banners with emoji for each patrol atom
- Cycle summary banner before squash
- Emoji table: 📥 inbox, 🏥 health, 🔌 plugin, 👻 orphan, 🧹 gc, 🧠 context, 🔄 loop
2025-12-22 14:54:46 -08:00
Steve Yegge
21b495fac2 bd sync: 2025-12-22 14:34:53 2025-12-22 14:34:53 -08:00
Steve Yegge
da662a6aea bd sync: 2025-12-22 14:34:46 2025-12-22 14:34:46 -08:00
Steve Yegge
d340b68788 bd sync: 2025-12-22 14:34:10 2025-12-22 14:34:46 -08:00
Steve Yegge
ba1502e707 bd sync: 2025-12-22 13:20:17 2025-12-22 14:34:46 -08:00
Steve Yegge
d09d584094 bd sync: 2025-12-22 13:08:34 2025-12-22 14:34:46 -08:00
Steve Yegge
18152b73ff fix(refinery): Use NudgeSession for reliable gt prime delivery
Wait for Claude to start before sending the prime command, and use
NudgeSession (with 500ms debounce) instead of SendKeysDelayed for
reliable message delivery.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 14:23:16 -08:00
Steve Yegge
3559fe9aee fix(refinery): Use TTY-forwarding attach for refinery sessions
Use attachToTmuxSession helper instead of tmux.AttachSession to properly
forward stdin/stdout/stderr when attaching.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 14:14:11 -08:00
Steve Yegge
bcaa55e09a feat(refinery): Auto-start refinery on attach if not running
Like gt crew at and gt mayor at, gt refinery attach now auto-starts
the refinery session if it is not already running.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 14:12:41 -08:00
Steve Yegge
dc7cad1a04 feat: Enable command prefix matching for all gt subcommands
Allows shorthand like 'gt ref at' for 'gt refinery attach'.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 14:09:25 -08:00
Steve Yegge
db87ec7b7b feat(refinery): Auto-detect rig from cwd for refinery commands
All gt refinery subcommands (start, stop, status, queue, attach) now
accept an optional rig argument. If not provided, the rig is inferred
from the current working directory.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 13:38:31 -08:00
Steve Yegge
adfa4d5451 bd sync: add gt-7921, gt-7922, gt-7923 (patrol architecture) 2025-12-22 13:25:00 -08:00
Steve Yegge
58ff4c1750 Add gt mol catalog/burn/squash, wire wisp flag, update deacon prompt
- gt mol catalog: list available molecule protos
- gt mol burn: burn current molecule without digest
- gt mol squash: compress molecule into digest
- Wire --wisp flag in gt sling to use .beads-wisp/ storage
- Add IsWisp field to MoleculeContext
- Update prompts/roles/deacon.md with correct commands

Closes: gt-x74c, gt-9t14, gt-i4i2

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 13:20:29 -08:00
Steve Yegge
ace5055d2c bd sync: close gt-7920 (refinery patrol mol) 2025-12-22 13:13:43 -08:00
Steve Yegge
9c2bc46ef6 feat(refinery): Add mol-refinery-patrol with verification gates (gt-7920)
The Refinery now has a formal patrol molecule with structural enforcement
of the Beads Promise via the handle-failures verification gate.

Changes:
- Add RefineryPatrolMolecule() to builtin_molecules.go with 10 steps
- Add prompts/roles/refinery.md template following deacon/witness pattern
- Update test to expect 9 built-in molecules

Key insight: The handle-failures step is a GATE - you cannot proceed to
merge-push without either fixing the issue or filing a bead. This makes
disavowal structurally impossible, not just philosophically discouraged.

The Scotty Test: "Would Scotty walk past a warp core leak because it
existed before his shift?"

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 13:13:23 -08:00
Steve Yegge
749bf30f53 bd sync: 2025-12-22 12:31:59 2025-12-22 13:05:08 -08:00
Steve Yegge
8bfd061f4b Add canonical Propulsion Principle documentation (gt-7hor)
Documents the Universal Gas Town Propulsion Principle - the single rule
that drives all agent behavior: "If you find something on your hook,
YOU RUN IT."

Covers:
- The One Rule (hook has work → work happens)
- Why it works (stateless agents, molecule-driven)
- The sling lifecycle diagram
- Agent startup protocol
- Examples and anti-patterns

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 13:05:07 -08:00
Steve Yegge
1cd977a037 bd sync: 2025-12-22 12:20:24 2025-12-22 13:05:07 -08:00
Steve Yegge
20566d114d bd sync: 2025-12-22 12:19:36 2025-12-22 13:05:07 -08:00
Steve Yegge
0e316f3d59 bd sync: 2025-12-22 12:13:17 2025-12-22 13:05:07 -08:00
Steve Yegge
b844577647 bd sync: 2025-12-22 12:12:57 2025-12-22 13:05:07 -08:00
Steve Yegge
a69e3d7182 bd sync: 2025-12-22 12:12:32 2025-12-22 13:05:07 -08:00
Steve Yegge
fa8dc5978d bd sync: 2025-12-22 03:11:47 2025-12-22 13:05:07 -08:00
Steve Yegge
cd6f9b84b4 bd sync: 2025-12-22 02:59:06 2025-12-22 13:05:07 -08:00
Steve Yegge
f1ec11e413 bd sync: 2025-12-22 02:48:52 2025-12-22 13:05:06 -08:00
Steve Yegge
eb56c2e364 bd sync: 2025-12-22 02:37:12 2025-12-22 13:05:06 -08:00
Steve Yegge
b226c2531e bd sync: 2025-12-22 02:14:12 2025-12-22 13:05:06 -08:00
Steve Yegge
89bcf0bf34 bd sync: close gt-3x0z.9 (wisp-based patrol) 2025-12-22 13:05:06 -08:00
Steve Yegge
b29c01b6c0 bd sync: 2025-12-22 02:13:56 2025-12-22 13:05:06 -08:00
Steve Yegge
f8e38f6ad2 bd sync: 2025-12-22 02:11:09 2025-12-22 13:05:06 -08:00
Steve Yegge
b3d1436b01 bd sync: 2025-12-22 01:33:26 2025-12-22 13:05:06 -08:00
Steve Yegge
8cf81361a2 bd sync: 2025-12-22 01:22:33 2025-12-22 13:05:06 -08:00
Steve Yegge
6eca1b1b4f bd sync: 2025-12-22 01:04:51 2025-12-22 13:05:06 -08:00
Steve Yegge
f4acb6d8dc bd sync: 2025-12-22 01:04:10 2025-12-22 13:05:05 -08:00
Steve Yegge
084f9e91da bd sync: 2025-12-22 00:05:55 2025-12-22 13:05:05 -08:00
Steve Yegge
d6b601ad09 bd sync: 2025-12-21 23:11:40 2025-12-22 13:05:05 -08:00
Steve Yegge
38b8dfe84b bd sync: 2025-12-21 22:40:56 2025-12-22 13:05:05 -08:00
Steve Yegge
a140254c6b bd sync: 2025-12-21 22:20:17 2025-12-22 13:05:05 -08:00
Steve Yegge
f19f5c5bf6 bd sync: 2025-12-21 22:18:15 2025-12-22 13:05:05 -08:00