2026-07-21 Media Stack Repo and Claude History Consolidation

What I set out to do

Figure out which media-stack checkout is the real one after the repo moved around over the months, and whether old Claude Code chat history was stranded.

What I actually did

Established that ~/projects/github.com/achhina/media-stack is the canonical repo. The old locations ~/projects/media-stack and ~/repos/media-stack no longer exist, ~/worktrees/media-stack was an empty leftover, and ~/.local/share/media-stack is the home-manager deployDir (the running containers all report it as their compose working dir), not a repo.

~/docker/media-stack turned out to be a redundant second clone: same commit as origin/main, clean, branches pushed, no .env/.secrets. Its only unpushed content was a June stash containing uv.lock churn. ~/docker/media-stack-preNix-backup held a 613 MB snapshot of live service config/databases from the July 14 Nix cutover; with the Nix deployment stable for a week, deleted the whole ~/docker dir (clone, backup, and all).

Claude Code keys chat history to the working directory, so 24 prior transcripts (Jan-Jul 2026) were stranded under ~/.claude/projects/ dirs for ~/docker/media-stack and four old worktree paths. Moved all of them into the current project’s history dir (merging one session that was split across two dirs), removed the emptied dirs and a stale sessions-index.json, and ported the still-valid entries from the old project memory (LinuxServer Alpine images, Sonarr/Radarr maxSize semantics, Bazarr failedAttempts reset, Bazarr seeded-config verification) into per-fact memory files, dropping pre-Nix cruft (mstack, .j2 templates).

What was striking

The chat-history-follows-directory-path behavior means a repo move silently orphans months of session history; nothing surfaces this unless you go looking.

2026-07-14 Media Stack Nix Cutover, 2026-06-29 Media Stack Single-Command Deploy