Commit Graph

3389 Commits

Author SHA1 Message Date
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
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
Steve Yegge
243bc3fe8c bd sync: 2025-12-17 22:59:19 2025-12-17 22:59:19 -08:00
Steve Yegge
a770777acf bd sync: 2025-12-17 22:58:40 2025-12-17 22:58:40 -08:00
Steve Yegge
2355bbb861 bd sync: 2025-12-17 22:56:45 2025-12-17 22:56:45 -08:00
Steve Yegge
5227e9f6e2 bd sync: 2025-12-17 21:46:54 2025-12-17 21:46:54 -08:00
Steve Yegge
8fb4a9d613 bd sync: 2025-12-17 19:16:21 2025-12-17 19:16:21 -08:00
Steve Yegge
371783fc4f bd sync: 2025-12-17 19:11:19 2025-12-17 19:11:19 -08:00
Steve Yegge
fe1e427f1d bd sync: 2025-12-17 19:09:58 2025-12-17 19:09:58 -08:00
Steve Yegge
ed17cea35b bd sync: 2025-12-17 17:29:13 2025-12-17 17:29:13 -08:00
Steve Yegge
2f0c746485 bd sync: 2025-12-17 17:15:58 2025-12-17 17:15:58 -08:00
Steve Yegge
9073309b29 chore: Clean up old closed issues and tombstones
- Deleted 71 closed issues (converted to tombstones)
- Purged 697 tombstones older than 48 hours
- Cleaned 286 orphaned dependency records
- Kept 48 recent tombstones (< 48h) for resurrection protection

Before: 847 issues | After: 150 issues (102 open + 48 tombstones)
2025-12-17 16:13:43 -08:00
Steve Yegge
47a682acfb fix: Remove orphaned child issues permanently (bd-cb64c226.*, bd-cbed9619.*)
Root cause: Previous fix only cleaned beads-sync branch, not main.
During 3-way merge, orphans were re-introduced from main.

This export is from clean DB (0 orphaned issues).
Also force-resetting beads-sync to match.
2025-12-17 16:10:09 -08:00
Steve Yegge
93fdcc2b02 Merge pull request #601 from chapel/fix/gh-587-memory-stats-blocked-ready
Reviewed and approved - clean bug fix with good test coverage achieving parity between memory and SQLite storage implementations.
2025-12-17 15:30:05 -08:00
Steve Yegge
2e0f6e7ca2 Merge pull request #602 from SorraTheOrc/patch-1
Update link to EXTENDING.md in example extending README
2025-12-17 14:54:12 -08:00
Steve Yegge
b273652826 Merge pull request #603 from vgough/vgough/create-form
add visual create-form command
2025-12-17 14:19:16 -08:00
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