Commit Graph

1030 Commits

Author SHA1 Message Date
Steve Yegge
367bf077e1 Update hook templates and whats-new data to v0.23.0 2025-11-08 03:56:08 -08:00
Steve Yegge
f12004c7ab Add Agent Mail 98.5% git traffic reduction metric to changelog and README 2025-11-08 03:54:28 -08:00
Steve Yegge
87e4ae5f24 Add warning message to zombie issues.jsonl file
The renamed file needs a clear warning to prevent accidental use.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 03:17:58 -08:00
Steve Yegge
9ee45e1971 Auto-invoke 3-way merge for JSONL conflicts (bd-jjua)
When git pull encounters merge conflicts in .beads/beads.jsonl, the
post-merge hook runs 'bd sync --import-only' which previously failed
with an error message pointing users to manual resolution.

This commit adds automatic 3-way merge resolution as a fallback safety
net that works alongside the git merge driver.

Changes:
- Modified conflict detection in import.go to attempt automatic merge
- Added attemptAutoMerge() function that:
  - Extracts git conflict stages (:1 base, :2 ours, :3 theirs)
  - Invokes 'bd merge' command for intelligent field-level merging
  - Writes merged result back and auto-stages the file
  - Restarts import with merged JSONL on success
- Falls back to manual resolution instructions only if auto-merge fails

Defense-in-depth approach:
1. Primary: git merge driver prevents most conflicts during merge
2. Fallback: import auto-merge handles any that slip through

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 03:17:58 -08:00
Steve Yegge
54b459a2a2 bd sync: 2025-11-08 03:12:12 2025-11-08 03:12:12 -08:00
Steve Yegge
bfc0320a1f Merge remote changes
Amp-Thread-ID: https://ampcode.com/threads/T-fd346dc3-c2b3-4ffd-8c08-432b6563d378
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 03:12:07 -08:00
Steve Yegge
709fd1d3f7 bd sync: 2025-11-08 03:11:53 2025-11-08 03:11:53 -08:00
Steve Yegge
93e5a156c8 Update bd JSONL
Amp-Thread-ID: https://ampcode.com/threads/T-635e5cf4-fa2f-4ce3-9f05-43b48010baae
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 03:10:31 -08:00
Steve Yegge
288d62a32c bd sync: 2025-11-08 02:51:36 2025-11-08 02:51:36 -08:00
Steve Yegge
bc056cebcd Add comprehensive Agent Mail coordination tests (bd-pdjb)
- Created test_multi_agent_coordination.py with 4 fast tests (<11s total)
- Tests cover fairness (10 agents, 5 issues), notifications, handoff, idempotency
- Documented complete test coverage in AGENT_MAIL_TEST_COVERAGE.md
- 66 total tests across 5 files validating multi-agent reliability
- Closed bd-pdjb (Testing & Validation epic)
2025-11-08 02:48:05 -08:00
Steve Yegge
08ae95be95 Update bd JSONL 2025-11-08 02:46:08 -08:00
Steve Yegge
abb1d1c714 Fix post-merge hook to show actual error messages
Previously the hook redirected stderr to /dev/null, hiding useful error
messages like 'Git conflict markers detected'. Users only saw a generic
warning with no indication of the root cause.

Now captures and displays the actual error output, making it immediately
clear what went wrong (e.g., merge conflicts in JSONL).

Fixes bd-nszi

Amp-Thread-ID: https://ampcode.com/threads/T-6231e968-2c06-44ad-855d-bb5fafe452f6
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 02:46:04 -08:00
Steve Yegge
27fd6e4287 Update beads JSONL after closing bd-d6aq 2025-11-08 02:43:01 -08:00
Steve Yegge
3b39672e76 bd sync: 2025-11-08 02:28:57 2025-11-08 02:28:57 -08:00
Steve Yegge
1da414fa34 Merge remote changes and add TTL/expiration tests (bd-d6aq)
- Resolved beads.jsonl merge conflict
- Created test_reservation_ttl.py with 4 integration tests
- Tests short TTL (30s), reservation blocking, auto-release, and renewal
- Mock server implements full TTL management with expiration tracking
- All tests passing in ~57s (includes 30s wait for expiration)
- Updated integration test README with new test documentation
2025-11-08 02:24:39 -08:00
Steve Yegge
00333ce082 bd sync: 2025-11-08 02:24:17 2025-11-08 02:24:17 -08:00
Steve Yegge
9d9386fa9b bd sync: 2025-11-08 02:22:18 2025-11-08 02:22:18 -08:00
Steve Yegge
5793ec32a9 bd sync: 2025-11-08 02:20:47 2025-11-08 02:20:47 -08:00
Steve Yegge
24bfb6afd2 Add comprehensive tests for Python Agent Mail adapter
- Add 24 new tests across 6 test classes
- Cover authorization headers, request body validation
- Test reservation edge cases (TTL, special chars, multiple reservations)
- Test timeout configuration and precedence
- Test inbox/notification edge cases (large payloads, Unicode, nested data)
- Fix timeout parameter precedence bug (constructor now overrides env var)
- All 51 tests pass

Closes bd-b134

Amp-Thread-ID: https://ampcode.com/threads/T-2f39e97d-38de-4df4-bf94-ef90184cee8a
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 02:19:31 -08:00
Steve Yegge
3b326cab61 Update bd JSONL - closed bd-ic1m
Amp-Thread-ID: https://ampcode.com/threads/T-0907bb40-ffc9-4f09-843f-b26716ef9ce0
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 02:14:06 -08:00
Steve Yegge
ce2afd18ae bd sync: 2025-11-08 01:58:15 2025-11-08 01:58:15 -08:00
Steve Yegge
7d5ea2e6c9 bd sync: 2025-11-08 01:52:48 2025-11-08 01:52:48 -08:00
Steve Yegge
ab4ec900f0 Fix bd import to auto-initialize database when missing
Agents were failing with 'bd import' after nuking the database.
Now bd import automatically:
- Creates .beads/ directory if missing
- Detects prefix from imported issues (analyzes JSONL)
- Falls back to directory name if no issues
- Initializes database before proceeding

This fixes the common agent workflow: rm .beads/beads.db && bd import

Amp-Thread-ID: https://ampcode.com/threads/T-3ace45ce-3cd6-46ae-a201-39c3d7f48f0b
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 01:52:35 -08:00
Steve Yegge
068615f28a Add comprehensive Agent Mail adapter tests (bd-5ki8)
- 29 tests covering enabled, disabled, graceful degradation
- Reservation conflict handling (JSON and plain text errors)
- HTTP error scenarios (404, 500, 503)
- Health check edge cases
- Malformed responses and empty bodies
- All tests run in 10ms (fast!)

Amp-Thread-ID: https://ampcode.com/threads/T-8bcf1119-53f1-4602-9161-d804444cc314
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 01:34:01 -08:00
Steve Yegge
187fdd258a Add bd hooks install command with embedded git hooks (bd-908z)
- Embed git hooks in binary using go:embed and templates directory
- Add bd hooks install/uninstall/list subcommands
- Install hooks with automatic backup of existing hooks
- Update AGENTS.md to reference 'bd hooks install' instead of install.sh
- Add comprehensive tests for hooks commands
- Update hook version to 0.22.1

Closes bd-908z
2025-11-08 01:28:19 -08:00
Steve Yegge
af11521561 Update beads.jsonl with closed issues (bd-eimz, bd-fkdw, bd-sc57) 2025-11-08 01:14:22 -08:00
Steve Yegge
c3856bb140 Add Agent Mail documentation and bash-agent integration
- Added Agent Mail section to QUICKSTART.md with benefits and setup
- Integrated Agent Mail into bash-agent example with reservation/notification
- Added multi-agent usage instructions to bash-agent README
- Closed bd-eimz (QUICKSTART), bd-fkdw (bash-agent), bd-sc57 (production)
- Completed bd-nl8z documentation epic

Amp-Thread-ID: https://ampcode.com/threads/T-5b0d67ff-5eb2-41b3-bc9b-7f33719e0c85
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 01:10:20 -08:00
Steve Yegge
687c23cf71 Update issues (bd-2cvu closed)
Amp-Thread-ID: https://ampcode.com/threads/T-f8161cc4-d6d2-4f23-8854-4834dbdedb26
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 01:03:55 -08:00
Steve Yegge
6970fff613 bd sync: 2025-11-08 01:03:44 2025-11-08 01:03:44 -08:00
Steve Yegge
ef1634d850 bd sync: 2025-11-08 01:02:24 2025-11-08 01:02:24 -08:00
Steve Yegge
29a3dfe9a4 bd sync: 2025-11-08 00:50:07 2025-11-08 00:50:07 -08:00
Steve Yegge
596b616269 chore: Sync JSONL after closing bd-xzrv 2025-11-08 00:49:57 -08:00
Steve Yegge
9cffd39246 docs: Add comprehensive Agent Mail integration guide
- Installation and quick start
- Architecture and coordination flow
- Configuration reference (environment variables)
- When to use vs skip Agent Mail
- Multi-machine deployment patterns
- Troubleshooting and FAQ
- Migration guide from git-only mode

Closes bd-xzrv

Amp-Thread-ID: https://ampcode.com/threads/T-e8cf1b4b-38ae-4f6b-ae17-8b960d31608e
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 00:49:41 -08:00
Steve Yegge
bd59973170 Sync beads database 2025-11-08 00:36:42 -08:00
Steve Yegge
c864527e0e Update JSONL after closing bd-zo7o
Amp-Thread-ID: https://ampcode.com/threads/T-2fb10899-490f-4d41-b003-8bc4d467cc54
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 00:36:33 -08:00
Steve Yegge
ef94641541 Add multi-agent race condition test (bd-zo7o)
- Created test_agent_race.py with 3 test scenarios
- Tests collision prevention with Agent Mail reservations
- Validates that only one agent claims an issue when reservations active
- Demonstrates collision problem when Agent Mail disabled
- Includes stress test with 10 agents
- Non-interactive mode support for CI/automation

Amp-Thread-ID: https://ampcode.com/threads/T-2fb10899-490f-4d41-b003-8bc4d467cc54
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 00:36:21 -08:00
Steve Yegge
7c6a7fc382 chore: sync beads database 2025-11-08 00:15:32 -08:00
Steve Yegge
139c693020 bd sync: 2025-11-08 00:11:03 2025-11-08 00:11:03 -08:00
Steve Yegge
f72a1d826d Fix bd-u4f5: Add warning when import syncs with working tree but not git HEAD
- Detect uncommitted changes in .beads/issues.jsonl
- Warn users when database matches working tree but differs from git HEAD
- Clarify import status messages (working tree vs git sync)
- Add comprehensive tests for dirty working tree scenarios
- Prevents false confidence about sync status

Amp-Thread-ID: https://ampcode.com/threads/T-5a0f1045-a690-42ef-8bfc-f8cf30ee4084
Co-authored-by: Amp <amp@ampcode.com>
2025-11-08 00:00:43 -08:00
Steve Yegge
0e6cb2d092 bd sync: 2025-11-08 00:00:04 2025-11-08 00:00:04 -08:00
Steve Yegge
e6e458fc40 Close bd-27xm, update bd-6hji, file bd-8zf2 (MCP context bug)
- bd-27xm: No actual tool error, MCP Agent Mail works correctly
- bd-6hji: File reservations tested successfully, in progress
- bd-8zf2: Critical bug - MCP server loses context on Amp restart

Amp-Thread-ID: https://ampcode.com/threads/T-67bde23b-d637-40ab-add5-6c8f1296e8f8
Co-authored-by: Amp <amp@ampcode.com>
2025-11-07 23:53:51 -08:00
Steve Yegge
4e97e0eb97 Clarify Agent Mail is external service, not embedded in beads
- bd-27xm: Mark as external debugging work
- Updated status doc to emphasize separation
- Agent Mail server at ~/src/mcp_agent_mail (separate repo)
- Beads integration will be lightweight HTTP client only
2025-11-07 23:21:50 -08:00
Steve Yegge
a47b69e4f3 Close test issues 2025-11-07 23:19:32 -08:00
Steve Yegge
a02467e4bd bd-muls: Add Agent Mail integration tracking 2025-11-07 23:18:19 -08:00
Steve Yegge
07bd7066c1 bd sync: 2025-11-07 23:10:55 2025-11-07 23:11:05 -08:00
Steve Yegge
93c90a48f5 Add dependencies for Agent Mail integration issues 2025-11-07 23:04:44 -08:00
Steve Yegge
78d3f5f6d0 Update bd JSONL (closed bd-z528)
Amp-Thread-ID: https://ampcode.com/threads/T-fc7b7391-8881-4dd9-8e1f-28a2f95afb2b
Co-authored-by: Amp <amp@ampcode.com>
2025-11-07 22:51:17 -08:00
Steve Yegge
e5e0c8a211 bd sync: 2025-11-07 22:51:08 2025-11-07 22:51:08 -08:00
Steve Yegge
4f442ce5f1 bd sync: 2025-11-07 22:44:23 2025-11-07 22:44:23 -08:00
Steve Yegge
1065e66a75 Add bd cleanup command for bulk deletion of closed issues
Implements bd-jx90: simple cleanup command without API key requirement.

Features:
- Delete all closed issues with --force
- Filter by age with --older-than N (days)
- Preview with --dry-run
- Cascade deletion with --cascade
- JSON output support

Usage:
  bd cleanup --force                    # Delete all closed
  bd cleanup --older-than 30 --force    # Delete >30 days old
  bd cleanup --dry-run                  # Preview

Closes bd-jx90

Amp-Thread-ID: https://ampcode.com/threads/T-8d905db0-4ec7-411e-95de-1f044219dc9c
Co-authored-by: Amp <amp@ampcode.com>
2025-11-07 22:06:50 -08:00