Description
When running charter adf migrate on a project with CLAUDE.md, .cursorrules, and agents.md pointer files, the migration merges content into core.adf with formatting issues:
- Double/triple list markers:
- - - Product: instead of - Product:
- Module index table merged as content: The
<!-- charter:module-index:start --> block from CLAUDE.md (a charter-generated rendering artifact) is treated as migratable CONTEXT content and inserted into core.adf
- Pointer boilerplate merged as context: Phrases like "This file is intentionally thin" and "Primary instruction source:" are classified as CONTEXT — these are meta-instructions about the pointer file itself, not project rules
Steps to Reproduce
- Have a project with existing
.ai/ modules and agent config files (CLAUDE.md, .cursorrules, agents.md) that contain pointer text
- Run
charter adf migrate
- Inspect
.ai/core.adf — observe duplicate list markers and non-rule content in CONTEXT section
Expected Behavior
The migrate classifier should:
- Recognize
<!-- charter:module-index:start --> ... <!-- charter:module-index:end --> blocks as structural, not migratable
- Recognize pointer boilerplate ("This file is intentionally thin", "Primary instruction source:", "Do not duplicate or extend agent policy here") as structural
- Produce clean single list markers in the target ADF file
Environment
- Charter v0.9.2
- pnpm monorepo on WSL2
Description
When running
charter adf migrateon a project with CLAUDE.md, .cursorrules, and agents.md pointer files, the migration merges content intocore.adfwith formatting issues:- - - Product:instead of- Product:<!-- charter:module-index:start -->block from CLAUDE.md (a charter-generated rendering artifact) is treated as migratable CONTEXT content and inserted intocore.adfSteps to Reproduce
.ai/modules and agent config files (CLAUDE.md, .cursorrules, agents.md) that contain pointer textcharter adf migrate.ai/core.adf— observe duplicate list markers and non-rule content in CONTEXT sectionExpected Behavior
The migrate classifier should:
<!-- charter:module-index:start -->...<!-- charter:module-index:end -->blocks as structural, not migratableEnvironment