Problem
charter adf migrate creates new ADF module files (e.g. core.adf, infra.adf, frontend.adf) when content from CLAUDE.md doesn't fit existing modules — but it does not register those new modules in .ai/manifest.adf or update the <!-- charter:module-index --> block in the thin pointer.
After a migration that produces new files, the modules exist on disk but no agent knows they exist or when to load them. Manual steps required:
- Edit
manifest.adf to add ON_DEMAND entries with triggers
- Edit
CLAUDE.md to add rows to the module index table
Observed behavior
Plan:
MERGE .ai/governor.adf (+9 CONTEXT, +69 CONSTRAINTS)
MERGE .ai/core.adf (+15 CONTEXT, +131 CONSTRAINTS) ← new file
MERGE .ai/infra.adf (+13 CONSTRAINTS, +2 CONTEXT) ← new file
MERGE .ai/frontend.adf (+11 CONSTRAINTS, +1 ADVISORY) ← new file
KEEP CLAUDE.md (thin pointer)
manifest.adf after migration — no entries for core.adf, infra.adf, or frontend.adf.
Expected behavior
For each newly created module, migrate should:
- Infer trigger keywords from the content it placed there (section headings, key terms already classified during routing)
- Add the module to
manifest.adf ON_DEMAND with those triggers (or DEFAULT_LOAD if content matches required wiring criteria)
- Update the
<!-- charter:module-index:start/end --> block in the thin pointer file
The dry-run output already shows which module each item routes to — the trigger inference would be a natural extension of that routing logic.
Context
Encountered during charter adf migrate --source CLAUDE.md on a ~375-line project config (Colony OS / Stackbilt-dev/colonyos). Three new modules were created, all required manual manifest wiring before charter doctor would pass.
Problem
charter adf migratecreates new ADF module files (e.g.core.adf,infra.adf,frontend.adf) when content fromCLAUDE.mddoesn't fit existing modules — but it does not register those new modules in.ai/manifest.adfor update the<!-- charter:module-index -->block in the thin pointer.After a migration that produces new files, the modules exist on disk but no agent knows they exist or when to load them. Manual steps required:
manifest.adfto add ON_DEMAND entries with triggersCLAUDE.mdto add rows to the module index tableObserved behavior
manifest.adf after migration — no entries for
core.adf,infra.adf, orfrontend.adf.Expected behavior
For each newly created module,
migrateshould:manifest.adfON_DEMAND with those triggers (or DEFAULT_LOAD if content matches required wiring criteria)<!-- charter:module-index:start/end -->block in the thin pointer fileThe dry-run output already shows which module each item routes to — the trigger inference would be a natural extension of that routing logic.
Context
Encountered during
charter adf migrate --source CLAUDE.mdon a ~375-line project config (Colony OS /Stackbilt-dev/colonyos). Three new modules were created, all required manual manifest wiring beforecharter doctorwould pass.