ktg-plugin-marketplace/plugins/ultraplan-local/tests
Kjell Tore Guttormsen 3c0f0a0bab feat(ultraplan-local): cleanup util (Bug 4 dry-run/confirm/idempotent) [skip-docs]
Step 9 of v3.4.1 plan.

lib/util/cleanup.mjs (new):
- cleanupProject(projectDir, {dryRun, confirm}) reads
  .session-state.local.json via validateSessionState; refuses unless the
  parsed status is strictly equal to 'completed' (per risk-assessor
  Critical 2 — no soft-match on similar statuses).
- Default dryRun: true; refuses dryRun: false without explicit
  confirm: true (CLEANUP_REQUIRES_CONFIRM).
- Removes .session-state.local.json + NEXT-SESSION-PROMPT.local.md
  candidates; ENOENT counts as "already absent" so the function is
  idempotent.
- No CLI shim — invoked from /ultracontinue --cleanup via inline ESM
  (Step 10 wires this in).

tests/lib/cleanup.test.mjs (new):
- 7 cases: dry-run lists candidates without deleting; confirm-mode
  deletes both files; idempotent re-run signals CLEANUP_NO_STATE_FILE
  after fully cleaned; refuses on status: in_progress
  (CLEANUP_NOT_COMPLETED); refuses dryRun: false without confirm
  (CLEANUP_REQUIRES_CONFIRM); defaults to dry-run; missing state file
  returns CLEANUP_NO_STATE_FILE.

Internal scaffolding consumed by Step 10 (Phase 0.5 wire-up). User-facing
docs land with Step 14.

Tests 348 -> 355 (+7).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 17:41:06 +02:00
..
commands fix(ultraplan-local): Bug 3 — wire frontmatter consistency check into /ultracontinue Phase 1.5 2026-05-04 17:39:42 +02:00
fixtures test(ultraplan-local): add session-state fixtures 2026-05-01 20:21:50 +02:00
helpers chore(ultraplan-local): Spor 0 — foundation for v3.1.0 kvalitetsprogram 2026-05-01 05:27:44 +02:00
hooks test(ultraplan-local): add path-guard + bash-guard baseline hook tests (SC8 baseline) 2026-05-04 08:55:49 +02:00
lib feat(ultraplan-local): cleanup util (Bug 4 dry-run/confirm/idempotent) [skip-docs] 2026-05-04 17:41:06 +02:00
synthetic test(ultraplan-local): add plan-determinism + review-determinism synthetic fixtures (SC7 floor) 2026-05-04 08:46:39 +02:00
validators feat(ultraplan-local): next-session-prompt-validator (Bug 3 consistency check) [skip-docs] 2026-05-04 17:34:16 +02:00