Pre-surgery audit findings: - 1.1GB repo size is .git history bloat (working files only ~90MB) - Large binaries (MP4s, PNGs) baked into history - 8 shell scripts at root should move to /scripts - Consultations fragmented across 3 locations - SSH key rotation planned for when Claude gets server access Verdict: Foundation solid, proceed with Task #99 Cleanup deferred until after multi-lineage split validated Chronicler: #71
101 lines
3.2 KiB
Markdown
101 lines
3.2 KiB
Markdown
---
|
|
task_number: 101
|
|
title: Git Repository Health & Cleanup
|
|
status: Planned
|
|
priority: P3-Low
|
|
is_blocker: false
|
|
owner: Michael
|
|
tags:
|
|
- infrastructure
|
|
- maintenance
|
|
- git
|
|
estimated_hours: 4
|
|
---
|
|
|
|
# Task #101: Git Repository Health & Cleanup
|
|
|
|
## Overview
|
|
|
|
Pre-surgery audit of firefrost-operations-manual revealed organizational issues and a bloated .git folder. This task tracks cleanup work to be done AFTER Task #99 (Multi-Lineage Architecture) is validated.
|
|
|
|
## The 1.1GB Problem
|
|
|
|
**Current state:**
|
|
- Total repo size: 1.1GB
|
|
- Working files: ~90MB
|
|
- .git folder: **1.1GB** (Git history bloat)
|
|
|
|
**Cause:** Large binary files (MP4s, PNGs) committed historically are baked into Git history forever.
|
|
|
|
**Top offenders found:**
|
|
```
|
|
14M docs/branding/audio/jacks-theme-the-world-should-worship-me.mp4
|
|
11M docs/branding/audio/jacks-theme-walking-on-a-yacht.mp4
|
|
5.8M docs/branding/trinity-final.png
|
|
5.3M docs/branding/youtube-banner-minecraft-2560x1440.png
|
|
5.1M docs/branding/youtube-banner-2560x1440.png
|
|
```
|
|
|
|
## Issues Identified
|
|
|
|
| Issue | Severity | Location |
|
|
|-------|----------|----------|
|
|
| .git history bloat (1.1GB) | Medium | Repository-wide |
|
|
| 8 shell scripts at root | Medium | Repo root |
|
|
| SSH key in repo | Medium | `Firefrost_key.ppk` (rotate when Claude gets server access) |
|
|
| Consultations in 3 places | Medium | `docs/consultations/`, `docs/planning/gemini-consultations/`, `docs/reference/gemini-consultations/` |
|
|
| 37+ SESSION/HANDOFF files scattered | Medium | Various locations |
|
|
| Dual task system undocumented | Low | `docs/tasks-index/` vs `docs/tasks/` |
|
|
|
|
## Cleanup Options for .git Bloat
|
|
|
|
### Option A: Live With It (Recommended for now)
|
|
- Doesn't affect daily work or Claude context windows
|
|
- Only impacts clone times
|
|
- Lowest risk
|
|
|
|
### Option B: git filter-repo
|
|
- Rewrite history to remove large binaries
|
|
- DESTRUCTIVE — requires all clones to be re-fetched
|
|
- Breaks existing references
|
|
|
|
### Option C: Fresh Start
|
|
- Archive current repo
|
|
- Create new repo with clean history
|
|
- Nuclear option — last resort
|
|
|
|
## Implementation Steps
|
|
|
|
**Phase 1: File Organization (After Task #99 validated)**
|
|
- [ ] Move root shell scripts to `/scripts` or `/automation`
|
|
- [ ] Consolidate consultations to single `docs/consultations/` location
|
|
- [ ] Delete or archive deprecated SESSION/HANDOFF files
|
|
- [ ] Document dual task system in DOCUMENT-INDEX.md
|
|
|
|
**Phase 2: SSH Key Rotation**
|
|
- [ ] Generate new SSH key pair
|
|
- [ ] Replace public key on all servers
|
|
- [ ] Delete `Firefrost_key.ppk` from repo
|
|
- [ ] Add `*.ppk` to .gitignore
|
|
|
|
**Phase 3: Git History Cleanup (Optional/Future)**
|
|
- [ ] Evaluate if 1.1GB is causing real problems
|
|
- [ ] If yes, use git filter-repo to remove large binaries from history
|
|
- [ ] Coordinate with all users to re-clone
|
|
|
|
## Dependencies
|
|
|
|
- **Task #99** must be validated first — don't clean up during surgery
|
|
- SSH key rotation requires Claude server access or Michael manual work
|
|
|
|
## Source
|
|
|
|
- Gemini Consultation: `docs/consultations/gemini-git-health-audit-2026-04-08.md`
|
|
- Chronicler #71 audit session
|
|
|
|
## Notes
|
|
|
|
- The 1.1GB is in .git history, NOT active files
|
|
- Meg and Holly's Claudes read files, not Git history — non-blocker for multi-lineage
|
|
- "Secure, Split, then Sweep" — cleanup comes AFTER the split is validated
|