Commit Graph

2317 Commits

Author SHA1 Message Date
Steve Yegge
c9a2e7a8b2 Fix bd-v0y: Remove mtime fast-path in hasJSONLChanged
Git doesn't preserve mtime on checkout, causing false negatives where
hasJSONLChanged() incorrectly returns false after git pull updates JSONL.
This caused bd sync to overwrite pulled JSONL instead of importing it,
resurrecting deleted issues.

Solution: Always compute content hash for comparison (Option 1).
Performance impact is minimal (~10-50ms for sync operations).

Changes:
- cmd/bd/integrity.go: Remove mtime fast-path, always compute hash
- cmd/bd/sync.go: Remove mtime storage after import
- cmd/bd/import.go: Remove mtime storage after import
- cmd/bd/daemon_sync.go: Remove mtime storage and update comments
- cmd/bd/daemon_sync_test.go: Remove mtime assertions from tests

All tests pass. Existing test 'mtime changed but content same - git
operation scenario' verifies the fix works correctly.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 22:53:54 -08:00
Steve Yegge
7491c142d4 bd sync: 2025-11-23 22:47:28 2025-11-23 22:47:28 -08:00
Steve Yegge
e4cd9a896d bd sync: 2025-11-23 22:47:12 2025-11-23 22:47:12 -08:00
Steve Yegge
f5e96f9a7b Update bd JSONL after rebase 2025-11-23 22:39:58 -08:00
Steve Yegge
949ab4294c Fix ZFC: only force import when DB >> JSONL (stale DB)
Reverted 'always import' - that would overwrite local DB changes.
Now: only import first if DB has >50% more issues than JSONL (stale DB).
Preserves local uncommitted changes while catching sora scenario.
2025-11-23 22:39:51 -08:00
Steve Yegge
e7dfe284b5 bd sync: 2025-11-23 22:38:58 2025-11-23 22:38:58 -08:00
Steve Yegge
2e4171a5f8 Properly enforce ZFC: always import JSONL before export in sync
- Removed arbitrary 50% divergence check
- bd sync now unconditionally imports JSONL first (source of truth)
- Simpler, more correct: JSONL -> DB -> JSONL flow
2025-11-23 22:38:13 -08:00
Steve Yegge
1ba068fabd Fix bd-l0r: Enforce ZFC (JSONL First Consistency) - refuse export when DB >> JSONL 2025-11-23 22:34:19 -08:00
Steve Yegge
f5cc3ff85a bd sync: apply DB changes after import 2025-11-23 22:33:05 -08:00
Steve Yegge
fee336e4ff Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 22:33:05 -08:00
Steve Yegge
839292657a bd sync: 2025-11-23 22:33:04 2025-11-23 22:33:04 -08:00
Steve Yegge
133c30d0d5 bd sync: apply DB changes after import 2025-11-23 22:32:42 -08:00
Steve Yegge
e594596835 bd sync: 2025-11-23 22:32:29 2025-11-23 22:32:29 -08:00
Steve Yegge
3192c26709 bd sync: apply DB changes after import 2025-11-23 22:32:13 -08:00
Steve Yegge
26615721e9 Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 22:32:12 -08:00
Steve Yegge
ca46d550a4 bd sync: 2025-11-23 22:32:11 2025-11-23 22:32:11 -08:00
Steve Yegge
ed11a13f1b bd sync: 2025-11-23 22:28:15 2025-11-23 22:28:15 -08:00
Steve Yegge
3009b42e06 bd sync: 2025-11-23 22:27:52 2025-11-23 22:27:52 -08:00
Steve Yegge
8b530ff809 bd sync: 2025-11-23 22:26:56 2025-11-23 22:26:57 -08:00
Steve Yegge
94c3471d42 bd sync: apply DB changes after import 2025-11-23 22:26:02 -08:00
Steve Yegge
8f465df351 Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 22:26:01 -08:00
Steve Yegge
ed9b46d163 bd sync: 2025-11-23 22:26:00 2025-11-23 22:26:00 -08:00
Steve Yegge
054700456c Add --upgrade-mcp flag to bump-version.sh
- Adds automatic beads-mcp upgrade during version bumps
- Tries pip first, falls back to uv tool
- Warns if version mismatch (normal before PyPI publish)
- Updates RELEASING.md Post-Release section with usage
- Adds reminders in 'Next steps' output if not used
2025-11-23 22:25:37 -08:00
Steve Yegge
19e25f1aeb Update README: Mark FastMCP outputSchema issue as resolved 2025-11-23 22:13:44 -08:00
Steve Yegge
1f27256525 bd sync: 2025-11-23 22:09:36 2025-11-23 22:13:24 -08:00
Steve Yegge
5703f38858 bd sync: 2025-11-23 22:12:49 2025-11-23 22:12:49 -08:00
Steve Yegge
07e2e89657 bd sync: 2025-11-23 22:12:32 2025-11-23 22:12:32 -08:00
Steve Yegge
8bc8611918 bd sync: 2025-11-23 22:06:45 2025-11-23 22:06:45 -08:00
Steve Yegge
971cb45f1c Merge: keep local cleanup 2025-11-23 22:06:08 -08:00
Steve Yegge
06864a7813 Merge remote changes, keeping local cleanup (removed 628 issues) 2025-11-23 22:05:38 -08:00
Steve Yegge
e9b87f0899 bd sync: 2025-11-23 22:05:34 2025-11-23 22:05:34 -08:00
Steve Yegge
0e6ed91f2e Add explicit cache validation tests for blocked_issues_cache
Implements bd-13gm with 8 comprehensive tests that verify cache
invalidation behavior:

- Cache updates when blocking dependencies added/removed
- Cache updates when issue status changes (close/reopen)
- Cache consistency across multiple operations
- Parent-child transitive blocking propagates to cache
- Related dependencies don't affect cache
- Deep hierarchies handled correctly
- Multiple blockers handled correctly

Tests directly query blocked_issues_cache table to verify implementation
correctness, complementing existing behavior tests in ready_test.go.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 22:05:23 -08:00
Steve Yegge
31d9de0ac4 bd sync: 2025-11-23 22:04:05 2025-11-23 22:04:05 -08:00
Steve Yegge
10d3a1cba8 Merge remote changes and close bd-b0c8 research task 2025-11-23 22:03:44 -08:00
Steve Yegge
f5898528ee bd sync: 2025-11-23 22:02:40 2025-11-23 22:02:40 -08:00
Steve Yegge
ebf6e36b31 bd sync: apply DB changes after import 2025-11-23 21:59:16 -08:00
Steve Yegge
a930fa35ac Refactor AGENTS.md: condense event-driven daemon section
Move detailed event-driven daemon documentation to docs/DAEMON.md.
Keep only brief mention in AGENTS.md with reference to full docs.
Reduces duplication and improves documentation organization.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 21:58:51 -08:00
Steve Yegge
62b5f5357f Add comprehensive error handling guidelines documentation 2025-11-23 21:54:08 -08:00
Steve Yegge
82b64e205c bd sync: 2025-11-23 21:54:01 2025-11-23 21:54:01 -08:00
Steve Yegge
bddc4a3d21 bd sync: apply DB changes after import 2025-11-23 21:52:14 -08:00
Steve Yegge
9e6a1b8af8 Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 21:51:58 -08:00
Steve Yegge
4c483ae112 bd sync: 2025-11-23 21:51:52 2025-11-23 21:51:52 -08:00
Steve Yegge
7da626ca94 bd sync: apply DB changes after import 2025-11-23 21:49:07 -08:00
Steve Yegge
3804aa616f Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 21:49:07 -08:00
Steve Yegge
bcf7650c2c bd sync: 2025-11-23 21:49:06 2025-11-23 21:49:06 -08:00
Steve Yegge
3ef55ffc28 Merge branch 'main' of https://github.com/steveyegge/beads 2025-11-23 21:48:58 -08:00
Steve Yegge
3afafeff6f bd sync: 2025-11-23 21:48:58 2025-11-23 21:48:58 -08:00
Steve Yegge
1c715bc61c Fix bd-fwul: Add executable bit validation for git hooks
Added validation to hooksInstalled() to check if hook files have the
executable bit set. Previously we only checked for file existence and
marker strings, which meant hooks could appear installed but fail
silently if they weren't executable.

The fix adds Mode().Perm() & 0111 checks for both pre-commit and
post-merge hooks after verifying their content.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 21:48:54 -08:00
Steve Yegge
cf84eb85e1 removed artifact 2025-11-23 21:46:38 -08:00
Steve Yegge
5c7b1fa2d8 bd sync: apply DB changes after import 2025-11-23 21:46:22 -08:00