From 3bd7e6d14db37af3e06d253300ca92b5f77f05a4 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Fri, 4 Sep 2026 17:55:07 +0000 Subject: [PATCH] docs(todos): the ownership gate lives in six sites, and the cleanup arms inline their own chain Co-Authored-By: Claude Fable 5.1 --- TODOS.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/TODOS.md b/TODOS.md index 35ce3eccf..c3fbb1478 100644 --- a/TODOS.md +++ b/TODOS.md @@ -10,8 +10,10 @@ Waves B–E2 of that plan are scheduled work, not TODOs; these are the items the reviews deliberately deferred, each with rationale: - **Shared `_gstack_owned_link` helper** — the ownership gate now exists in - four places (setup's `_claude_entry_is_ours` used by link_claude_skill_dirs, - cleanup_old_claude_symlinks, cleanup_prefixed_claude_symlinks; bin/gstack-relink + six places (setup's `_claude_entry_is_ours` / `_claude_entry_owned_strongly` + used by link_claude_skill_dirs and _install_alias_skill_md, while + cleanup_old_claude_symlinks and cleanup_prefixed_claude_symlinks inline their + own marker/cmp/banner chain and readlink `case`; bin/gstack-relink `_entry_is_ours`; bin/gstack-uninstall's per-entry loop). Extract one sourced helper so the destructive-path guard cannot drift, and while there: make the `.gstack-owned` marker's recorded install path load-bearing (today any marker