
pingqiuandClaude Opus 4.6
d5ecf471fe
feat: real blockvol integration — StatusSnapshot + v2bridge reader + contract interfaces (Phase 07 P1)
Real blockvol integration:
- BlockVol.StatusSnapshot() reads actual fields:
WALHeadLSN ← nextLSN-1, WALTailLSN ← wal.Tail(),
CommittedLSN ← flusher.CheckpointLSN(),
CheckpointLSN ← super.WALCheckpointLSN,
CheckpointTrusted ← super.Validate()==nil
weed/storage/blockvol/v2bridge/:
- Reader wraps real BlockVol, implements ReadState() → BlockVolState
- Lives in weed/ module (can import blockvol directly)
sw-block/bridge/blockvol/ contract interfaces:
- BlockVolReader: ReadState() (weed-side implements)
- BlockVolPinner: HoldWALRetention/HoldSnapshot/HoldFullBase → release func
- BlockVolExecutor: StreamWALEntries/TransferSnapshot/TransferFullBase/TruncateWAL
- StorageAdapter refactored to consume interfaces (not push-based)
- PushStorageAdapter for tests
Handoff boundary (E5):
- sw-block/ defines contracts, weed/ implements them
- sw-block/ does NOT import weed/
- No cross-module circular dependency
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 18:17:59 -07:00
..
2026-03-10 18:19:31 -07:00
2026-03-23 02:12:25 -07:00
2026-03-06 01:06:51 -08:00
2026-03-11 17:35:43 -07:00
2026-03-13 10:56:18 -07:00
2026-03-23 02:12:42 -07:00
2026-03-10 15:09:41 -07:00
2026-03-09 17:44:01 -07:00
2026-03-02 09:33:45 -08:00
2026-03-05 00:52:05 -08:00
2026-03-13 17:21:17 -07:00
2026-03-30 18:17:59 -07:00
2026-03-04 11:01:08 -08:00
2026-03-04 11:01:08 -08:00
2026-03-26 16:46:31 -07:00
2026-03-11 17:35:43 -07:00
2026-03-02 09:34:00 -08:00
2026-03-26 16:46:31 -07:00
2026-03-24 00:19:25 -07:00
2026-03-25 15:38:06 -07:00
2026-03-30 18:17:59 -07:00
2026-03-01 10:43:34 -08:00
2026-03-09 17:44:01 -07:00
2026-03-10 16:02:30 -07:00
2026-03-01 10:43:34 -08:00
2026-03-01 21:26:39 -08:00
2026-03-25 15:38:06 -07:00
2026-03-25 02:39:32 -07:00
2026-03-06 01:06:51 -08:00
2026-03-06 01:06:51 -08:00
2026-03-12 19:30:59 -07:00
2026-03-01 16:00:06 -08:00
2026-03-12 15:06:48 -07:00
2026-03-24 00:19:25 -07:00
2026-03-26 17:22:55 -07:00
2026-03-01 10:43:34 -08:00
2026-03-06 00:05:17 -08:00
2026-03-06 00:05:17 -08:00
2026-03-06 00:05:17 -08:00
2026-02-28 09:32:01 -08:00
2026-02-28 09:32:01 -08:00
2026-03-07 21:30:14 -08:00
2026-03-01 16:00:06 -08:00
2026-03-04 11:01:08 -08:00
2026-03-08 23:02:59 -07:00
2026-03-25 01:38:55 -07:00
2026-03-26 19:16:45 -07:00
2026-03-22 14:44:24 -07:00
2026-03-22 14:44:24 -07:00
2026-03-07 21:30:14 -08:00
2026-03-12 15:06:48 -07:00
2026-03-12 15:06:48 -07:00
2026-03-01 16:00:06 -08:00
2026-03-02 09:33:45 -08:00
2026-03-25 15:38:06 -07:00
2026-03-09 17:44:01 -07:00
2026-03-02 09:33:45 -08:00
2026-03-02 09:34:35 -08:00
2026-03-25 15:38:06 -07:00
2026-03-03 17:05:43 -08:00
2026-03-13 10:56:18 -07:00
2026-03-13 00:15:27 -07:00
2026-03-03 17:05:43 -08:00
2026-03-12 15:06:48 -07:00
2026-03-11 17:35:44 -07:00
2026-03-13 17:21:17 -07:00
2026-03-12 19:30:59 -07:00
2026-03-26 17:22:55 -07:00
2026-03-26 17:22:55 -07:00
2026-03-24 00:19:25 -07:00
2026-03-02 09:33:45 -08:00
2026-03-25 15:38:06 -07:00
2026-03-25 15:54:23 -07:00
2026-03-25 01:52:35 -07:00
2026-03-03 01:43:42 -08:00
2026-03-05 00:52:05 -08:00
2026-03-06 00:05:17 -08:00
2026-03-06 00:05:17 -08:00
2026-03-25 02:39:32 -07:00
2026-03-26 16:46:31 -07:00
2026-03-13 10:56:18 -07:00
2026-03-23 20:40:41 -07:00
2026-03-03 00:53:33 -08:00
2026-03-03 00:53:33 -08:00
2026-03-11 21:52:00 -07:00
2026-03-11 21:52:00 -07:00
2026-03-06 01:06:51 -08:00
2026-03-12 15:06:48 -07:00
2026-03-25 15:38:06 -07:00
2026-03-26 16:54:05 -07:00
2026-03-12 19:30:59 -07:00
2026-03-12 19:30:59 -07:00
2026-02-28 09:32:01 -08:00
2026-02-28 09:32:01 -08:00
2026-03-12 19:30:59 -07:00
2026-03-12 19:30:59 -07:00
2026-03-25 22:04:23 -07:00
2026-03-01 10:43:34 -08:00
2026-03-03 00:53:33 -08:00
2026-03-01 16:00:06 -08:00