ID:WORK-086Status:donePriority:mediumComplexity:simpleMilestone:v1.0.0
Consolidate Plan Scanner with Shared Git Timestamp Utility
Summary
Refactor the plan scanner's getGitMtimes() in runes/plan/src/scanner.ts to use the shared git timestamp utility from packages/content/, eliminating duplicate git timestamp collection code. The plan-activity rune's mtime field will be sourced from the same data as $file.modified, ensuring consistency between the activity feed and individual rune attributes.
Acceptance Criteria
runes/plan/src/scanner.tsimports and uses the shared timestamp utility frompackages/content/instead of its owngetGitMtimes()implementation- The
getGitMtimes()function is removed fromscanner.ts - The
mtimefield in scanner results is derived from the shared utility'smodifiedvalue plan-activityrune displays the same modification dates as$file.modifiedon individual plan runes- No functional change in plan-activity output (dates match previous behavior)
- All existing plan scanner tests pass
Approach
- Add
@refrakt-md/contentas a dependency of@refrakt-md/plan(or extract the utility to a shared location both can import) - Replace
getGitMtimes()calls inscanner.tswith the shared utility - Map the shared utility's output format to the scanner's expected
mtimefield - Verify plan-activity output is unchanged
References
- SPEC-029 (Phase 4 — Plan Scanner Consolidation)
- WORK-083 (shared git timestamp utility — dependency)
runes/plan/src/scanner.ts— currentgetGitMtimes()implementation