obsidian
2f893f0ad3
CI / Check for .beads changes (push) Has been cancelled
CI / Check embedded formulas (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Coverage Report (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Integration Tests (push) Has been cancelled
Windows CI / Windows Build and Unit Tests (push) Has been cancelled
perf(rpc): use bd daemon protocol to reduce subprocess overhead
...
Replace bd subprocess calls in gt commands with daemon RPC when available.
Each subprocess call has ~40ms overhead for Go binary startup, so using
the daemon's Unix socket protocol significantly reduces latency.
Changes:
- Add RPC client to beads package (beads_rpc.go)
- Modify List/Show/Update/Close methods to try RPC first, fall back to subprocess
- Replace runBdPrime() with direct content output (avoids bd subprocess)
- Replace checkPendingEscalations() to use beads.List() with RPC
- Replace hook.go bd subprocess calls with beads package methods
The RPC client:
- Connects to daemon via Unix socket at .beads/bd.sock
- Uses JSON-based request/response protocol (same as bd daemon)
- Falls back gracefully to subprocess if daemon unavailable
- Lazy-initializes connection on first use
Performance improvement targets (from bd-2zd.2):
- gt prime < 100ms (was 5.8s with subprocess chain)
- gt hook < 100ms (was ~323ms)
Closes: bd-2zd.2
2026-01-24 17:13:07 -08:00
..
2026-01-20 14:17:35 -08:00
2026-01-22 18:27:51 -08:00
2026-01-21 22:40:10 -08:00
2026-01-11 23:03:47 -08:00
2026-01-12 01:45:26 -08:00
2026-01-24 09:39:15 -08:00
2026-01-13 13:14:47 -08:00
2026-01-20 20:45:58 -08:00
2026-01-17 03:19:08 -08:00
2026-01-15 17:44:40 -08:00
2026-01-23 13:43:59 -08:00
2026-01-21 18:04:58 -08:00
2026-01-13 19:34:29 -08:00
2026-01-13 19:34:29 -08:00
2026-01-13 19:34:29 -08:00
2026-01-23 13:43:58 -08:00
2026-01-20 20:46:43 -08:00
2026-01-17 02:49:17 -08:00
2026-01-20 12:58:01 -08:00
2026-01-23 15:42:01 -08:00
2026-01-16 15:27:59 -08:00
2026-01-17 03:49:18 -08:00
2026-01-09 02:22:36 +13:00
2026-01-09 02:22:20 +13:00
2026-01-20 20:45:58 -08:00
2026-01-12 23:07:49 -08:00
2026-01-17 02:55:39 -08:00
2026-01-20 20:45:58 -08:00
2026-01-08 20:25:01 -08:00
2026-01-20 20:20:49 -08:00
2026-01-22 11:44:45 -08:00
2026-01-20 19:51:37 -08:00
2026-01-23 15:33:33 -08:00
2026-01-10 22:56:33 -08:00
2026-01-20 23:20:50 +01:00
2026-01-08 20:25:01 -08:00
2026-01-16 11:05:59 -08:00
2026-01-16 11:05:59 -08:00
2026-01-12 02:45:03 -08:00
2026-01-12 02:31:06 -08:00
2026-01-22 18:27:51 -08:00
2026-01-16 12:33:51 -08:00
2026-01-21 22:48:06 +07:00
2026-01-23 16:04:33 -08:00
2026-01-21 18:05:00 -08:00
2026-01-24 16:00:27 -08:00
2026-01-09 22:46:06 -08:00
2026-01-24 17:13:07 -08:00
2026-01-23 13:43:57 -08:00
2026-01-21 17:40:05 -08:00
2026-01-23 13:43:58 -08:00
2026-01-23 13:43:58 -08:00
2026-01-21 23:05:00 -08:00
2026-01-09 13:30:11 -08:00
2026-01-20 14:17:35 -08:00
2026-01-21 22:48:06 +07:00
2026-01-09 23:01:55 -08:00
2026-01-17 09:49:53 -08:00
2026-01-09 23:01:55 -08:00
2026-01-14 21:18:20 -08:00
2026-01-14 21:18:20 -08:00
2026-01-21 21:53:18 -08:00
2026-01-22 11:44:45 -08:00
2026-01-21 21:55:07 -08:00
2026-01-14 21:29:37 -08:00
2026-01-09 23:01:55 -08:00
2026-01-14 21:19:54 -08:00
2026-01-14 21:25:11 -08:00
2026-01-21 21:19:04 -08:00
2026-01-21 21:55:07 -08:00
2026-01-21 21:09:30 -08:00
2026-01-20 14:10:26 -08:00
2026-01-23 13:43:57 -08:00
2026-01-17 02:11:12 -08:00
2026-01-09 22:10:09 -08:00
2026-01-23 15:33:33 -08:00
2026-01-09 00:41:35 -08:00
2026-01-20 19:31:26 -08:00
2026-01-16 15:23:28 -08:00
2026-01-16 15:27:38 -08:00
2026-01-20 19:31:26 -08:00
2026-01-09 00:41:35 -08:00
2026-01-17 01:40:02 -08:00
2026-01-17 02:55:39 -08:00
2026-01-21 18:04:00 -08:00
2026-01-20 19:31:17 -08:00
2026-01-17 03:47:18 -08:00
2026-01-17 03:41:18 -08:00
2026-01-24 10:13:31 -08:00
2026-01-08 22:10:40 +13:00
2026-01-16 12:33:51 -08:00
2026-01-21 18:04:55 -08:00
2026-01-13 13:37:00 -08:00
2026-01-23 13:43:59 -08:00
2026-01-22 15:38:39 -08:00
2026-01-22 19:58:35 -08:00
2026-01-10 18:28:14 -08:00
2026-01-10 18:28:14 -08:00
2026-01-17 09:46:25 -08:00
2026-01-24 17:13:07 -08:00
2026-01-13 20:59:15 -08:00
2026-01-13 20:59:15 -08:00
2026-01-16 15:38:08 -08:00
2026-01-24 15:28:13 -08:00
2026-01-13 13:14:47 -08:00
2026-01-20 20:00:56 -08:00
2026-01-16 15:27:38 -08:00
2026-01-21 19:50:38 -08:00
2026-01-23 13:43:57 -08:00
2026-01-16 15:23:35 -08:00
2026-01-12 17:44:37 -08:00
2026-01-21 10:31:16 -08:00
2026-01-21 10:31:16 -08:00
2026-01-20 20:19:05 -08:00
2026-01-09 21:52:09 -08:00
2026-01-20 12:57:46 -08:00
2026-01-11 18:06:09 -08:00
2026-01-12 01:45:26 -08:00
2026-01-23 13:43:57 -08:00
2026-01-21 19:30:49 -08:00
2026-01-08 22:10:40 +13:00
2026-01-08 20:25:01 -08:00
2026-01-15 19:19:13 -08:00
2026-01-23 13:43:57 -08:00
2026-01-22 19:46:14 -08:00
2026-01-22 19:46:14 -08:00
2026-01-12 03:11:59 -08:00
2026-01-20 14:17:35 -08:00
2026-01-21 20:52:26 -08:00
2026-01-12 03:11:59 -08:00
2026-01-20 14:17:35 -08:00
2026-01-22 19:46:14 -08:00
2026-01-12 03:10:58 -08:00
2026-01-20 22:34:37 -08:00
2026-01-20 22:34:37 -08:00
2026-01-23 13:43:58 -08:00
2026-01-22 18:27:51 -08:00
2026-01-23 15:56:58 -08:00
2026-01-13 13:37:00 -08:00
2026-01-20 14:17:35 -08:00
2026-01-08 12:36:54 -05:00
2026-01-19 11:21:54 -08:00
2026-01-19 11:21:54 -08:00
2026-01-20 14:17:35 -08:00
2026-01-09 22:46:06 -08:00
2026-01-13 19:34:29 -08:00
2026-01-08 20:25:01 -08:00
2026-01-11 22:23:21 -08:00
2026-01-13 13:46:50 -08:00
2026-01-17 00:50:46 -08:00
2026-01-21 23:05:00 -08:00
2026-01-09 21:56:53 -08:00
2026-01-20 20:45:58 -08:00