e1b2809154
- Added shared `getReadToolPath` API to extract paired read `path` values for protection matchers. - Added `createPlanReadMatcher` and session wiring so compaction prune/shake keeps active plan reads intact. - Updated `todo-write` instructions to initialize every user-supplied plan item as an individual task. - Added compaction tests validating plan reads are protected from prune and shake while regular reads are still removable.