Commit Graph

588 Commits

Author SHA1 Message Date
Steve Yegge
b2b0373d08 bd sync: 2025-10-31 14:36:12 2025-10-31 14:36:12 -07:00
Steve Yegge
b9b1b162d1 bd sync: 2025-10-31 14:24:43 2025-10-31 14:24:43 -07:00
Steve Yegge
6dc768797e Update issues: close bd-a5e2bd80 epic and children 2025-10-31 13:51:22 -07:00
Steve Yegge
415f2e8206 bd sync: 2025-10-31 12:32:54 2025-10-31 12:32:54 -07:00
Steve Yegge
0c908f1fd5 bd sync: 2025-10-31 12:22:35 2025-10-31 12:22:35 -07:00
Steve Yegge
75b8e23c14 bd sync: apply rename detection from import 2025-10-31 12:00:44 -07:00
Steve Yegge
f0858bbf38 bd sync: 2025-10-31 12:00:43 2025-10-31 12:00:43 -07:00
Steve Yegge
1e99b251a6 bd sync: 2025-10-31 12:00:10 2025-10-31 12:00:10 -07:00
Steve Yegge
053edadf14 bd sync: apply rename detection from import 2025-10-31 10:43:25 -07:00
Steve Yegge
042e4a1799 bd sync: 2025-10-31 10:43:24 2025-10-31 10:43:24 -07:00
Steve Yegge
95b424035c bd sync: 2025-10-31 01:58:36 2025-10-31 01:58:36 -07:00
Steve Yegge
9225114c0b Fix tests after --resolve-collisions removal
Remove obsolete test file and update remaining tests to not use the
removed --resolve-collisions flag. Hash-based IDs make collision
resolution unnecessary.

Changes:
- Delete internal/rpc/server_autoimport_test.go (obsolete)
- Remove --resolve-collisions from beads_nway_test.go
- Remove --resolve-collisions from beads_twoclone_test.go
- Remove --resolve-collisions from cmd/bd/sync.go

All tests now pass.
2025-10-31 01:25:05 -07:00
Steve Yegge
0725c33fcc Remove vestigial --resolve-collisions flag
Hash-based IDs make collision resolution unnecessary. The flag was
already non-functional (handleCollisions returns error on collision
regardless of flag value).

Removed:
- --resolve-collisions flag from bd import
- ResolveCollisions field from ImportOptions and importer.Options
- All references in daemon, auto-import, and tests
- Updated error messages to reflect hash IDs don't collide

All import tests pass.

Amp-Thread-ID: https://ampcode.com/threads/T-47dfa0cc-bb71-4467-ac86-f0966a7c5d58
Co-authored-by: Amp <amp@ampcode.com>
2025-10-31 01:07:42 -07:00
Steve Yegge
b0f6630d0d bd sync: 2025-10-31 00:48:50 2025-10-31 00:48:50 -07:00
Steve Yegge
4e9f6e131c bd sync: 2025-10-31 00:19:27 2025-10-31 00:19:27 -07:00
Steve Yegge
613f0dfff4 removed obsolete/wrong database file 2025-10-30 22:47:49 -07:00
Steve Yegge
892c22145f bd sync: 2025-10-30 22:30:33 2025-10-30 22:30:33 -07:00
Steve Yegge
4a21005a31 bd sync: 2025-10-30 22:24:33 2025-10-30 22:24:33 -07:00
Steve Yegge
e441a5c04c bd sync: 2025-10-30 22:17:47 2025-10-30 22:17:47 -07:00
Steve Yegge
016fc155f3 bd sync: 2025-10-30 21:58:53 2025-10-30 21:58:53 -07:00
Steve Yegge
0f7ed1bdb4 bd sync: 2025-10-30 21:51:32 2025-10-30 21:51:32 -07:00
Steve Yegge
fb48d681a1 bd sync: 2025-10-30 21:40:44 2025-10-30 21:40:44 -07:00
Steve Yegge
b0de8d54c2 bd sync: 2025-10-30 20:24:57 2025-10-30 20:24:57 -07:00
Steve Yegge
ca81df93f0 bd sync: 2025-10-30 20:02:40 2025-10-30 20:02:40 -07:00
Steve Yegge
71fc67f4e3 bd sync: 2025-10-30 19:57:06 2025-10-30 19:57:06 -07:00
Steve Yegge
b8c5ca8330 bd sync: 2025-10-30 19:56:03 2025-10-30 19:56:03 -07:00
Steve Yegge
9ab3ffe6f9 bd sync: 2025-10-30 19:53:13 2025-10-30 19:53:13 -07:00
Steve Yegge
11c26d5af8 Add substring ID matching for all bd commands
- Enhanced ResolvePartialID to handle:
  - Bare hashes: 07b8c8 → bd-07b8c8
  - Prefix without hyphen: bd07b8c8 → bd-07b8c8
  - Full IDs: bd-07b8c8 (unchanged)
  - Substring matching: 07b → finds bd-07b8c8

- Added RPC support:
  - New OpResolveID operation
  - handleResolveID server handler
  - ResolveID client method

- Updated all commands to resolve IDs:
  - show, update, close, reopen
  - dep (add, remove, tree)
  - label (add, remove, list)

- Works in both daemon and direct modes

Fixes bd-0591c3
2025-10-30 19:20:50 -07:00
Steve Yegge
185c734d75 bd sync: 2025-10-30 19:14:20 2025-10-30 19:14:20 -07:00
Steve Yegge
13fcccb14d bd sync: 2025-10-30 18:37:06 2025-10-30 18:37:06 -07:00
Steve Yegge
cd7bdb301d Generate 6-char hash IDs with progressive 7/8-char fallback on collision (bd-7c87cf24)
- Changed generateHashID to start with 6 chars (3 bytes), expand to 7/8 on collision
- Updated both CreateIssue and CreateIssues (batch) to use progressive length fallback
- Updated tests to accept 9-11 char IDs (bd- + 6-8 hex chars)
- All new issues now generate with shorter, more readable IDs
- Existing 8-char IDs preserved (no migration needed)

Amp-Thread-ID: https://ampcode.com/threads/T-8a6058af-9f42-4bff-be02-8c8bce41eeb5
Co-authored-by: Amp <amp@ampcode.com>
2025-10-30 18:16:24 -07:00
Steve Yegge
ba4ad179e0 bd sync: 2025-10-30 17:52:49 2025-10-30 17:52:49 -07:00
Steve Yegge
91cc129b47 bd sync: 2025-10-30 17:47:18 2025-10-30 17:47:18 -07:00
Steve Yegge
78133d974b bd sync: hash ID migration 2025-10-30 17:16:43 -07:00
Steve Yegge
c48313162b bd sync: 2025-10-30 17:16:37 2025-10-30 17:16:37 -07:00
Steve Yegge
a5f5fcbee5 bd sync: 2025-10-30 17:00:15 2025-10-30 17:00:15 -07:00
Steve Yegge
01e243e3a6 Merge feature/hash-ids into main
Amp-Thread-ID: https://ampcode.com/threads/T-ffbe22bb-92f1-4763-aa5d-1bb84697c866
Co-authored-by: Amp <amp@ampcode.com>
2025-10-30 17:00:11 -07:00
Steve Yegge
1fbfe58ba7 Make hash IDs opt-in via id_mode config (bd-5404)
- Add id_mode config (sequential|hash), defaults to sequential
- Update CreateIssue/CreateIssues to check id_mode and generate appropriate IDs
- Implement lazy counter initialization from existing issues
- Update migrate --to-hash-ids to set id_mode=hash after migration
- Fix hash ID tests to set id_mode=hash
- Fix renumber test to use explicit IDs
- All 183 test packages pass

This makes hash IDs backward-compatible opt-in rather than forced default.
2025-10-30 16:50:38 -07:00
Steve Yegge
0858bdb7ed Implement hash ID migration tool (bd-173)
- Add migrate-hash-ids command for converting sequential to hash-based IDs
- Integrate into bd migrate --to-hash-ids for transparent user experience
- Generate hash IDs for top-level issues, hierarchical IDs for children
- Update all references: dependencies, comments, text mentions
- Auto-backup database before migration
- Comprehensive tests covering migration scenarios
- Update AGENTS.md with migration documentation

Amp-Thread-ID: https://ampcode.com/threads/T-492f81db-5b0e-437a-b54d-ae4525dd7827
Co-authored-by: Amp <amp@ampcode.com>
2025-10-30 16:28:13 -07:00
Steve Yegge
d348d90cbe bd sync: 2025-10-30 16:23:24 2025-10-30 16:23:24 -07:00
Steve Yegge
ccb4047e03 bd sync: 2025-10-30 15:42:07 2025-10-30 15:42:07 -07:00
Steve Yegge
95fdce967c bd sync: 2025-10-30 15:41:49 2025-10-30 15:41:49 -07:00
Steve Yegge
9876d825a6 bd sync: 2025-10-30 15:21:53 2025-10-30 15:21:53 -07:00
Steve Yegge
3ed2aa07cb Implement hierarchical child ID generation (bd-171)
- Add GetNextChildID to storage interface for generating child IDs
- Implement in SQLiteStorage with atomic counter using child_counters table
- Implement in MemoryStorage with in-memory counter
- Add --parent flag to bd create command
- Support hierarchical IDs (bd-a3f8e9.1, bd-a3f8e9.1.5) in CreateIssue
- Validate parent exists when creating hierarchical issues
- Enforce max depth of 3 levels
- Update ID validation to accept hierarchical IDs with dots
- Add comprehensive tests for child ID generation
- Manual testing confirms: sequential children, nested hierarchies, depth enforcement
2025-10-30 14:42:08 -07:00
Steve Yegge
6c31329ef8 bd sync: 2025-10-30 14:27:40 2025-10-30 14:27:40 -07:00
Steve Yegge
1940357482 bd sync: 2025-10-30 14:27:33 2025-10-30 14:27:33 -07:00
Steve Yegge
edd39ef4a3 Remove polluted issues.jsonl (beads.jsonl is the real database)
Amp-Thread-ID: https://ampcode.com/threads/T-f6b7244f-58ec-4b8b-b54d-fe8b6d59f398
Co-authored-by: Amp <amp@ampcode.com>
2025-10-30 14:27:23 -07:00
Steve Yegge
bbe36b6527 bd sync: 2025-10-30 14:24:54 2025-10-30 14:24:54 -07:00
Steve Yegge
e2818b4075 bd sync: 2025-10-30 14:17:17 2025-10-30 14:17:17 -07:00
Steve Yegge
7a1ad14509 bd sync: 2025-10-30 14:12:20 2025-10-30 14:12:20 -07:00