You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up from #297 / PR #301, which changed bootstrap and adf init --emit-pointers to write uppercase AGENTS.md and removed lowercase agents.md from the generated pre-commit hook's VENDOR_FILES. That fix is correct for new repos but leaves three gaps for repos that already exist.
The generated hook matches git diff --cached --name-only, which reports git's recorded path. After charter hook install --pre-commit is re-run, a tracked lowercase agents.md matches nothing in VENDOR_FILES and silently stops being auto-tidied on commit — on any filesystem, case-sensitive or not.
Mitigations that already exist: charter adf tidy and charter doctor run directly still handle both spellings (adf-tidy.ts keeps both deliberately). Generated hooks in existing checkouts don't change until reinstall, so this is latent rather than immediate.
Affected population is precisely the people who bootstrapped before the fix — i.e. the reporter of #297.
2. A hand-written uppercase AGENTS.md on Linux hits a dead end
bootstrap tells the user to run charter adf migrate first, but AGENTS.md is not in the AGENT_CONFIG_FILES scan lists (adf-migrate.ts:44, bootstrap.ts:960) — migrate never looks at that name. The instruction cannot succeed.
3. Adding AGENTS.md to those scan lists needs de-dup first
On a case-insensitive mount (macOS, WSL /mnt/c) agents.md and AGENTS.md are the same file, so naively adding the uppercase name double-processes it. This is not hypothetical: adf-tidy.ts:34-35 already walks the same file twice on such mounts today.
What a fix needs
A migration path for existing lowercase agents.md (case-safe two-step git mv, with handling for dirty index / untracked file / non-git directory — deliberately deferred from PR fix(bootstrap): emit AGENTS.md instead of lowercase agents.md #301 as a feature in its own right)
AGENTS.md added to the migrate scan lists, gated behind case-insensitivity de-dup
Ideally a doctor check that detects a tracked lowercase agents.md and tells the user what to run
Identified during constellation-loop review of PR #301.
Follow-up from #297 / PR #301, which changed
bootstrapandadf init --emit-pointersto write uppercaseAGENTS.mdand removed lowercaseagents.mdfrom the generated pre-commit hook'sVENDOR_FILES. That fix is correct for new repos but leaves three gaps for repos that already exist.1. Repos tracking lowercase
agents.mdlose hook auto-tidyThe generated hook matches
git diff --cached --name-only, which reports git's recorded path. Aftercharter hook install --pre-commitis re-run, a tracked lowercaseagents.mdmatches nothing inVENDOR_FILESand silently stops being auto-tidied on commit — on any filesystem, case-sensitive or not.Mitigations that already exist:
charter adf tidyandcharter doctorrun directly still handle both spellings (adf-tidy.tskeeps both deliberately). Generated hooks in existing checkouts don't change until reinstall, so this is latent rather than immediate.Affected population is precisely the people who bootstrapped before the fix — i.e. the reporter of #297.
2. A hand-written uppercase
AGENTS.mdon Linux hits a dead endbootstraptells the user to runcharter adf migratefirst, butAGENTS.mdis not in theAGENT_CONFIG_FILESscan lists (adf-migrate.ts:44,bootstrap.ts:960) — migrate never looks at that name. The instruction cannot succeed.3. Adding
AGENTS.mdto those scan lists needs de-dup firstOn a case-insensitive mount (macOS, WSL
/mnt/c)agents.mdandAGENTS.mdare the same file, so naively adding the uppercase name double-processes it. This is not hypothetical:adf-tidy.ts:34-35already walks the same file twice on such mounts today.What a fix needs
agents.md(case-safe two-stepgit mv, with handling for dirty index / untracked file / non-git directory — deliberately deferred from PR fix(bootstrap): emit AGENTS.md instead of lowercase agents.md #301 as a feature in its own right)AGENTS.mdadded to the migrate scan lists, gated behind case-insensitivity de-dupdoctorcheck that detects a tracked lowercaseagents.mdand tells the user what to runIdentified during constellation-loop review of PR #301.