diff --git a/.project-docs/30-worklog/tasks/20260907-cleanup-stale-branches-4e7a9c1d.md b/.project-docs/30-worklog/tasks/20260907-cleanup-stale-branches-4e7a9c1d.md new file mode 100644 index 00000000..36987316 --- /dev/null +++ b/.project-docs/30-worklog/tasks/20260907-cleanup-stale-branches-4e7a9c1d.md @@ -0,0 +1,77 @@ +# Task: Clean up stale branches and worktrees + +## Identity + +- Task ID: 20260907-cleanup-stale-branches-4e7a9c1d +- Mode: Feature +- Branch: main +- Worktree: /Users/inmanx/Documents/makelore +- Base commit: 860c97d466a9657061b6680d3a546b466e925cf9 +- Owner: codex +- Status: Ready for integration + +## Scope + +- Inventory Makelore-linked worktrees and local branches under + `/Users/inmanx/Documents`, classify them against local `main`, and remove + completed or explicitly superseded local checkout history. +- Release completed task-registry ownership before removing its worktree. +- Keep the canonical `main` worktree, remote refs, historical user data, and + any unresolved unique product work outside the deletion set. + +## Intent And Constraints + +- Prefer `git worktree remove`, task-context release, and local branch deletion + over broad filesystem removal. +- Treat branches whose tips are ancestors of `main` as integrated. Treat the two + remaining Learning source branches as explicitly superseded by the integrated + Learning removal and current Code/Canvas/Robot product boundary. +- The five dirty historical worktrees contain only reviewed audit screenshots, + superseded concept task records, or an integrated Design QA report. The user's + explicit request to clean all expired history authorizes their irreversible + removal and the task registry's force-release recovery path. +- Do not push, delete remote branches, rewrite `main`, change product code, or + delete historical application user data. + +## Outcome + +- Released all nine stale task-registry owners. Four clean source tasks used the + normal release path; five expired audit/concept worktrees used the explicitly + authorized force-release path after their untracked contents were classified. +- Removed all 22 linked Makelore worktrees. The irreversible untracked deletion + set was six audit screenshots, one audit report, four superseded task records, + and one integrated `design-qa.md` report. +- Deleted 31 local `codex/*` branch refs whose tips were ancestors of `main`. + Deleted the remaining two local Learning refs after confirming that the full + Learning removal is already integrated and the older Player branch is + superseded by the current Code/Canvas/Robot product decision. +- Pruned worktree metadata and removed the now-empty repository `.worktrees` + container. The repository now has one worktree and one local branch: canonical + `main` at the original product head. +- Removed about 21.0 GiB of stale Makelore checkout data. Remote refs, remote + state, product source, historical application user data, and `origin/main` + were not changed. + +## Verification + +- `git worktree list --porcelain`: only + `/Users/inmanx/Documents/makelore` at + `860c97d466a9657061b6680d3a546b466e925cf9` on `main`. +- `git for-each-ref refs/heads`: only local `main` remains. +- `task_context.py status --json`: only this cleanup task owns a worktree. +- `task_context.py doctor`: passed; registry is consistent. +- `git fsck --connectivity-only`: exited successfully. Deleted tips remain only + as expected unreachable/reflog objects until normal Git garbage collection. +- Documents directory inventory: no Makelore task checkout directories remain. +- No product files changed, so product tests/builds were not run. + +## Follow-ups + +- None for this repository. Normal Git maintenance may reclaim unreachable + objects after its retention window; no aggressive prune was run so unrelated + recovery data was not discarded. + +## Promotion Candidates + +- None. This is local repository maintenance with no product or architecture + change.