Commit Graph

731 Commits

Author SHA1 Message Date
Steve Yegge
b950604e0a refactor(mol): remove molecule.go (superseded by mol.go)
The simple single-issue instantiation in molecule.go is superseded by
the full DAG-based mol commands. Use 'bd mol bond' for all molecule
instantiation - it handles both single-issue and multi-issue molecules.

Closes: bd-8b0x

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 00:04:25 -08:00
Steve Yegge
ca678ca5ba feat(mol): add bd mol commands, deprecate bd template
Adds the mol command group for molecule workflows:
- bd mol catalog - list available molecules
- bd mol show <id> - show molecule structure and variables
- bd mol bond <id> --var k=v - instantiate a molecule

Molecules are templates with workflow semantics - they are the
orchestration primitive for Gas Town. This unifies the template
system under the mol command.

The template commands are deprecated but still work:
- bd template list -> use bd mol catalog
- bd template show -> use bd mol show
- bd template instantiate -> use bd mol bond

Closes: bd-ffjt

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 00:01:53 -08:00
Steve Yegge
ee255c215a bd sync: 2025-12-20 23:22:54 2025-12-20 23:22:54 -08:00
Steve Yegge
22f4e0d6fa bd sync: 2025-12-20 22:35:59 2025-12-20 22:35:59 -08:00
Steve Yegge
d2956739c8 bd sync: 2025-12-20 22:35:19 2025-12-20 22:35:26 -08:00
Steve Yegge
ecea63da75 bd sync: 2025-12-20 21:59:07 2025-12-20 21:59:07 -08:00
Steve Yegge
9768317eea bd sync: 2025-12-20 21:57:50 2025-12-20 21:58:59 -08:00
Steve Yegge
cad4f49f64 bd sync: 2025-12-20 21:56:38 2025-12-20 21:58:59 -08:00
Steve Yegge
2cb155eeba docs: add v0.32.0 changelog and info.go entries
Prepare for v0.32.0 release with:
- Removed bd mail commands (orchestration belongs elsewhere)
- Data model unchanged (type=message, Sender, etc.)
- Symlink fix (PR#665)
- Docs fix (GH#666)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 18:23:02 -08:00
Steve Yegge
1b2cd71c97 fix(docs): correct broken link to LABELS.md in examples
LABELS.md is in docs/, not root.

Fixes #666

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 18:11:16 -08:00
Steve Yegge
7ad2bbbcde Merge PR #665: fix(setup): preserve symlinks in atomicWriteFile
Add ResolveForWrite helper that resolves symlinks before writing, so
atomic writes go to the symlink target instead of replacing the symlink.

This prevents `bd setup claude` from overwriting nix/home-manager
managed ~/.claude/settings.json symlinks.

Closes #665

Co-authored-by: qmx <qmx@qmx.me>
2025-12-20 18:03:12 -08:00
Steve Yegge
4f504bdff8 fix(test): resolve target path in symlink test for macOS
On macOS, /var is a symlink to /private/var, so EvalSymlinks returns
the canonical path. The test needs to resolve the expected target path
before comparison.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 18:02:41 -08:00
Steve Yegge
4fa0866fcf refactor: remove bd mail commands - mail moves to Gas Town
Mail is orchestration, not data plane. The bd mail commands were just
sugar over bd create/list/show with type=message. Gas Town (gt) now
owns mail routing and delivery.

Removed:
- cmd/bd/mail.go - all mail subcommands (send, inbox, read, ack, reply)
- cmd/bd/mail_test.go - mail command tests
- docs/messaging.md - dedicated mail documentation
- EventMessage hook - no longer triggered

Kept (data plane):
- type=message as valid issue type
- Sender, Ephemeral fields on issues
- replies_to dependency type for threading

Coordination: gt-9xg implements native mail in Gas Town.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 17:56:46 -08:00
Steve Yegge
9d19115357 docs: add 0.31.0 changelog 2025-12-20 16:59:09 -08:00
Steve Yegge
8e8301a016 fix(doctor): update broken Claude plugin link (GH#623)
The bd doctor command was pointing to a non-existent README anchor
(#claude-code-plugin). Updated to point to docs/PLUGIN.md which
contains the actual plugin installation instructions.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 02:38:56 -08:00
Steve Yegge
6c060461cb feat(jsonl): add omitempty to reduce JSONL bloat (beads-399)
Add omitempty JSON tags to Issue struct fields (Description, Status,
Priority, IssueType) and SetDefaults method to apply proper defaults
when importing JSONL with omitted fields.

This reduces JSONL file size for minimal issues like notifications
by not exporting empty/default values.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 23:18:11 -08:00
Steve Yegge
2ea6083163 fix(info): add third change to satisfy TestVersionChangesCoverage
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 23:03:37 -08:00
Steve Yegge
1efa5043e7 chore: bump version to 0.30.7
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 22:57:45 -08:00
Steve Yegge
46488d4f96 Add 'molecule' as valid issue type
Molecules are composable workflow templates used by Gas Town (gt) for
defining multi-step processes like bootstrap, engineer-in-box, etc.

Changes:
- Add TypeMolecule constant to internal/types/types.go
- Add molecule to IsValid() switch case
- Add molecule and merge-request to validation/bead.go validTypes map
- Update help text in create.go, show.go, list.go
- Add test cases for molecule and merge-request types

Closes gt-qn4l

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 18:31:33 -08:00
Steve Yegge
6d931f9bd1 Setup emma as crew worker
- Update CLAUDE.md with crew worker identity and context
- Crew workers are persistent, user-managed (vs ephemeral polecats)
- Update mail commands to use beads-emma identity
- Sync beads database ordering
2025-12-19 12:48:52 -08:00
Steve Yegge
c78347c4c4 Merge polecat/Morsov: exclude pinned from bd ready 2025-12-19 01:28:26 -08:00
Steve Yegge
2ea1b74f43 Merge beads-sync into main 2025-12-18 18:58:35 -08:00
Steve Yegge
d2b9554651 bd sync: 2025-12-18 18:33:29 2025-12-18 18:33:29 -08:00
Steve Yegge
736389b6b7 bd sync: 2025-12-18 13:47:56 2025-12-18 13:47:56 -08:00
Steve Yegge
acb3bbf7b6 bd sync: 2025-12-18 11:47:46 2025-12-18 11:47:46 -08:00
Steve Yegge
8b581d6de3 bd sync: 2025-12-18 11:29:45 2025-12-18 11:29:45 -08:00
Steve Yegge
1951a2c5fe bd sync: 2025-12-18 11:28:36 2025-12-18 11:28:36 -08:00
Steve Yegge
5981e6e752 bd sync: 2025-12-18 11:13:50 2025-12-18 11:13:50 -08:00
Steve Yegge
001ae4473f bd sync: 2025-12-18 11:09:54 2025-12-18 11:09:54 -08:00
Steve Yegge
d5a115a347 bd sync: 2025-12-18 02:49:16 2025-12-18 02:49:16 -08:00
Steve Yegge
51b3d3975f bd sync: 2025-12-18 02:48:19 2025-12-18 02:48:19 -08:00
Steve Yegge
7c8b69f5b3 Phase 4: Remove deprecated edge fields from Issue struct (Decision 004)
This is the final phase of the Edge Schema Consolidation. It removes
the deprecated edge fields (RepliesTo, RelatesTo, DuplicateOf, SupersededBy)
from the Issue struct and all related code.

Changes:
- Remove edge fields from types.Issue struct
- Remove edge field scanning from queries.go and transaction.go
- Update graph_links_test.go to use dependency API exclusively
- Update relate.go to use AddDependency/RemoveDependency
- Update show.go with helper functions for thread traversal via deps
- Update mail_test.go to verify thread links via dependencies
- Add migration 022 to drop columns from issues table
- Fix cycle detection to allow bidirectional relates-to links
- Fix migration 022 to disable foreign keys before table recreation

All edge relationships now use the dependencies table exclusively.
The old Issue fields are fully removed.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 02:48:13 -08:00
Steve Yegge
558bf9da34 bd sync: 2025-12-18 02:01:53 2025-12-18 02:01:53 -08:00
Steve Yegge
eaa8b89f04 bd sync: 2025-12-18 01:45:02 2025-12-18 01:45:03 -08:00
Steve Yegge
a3bad7890a bd sync: 2025-12-18 01:42:06 2025-12-18 01:42:06 -08:00
Steve Yegge
f541785457 bd sync: 2025-12-18 01:39:34 2025-12-18 01:39:34 -08:00
Steve Yegge
bee04ef389 bd sync: 2025-12-18 00:41:18 2025-12-18 00:41:18 -08:00
Steve Yegge
fd00a9b799 bd sync: 2025-12-17 23:38:05 2025-12-17 23:38:05 -08:00
Steve Yegge
f76e61c997 bd sync: 2025-12-17 23:29:42 2025-12-17 23:29:42 -08:00
Steve Yegge
f25451130d bd sync: 2025-12-17 23:24:54 2025-12-17 23:24:54 -08:00
Steve Yegge
0fd5d5673c bd sync: 2025-12-17 23:24:34 2025-12-17 23:24:34 -08:00
Steve Yegge
f995cf56dd bd sync: 2025-12-17 23:20:55 2025-12-17 23:20:55 -08:00
Steve Yegge
cffa216dd5 bd sync: 2025-12-17 23:18:36 2025-12-17 23:18:36 -08:00
Steve Yegge
2d2867d31b bd sync: 2025-12-17 23:15:18 2025-12-17 23:15:18 -08:00
Steve Yegge
83ae110508 refactor: Remove legacy MCP Agent Mail integration (bd-6gd)
Remove the external MCP Agent Mail server integration that required
running a separate HTTP server and configuring environment variables.

The native `bd mail` system (stored as git-synced issues) remains
unchanged and is the recommended approach for inter-agent messaging.

Files removed:
- cmd/bd/message.go - Legacy `bd message` command
- integrations/beads-mcp/src/beads_mcp/mail.py, mail_tools.py
- lib/beads_mail_adapter.py - Python adapter library
- examples/go-agent/ - Agent Mail-focused example
- examples/python-agent/agent_with_mail.py, AGENT_MAIL_EXAMPLE.md
- docs/AGENT_MAIL*.md, docs/adr/002-agent-mail-integration.md
- tests/integration/test_agent_race.py, test_mail_failures.py, etc.
- tests/benchmarks/ - Agent Mail benchmarks

Updated documentation to remove Agent Mail references while keeping
native `bd mail` documentation intact.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 23:14:23 -08:00
Steve Yegge
efb47825da bd sync: 2025-12-17 23:13:41 2025-12-17 23:13:41 -08:00
Steve Yegge
1e0151dfb2 bd sync: 2025-12-17 23:13:37 2025-12-17 23:13:37 -08:00
Steve Yegge
8bdeb07dc8 bd sync: 2025-12-17 23:03:53 2025-12-17 23:03:53 -08:00
Steve Yegge
4e3e80b3da bd sync: 2025-12-17 23:03:24 2025-12-17 23:03:24 -08:00
Steve Yegge
e6a74ef925 bd sync: 2025-12-17 23:02:58 2025-12-17 23:02:58 -08:00