Files
AGENTS/.pi/gsd/workflows/cleanup.md
2026-04-24 20:00:33 +02:00

3.7 KiB

Context (pre-injected)

State:

Archive accumulated phase directories from completed milestones into .planning/milestones/v{X.Y}-phases/. Identifies which phases belong to each completed milestone, shows a dry-run summary, and moves directories on confirmation.

<required_reading>

  1. .planning/MILESTONES.md
  2. .planning/milestones/ directory listing
  3. .planning/phases/ directory listing

</required_reading>

Read .planning/MILESTONES.md to identify completed milestones and their versions.

cat .planning/MILESTONES.md

Extract each milestone version (e.g., v1.0, v1.1, v2.0).

Check which milestone archive dirs already exist:

ls -d .planning/milestones/v*-phases 2>/dev/null || true

Filter to milestones that do NOT already have a -phases archive directory.

If all milestones already have phase archives:

All completed milestones already have phase directories archived. Nothing to clean up.

Stop here.

For each completed milestone without a -phases archive, read the archived ROADMAP snapshot to determine which phases belong to it:

cat .planning/milestones/v{X.Y}-ROADMAP.md

Extract phase numbers and names from the archived roadmap (e.g., Phase 1: Foundation, Phase 2: Auth).

Check which of those phase directories still exist in .planning/phases/:

ls -d .planning/phases/*/ 2>/dev/null || true

Match phase directories to milestone membership. Only include directories that still exist in .planning/phases/.

Present a dry-run summary for each milestone:

## Cleanup Summary

### v{X.Y} - {Milestone Name}
These phase directories will be archived:
- 01-foundation/
- 02-auth/
- 03-core-features/

Destination: .planning/milestones/v{X.Y}-phases/

### v{X.Z} - {Milestone Name}
These phase directories will be archived:
- 04-security/
- 05-hardening/

Destination: .planning/milestones/v{X.Z}-phases/

If no phase directories remain to archive (all already moved or deleted):

No phase directories found to archive. Phases may have been removed or archived previously.

Stop here.

AskUserQuestion: "Proceed with archiving?" with options: "Yes - archive listed phases" | "Cancel"

If "Cancel": Stop.

For each milestone, move phase directories:

mkdir -p .planning/milestones/v{X.Y}-phases

For each phase directory belonging to this milestone:

mv .planning/phases/{dir} .planning/milestones/v{X.Y}-phases/

Repeat for all milestones in the cleanup set.

Commit the changes:

pi-gsd-tools commit "chore: archive phase directories from completed milestones" --files .planning/milestones/ .planning/phases/
Archived:
{For each milestone}
- v{X.Y}: {N} phase directories → .planning/milestones/v{X.Y}-phases/

.planning/phases/ cleaned up.

<success_criteria>

  • All completed milestones without existing phase archives identified
  • Phase membership determined from archived ROADMAP snapshots
  • Dry-run summary shown and user confirmed
  • Phase directories moved to .planning/milestones/v{X.Y}-phases/
  • Changes committed

</success_criteria>