Commit Graph

3363 Commits

Author SHA1 Message Date
Steve Yegge
8f15dcfdae Merge pull request #606 from SorraTheOrc/fix/hooks-timeout-kill-descendants
hooks: kill descendant processes on timeout; add test and comment
2025-12-17 14:00:28 -08:00
Steve Yegge
56d2920bb3 docs: restore Community Tools section with beads.el
Adds back third-party tools removed in succinct README PR.
Includes beads.el Emacs package (closes #610).

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 13:45:41 -08:00
Steve Yegge
9ddf69d700 fix: correct broken documentation links in README
The succinct README PR had Google search URLs instead of relative paths.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 13:43:05 -08:00
Steve Yegge
f3cd32d66e Merge pull request #612 from brycedrennan/patch-2
make README.md succinct
2025-12-17 13:42:11 -08:00
Bryce Drennan
57b1d90196 make README.md succinct 2025-12-17 10:44:51 -08:00
Steve Yegge
ff0ecb526e fix: daemon delete creates tombstones, export includes tombstones (bd-rp4o)
Three changes to fix deleted issues resurrecting during bd sync:

1. daemon handleDelete now uses CreateTombstone instead of DeleteIssue
   - internal/rpc/server_issues_epics.go

2. sync.go exportToJSONL now includes IncludeTombstones:true
   - cmd/bd/sync.go

3. server_export_import_auto.go handleExport and auto-export now include
   tombstones in SearchIssues filter
   - internal/rpc/server_export_import_auto.go

Also adds README.md documentation for sync.branch mode (bd-dsdh):
- Explains "always dirty" working tree behavior
- Shell alias tip: gs='git status -- ":!.beads/"'
- When to use bd sync --merge

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 01:15:40 -08:00
Steve Yegge
123e66f625 Merge beads-sync into main 2025-12-17 01:02:29 -08:00
Steve Yegge
bb750a96da bd sync: 2025-12-16 23:16:19 2025-12-16 23:16:19 -08:00
Steve Yegge
edb2186066 bd sync: 2025-12-16 23:09:57 2025-12-16 23:09:57 -08:00
Steve Yegge
4af0e1798e fix: allow bd sync --merge with uncommitted .beads/ changes (bd-7b7h)
The sync.branch workflow copies JSONL to main working dir without
committing, which blocked bd sync --merge (required clean working dir).

Changes:
- Exclude .beads/ from dirty check in mergeSyncBranch
- Restore .beads/ to HEAD before merge to prevent conflicts

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 23:09:19 -08:00
Steve Yegge
88703ced1e bd sync: 2025-12-16 23:08:59 2025-12-16 23:08:59 -08:00
Steve Yegge
6ab8918177 bd sync: 2025-12-16 23:08:55 2025-12-16 23:08:55 -08:00
Steve Yegge
518b09ca4c bd sync: 2025-12-16 22:57:41 2025-12-16 22:57:41 -08:00
Ross Gardler
6b0d0901d0 hooks: harden timeout kill and add platform split
- Move runHook into build-tagged implementations (unix/windows) to keep unix syscalls off Windows builds.
- In unix implementation, guard nil Process, return wrapped kill errors except ESRCH, and document linkage to TestRunSync_KillsDescendants.
- On Windows, best-effort kill on timeout retains prior behavior.
- In tests, move testing.Short earlier and keep descendant-kill coverage on Linux.
2025-12-16 22:38:45 -08:00
Steve Yegge
a1604ddad1 bd sync: 2025-12-16 22:35:35 2025-12-16 22:35:35 -08:00
Steve Yegge
fcd29f5ea4 fix: add ID-based fallback matching to prevent ghost resurrection (bd-ncwo)
Root cause: The merge driver matched issues by IssueKey (ID+CreatedAt+CreatedBy).
When timestamp precision differed (e.g., with/without nanoseconds), the same
issue was treated as two different issues, causing both tombstone and closed
versions to appear in the merge result.

Fix: Added ID-based fallback matching in merge3WayWithTTL. When key-based
matching fails but the same ID exists in the other side, use that for merging.
Also track processed IDs to prevent duplicates.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 22:35:29 -08:00
Steve Yegge
b0df00c10d bd sync: 2025-12-16 22:01:38 2025-12-16 22:01:38 -08:00
Steve Yegge
0ce039429d fix: tombstone/deletion overhaul for bd-4q8
- IsExpired(): Negative TTL means immediately expired (for --hard mode)
- IsExpired(): ClockSkewGrace only added for TTLs > 1 hour
- bd cleanup --hard: Use negative TTL to prune freshly created tombstones
- bd delete --hard: New flag to immediately prune tombstones from JSONL
- Import: Add early tombstone check before all phases to prevent resurrection

The early tombstone check prevents ghost issues from being created when
tombstones exist in the DB. However, a deeper git merge issue (bd-ncwo)
can still cause resurrection when remote's status:closed wins the merge.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 22:01:31 -08:00
Steve Yegge
cf8e84773a bd sync: 2025-12-16 21:59:18 2025-12-16 21:59:18 -08:00
Steve Yegge
3eb72ba91a bd sync: 2025-12-16 21:59:14 2025-12-16 21:59:14 -08:00
Steve Yegge
d8e42f4c59 bd sync: 2025-12-16 21:58:33 2025-12-16 21:58:33 -08:00
Steve Yegge
69ff0ac67c bd sync: 2025-12-16 21:58:29 2025-12-16 21:58:29 -08:00
Steve Yegge
2fa0920af2 bd sync: 2025-12-16 21:57:36 2025-12-16 21:57:36 -08:00
Steve Yegge
d42cb96ebb bd sync: 2025-12-16 21:57:32 2025-12-16 21:57:32 -08:00
Ross Gardler
1465f7bb1d hooks: kill descendant processes on timeout; add test and comment
Ensure RunSync kills the hook process group on timeout so descendant processes (e.g. scripts that ) cannot keep the caller blocked. Add explanatory comment in  and a Linux-only unit test  in . Trim pid parsing newline in the test. All tests pass locally.
2025-12-16 21:57:29 -08:00
Steve Yegge
9794591c5b bd sync: 2025-12-16 21:31:09 2025-12-16 21:31:09 -08:00
Steve Yegge
fc9951fa04 bd sync: 2025-12-16 21:31:05 2025-12-16 21:31:05 -08:00
Steve Yegge
3cad28713f bd sync: 2025-12-16 20:53:02 2025-12-16 20:53:02 -08:00
Steve Yegge
b83ebdcb38 bd sync: 2025-12-16 20:44:31 2025-12-16 20:44:31 -08:00
Steve Yegge
8f940dfbb6 bd sync: 2025-12-16 20:44:27 2025-12-16 20:44:27 -08:00
Steve Yegge
0b7c6935b1 bd sync: 2025-12-16 20:44:04 2025-12-16 20:44:04 -08:00
Steve Yegge
d4a9315e91 bd sync: 2025-12-16 20:43:46 2025-12-16 20:43:46 -08:00
Steve Yegge
9846940ce4 bd sync: 2025-12-16 20:42:43 2025-12-16 20:42:43 -08:00
Steve Yegge
3c91c67311 Remove orphans 2025-12-16 20:42:29 -08:00
Steve Yegge
3fafd2dcff bd sync: 2025-12-16 20:38:55 2025-12-16 20:38:55 -08:00
Steve Yegge
0558fc0258 bd sync: 2025-12-16 20:38:39 2025-12-16 20:38:39 -08:00
Steve Yegge
955acd70d3 bd sync: 2025-12-16 20:38:35 2025-12-16 20:38:35 -08:00
Steve Yegge
2fc5e0c979 bd sync: 2025-12-16 20:36:58 2025-12-16 20:36:58 -08:00
Steve Yegge
19198939e8 bd sync: 2025-12-16 20:36:54 2025-12-16 20:36:54 -08:00
Steve Yegge
8d73a86f7a feat: complete bd-kwro messaging & knowledge graph epic
- Add bd cleanup --ephemeral flag for transient message cleanup (bd-kwro.9)
- Add Ephemeral filter to IssueFilter type
- Add ephemeral filtering to SQLite storage queries

Tests (bd-kwro.10):
- Add internal/hooks/hooks_test.go for hook system
- Add cmd/bd/mail_test.go for mail commands
- Add internal/storage/sqlite/graph_links_test.go for graph links

Documentation (bd-kwro.11):
- Add docs/messaging.md for full messaging reference
- Add docs/graph-links.md for graph link types
- Update AGENTS.md with inter-agent messaging section
- Update CHANGELOG.md with all bd-kwro features

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 20:36:47 -08:00
Steve Yegge
39b31e31c0 bd sync: 2025-12-16 20:36:32 2025-12-16 20:36:32 -08:00
Steve Yegge
e7fe8f7dcb bd sync: 2025-12-16 20:36:27 2025-12-16 20:36:27 -08:00
Steve Yegge
ac8c577e63 bd sync: 2025-12-16 20:35:36 2025-12-16 20:35:36 -08:00
Steve Yegge
f070e41162 Remove orphaned child issues (parents deleted) 2025-12-16 20:35:28 -08:00
Steve Yegge
cf6d949364 bd sync: 2025-12-16 20:28:53 2025-12-16 20:28:53 -08:00
Steve Yegge
85324c82a8 bd sync: 2025-12-16 20:28:25 2025-12-16 20:28:25 -08:00
Steve Yegge
fc7d41098c bd sync: 2025-12-16 20:27:35 2025-12-16 20:27:35 -08:00
Steve Yegge
137de5407b bd sync: 2025-12-16 20:27:00 2025-12-16 20:27:00 -08:00
Steve Yegge
d69e1cf371 bd sync: 2025-12-16 20:26:49 2025-12-16 20:26:49 -08:00
Steve Yegge
8fdc317071 bd sync: 2025-12-16 20:26:01 2025-12-16 20:26:02 -08:00