The cross-repo git-hygiene audit (ROADMAP item 6) found the documented canonical .claude/ block was allow-by-default and would have un-ignored a password-bearing .claude/launch.json. Switch portability.md to a deny-by-default .claude/* + allow-list block and align the two retrofit summaries. Mark item 6 done with residuals; refresh Current state.
Retrofit playbook Step 0/Step 1 and the /retrofit guide now seed every new repo
with the canonical .gitignore block and the inbox-check line, and Part 5 documents
/capture, /triage, /roundup. portability.md and the portability-checker guide now
scope the relative-symlink mandate to in-repo (committed) symlinks, so global
~/.claude/* links are no longer flagged. ROADMAP adds a high-priority cross-repo
git-hygiene audit.
The playbook assumed one canonical chat per project. Add a merge prompt to
Step 1 for reconciling further conversations into the existing AGENTS.md/
ROADMAP.md without overwriting, and note in the retrofit guide that the
"files exist" skip can't mine other chats — that stays manual.
ROADMAP.md was named as a destination in two places but never created,
indexed, or read back. Add the convention to how-i-work.md, note it after
the README decision tree and in the loads-when table, give it a row in the
portability layer table, make the retrofit prompt create it, and have
handoff seed it and pull from it when Current state's next steps run thin.
Automate the per-project retrofit (git audit, verify, scope, commit,
validate) as a main-thread slash command that asks for the judgment
calls. Step 1 (mining a past chat) stays manual — the command surfaces
which conversation to mine and hands back, since it can't resume one.