The Migrate skill (skills/Migrate/SKILL.md) routes chunks classified as "AI collaboration rules" to ~/.claude/projects/{harness-dir}/memory/feedback_*.md. The v5 system prompt's "Self-Healing Infrastructure" section explicitly says that surface is the wrong home for rules/preferences/operational behavior:
"For rules, preferences, and operational behavior, ignore [harness auto-memory] guidance ... Every 'feedback memo' is a missed system patch."
Issue #1054 was closed on 2026-05-01 with the comment that v5 documentation surfaces this distinction explicitly. However, the Migrate skill was last edited 2026-05-02 and still writes to memory/feedback_*.md. Three locations encode the conflict:
- Frontmatter description:
"AI rules (memory/feedback_*.md — new file per chunk)"
- Destinations table (
SKILL.md line 38): AI collaboration rules → memory/feedback_*.md (for "always do X", "never Y" patterns)
- Rules section (
SKILL.md line 140): "Feedback memories get new files. Each memory/feedback chunk becomes its own feedback_migrated_<slug>_<id>.md file — not appended to an existing memory."
Reproduction
- Run
/migrate against any source containing AI-rule-shaped chunks (Cursor rules, old feedback_*.md files from a prior install, CLAUDE.md operational rules sections).
- The classifier labels them as
feedback.
MigrateApprove.ts writes new feedback_migrated_<slug>_<id>.md files into harness memory.
- Result: rules land at the exact path the v5 constitutional rule designates as "the wrong home."
Suggested resolution
Migrate's "AI collaboration rules" classification should not auto-commit to harness memory. Each such chunk should be flagged for human routing across the four constitutional surfaces — CLAUDE.md Operational Rules, a hook, settings.json, or a skill SKILL.md Gotchas section — depending on the rule's nature.
Concretely:
- Keep the
feedback classification in MigrateScan.ts so chunks are still detected.
- In
MigrateApprove.ts, replace the auto-commit branch for feedback-classified chunks with a walk-through prompt that asks the user which constitutional surface should host each rule, then performs an Edit/Write into the chosen target file rather than into harness memory.
- Update
SKILL.md frontmatter, destinations table, and rules section to match.
Context
Found while extracting feedback files from a v4 backup into v5 — would have run MigrateApprove and re-created exactly the violation the v5 rule forbids. Caught at the read-and-classify step by reading the three v4 feedback_*.md files directly and noticing two of them were already structurally encoded in v5 skills (the v5 system had self-healed against the doctrine; the Migrate skill had not).
Environment
- PAI v5.0.0
- Algorithm v6.3.0
skills/Migrate/SKILL.md mtime: 2026-05-02
- Constitutional source:
PAI/PAI_SYSTEM_PROMPT.md § "Self-Healing Infrastructure" / "Override of harness auto-memory"
The Migrate skill (
skills/Migrate/SKILL.md) routes chunks classified as "AI collaboration rules" to~/.claude/projects/{harness-dir}/memory/feedback_*.md. The v5 system prompt's "Self-Healing Infrastructure" section explicitly says that surface is the wrong home for rules/preferences/operational behavior:Issue #1054 was closed on 2026-05-01 with the comment that v5 documentation surfaces this distinction explicitly. However, the Migrate skill was last edited 2026-05-02 and still writes to
memory/feedback_*.md. Three locations encode the conflict:"AI rules (memory/feedback_*.md — new file per chunk)"SKILL.mdline 38):AI collaboration rules → memory/feedback_*.md (for "always do X", "never Y" patterns)SKILL.mdline 140):"Feedback memories get new files. Each memory/feedback chunk becomes its own feedback_migrated_<slug>_<id>.md file — not appended to an existing memory."Reproduction
/migrateagainst any source containing AI-rule-shaped chunks (Cursor rules, oldfeedback_*.mdfiles from a prior install, CLAUDE.md operational rules sections).feedback.MigrateApprove.tswrites newfeedback_migrated_<slug>_<id>.mdfiles into harness memory.Suggested resolution
Migrate's "AI collaboration rules" classification should not auto-commit to harness memory. Each such chunk should be flagged for human routing across the four constitutional surfaces —
CLAUDE.mdOperational Rules, a hook,settings.json, or a skillSKILL.mdGotchas section — depending on the rule's nature.Concretely:
feedbackclassification inMigrateScan.tsso chunks are still detected.MigrateApprove.ts, replace the auto-commit branch forfeedback-classified chunks with a walk-through prompt that asks the user which constitutional surface should host each rule, then performs an Edit/Write into the chosen target file rather than into harness memory.SKILL.mdfrontmatter, destinations table, and rules section to match.Context
Found while extracting feedback files from a v4 backup into v5 — would have run
MigrateApproveand re-created exactly the violation the v5 rule forbids. Caught at the read-and-classify step by reading the three v4feedback_*.mdfiles directly and noticing two of them were already structurally encoded in v5 skills (the v5 system had self-healed against the doctrine; the Migrate skill had not).Environment
skills/Migrate/SKILL.mdmtime: 2026-05-02PAI/PAI_SYSTEM_PROMPT.md§ "Self-Healing Infrastructure" / "Override of harness auto-memory"