WORK-073
ID:WORK-073Status:done

Add resolution validation checks to plan validate

Add three resolution-related checks to refrakt plan validate as specified in SPEC-027.

Priority:mediumComplexity:simpleMilestone:v0.9.0Source:SPEC-027
claude/file-naming-convention-LJdwR View source

Criteria completion

No incremental history — criteria tracking started on Apr 21.

Branches 2
claude/file-naming-convention-LJdwR current done
main donechangeset-release/main done
History 2
  1. bbbb94c
    Created (done)by bjornolofandersson
  2. f2b3512
    Content editedby Claude
    Add {ID}-{slug}.md filename convention + migrate filenames subcommand

Acceptance Criteria

  • Info-level check: work/bug items with status done/fixed but no ## Resolution section
  • Warning-level check: items with a ## Resolution section but status is not done/fixed
  • Warning-level check: files with multiple ## Resolution headings
  • All three checks appear in plan validate output with correct severity levels
  • Unit tests cover each check

Approach

Add a checkResolutions() function in runes/plan/src/commands/validate.ts. This depends on the scanner exposing resolution data (WORK-071), so the checks can use entity.resolution to determine presence. Alternatively, the validator could do its own raw-text scan of the file for ## Resolution headings to avoid depending on the scanner change — simpler but slightly redundant.

References

  • SPEC-027
  • WORK-071 — scanner resolution parsing (dependency)

Resolution

Completed: 2026-03-30

All three resolution checks implemented in runes/plan/src/commands/validate.ts with checkResolutions() function. Five unit tests cover each check type. All criteria verified met.