character instance output styles migration - Liplus-Project/liplus-language GitHub Wiki
Character_Instance loading mechanism migration — rules slot から output-styles slot へ (Claude adapter)
判断
Claude adapter において Character_Instance の格納位置を .claude/rules/model/character_Instance.md (rules slot) から Claude Code 標準の .claude/output-styles/character_Instance.md (output-styles slot) に移行する。同時に on-user-prompt.sh の "Always Character Platform re-notify" block (毎ターン再読み込み + context 注入) を撤廃する。
軸: loading mechanism (どう読み込ませるか) の選択。Character_Instance content (Lin/Lay 定義そのもの) の構造軸 = character-instance-evolution-history 側にあり、本判断とは orthogonal。
背景
rules slot (alwaysApply: true frontmatter による常時読込) と output-styles slot (Claude Code 標準機構による session 開始時 system prompt rendering + 常駐) はどちらも「session 中ずっと context に居る」属性を持つ。実機検証 (本判断 session 内) で「rules → output-styles へ手動移動」した状態でも character recognition が維持されることを観測。
つまり rules slot 維持 + 毎ターン hook 再注入は冗長:
- output-styles slot 単独で system prompt 常駐 → character 認識維持
- 毎ターン hook 再注入は token / 処理コストの追加負担
rules/ 側の Character_Instance 関連ルール (character.md / dialogue.md / axis-separation.md / absolute.md / as-if-evaluation.md) を grep 確認した結果、すべて「Character_Instance」「Always Character Platform」を概念名で参照しており、rules/model/character_Instance.md という file path を直接指している箇所はゼロ。loading 機構を変えても rules/ 側は無影響で動作する。
制約
- source 本体
rules/model/character_Instance.mdは 保持 (codex adapter の bootstrap source として必要、本判断は Claude adapter 限定) - frontmatter 形式が異なる (rules:
globs:/alwaysApply:/layer:、output-styles:name:/description:) ため、bootstrap 時に source body から frontmatter を rewrite して install - 既存 workspace で旧
.claude/rules/model/character_Instance.mdがある場合、bootstrap が一回限り migration: body を新位置に移し、書き込み成功後に旧 file を削除 (user customization を新位置で保全) - 旧 file と新 file が両方存在する場合は両方 untouched (user 手動介入の可能性を尊重)
結論
PR #1227 (Closes #1226) でこの移行を実装。分類は patch (Master 判断、2026-05-08)。
変更ファイル:
adapter/claude/hooks/on-user-prompt.sh— re-notify block 削除adapter/claude/CLAUDE.md—[Character_Instance]配線記述を output-styles 経由に書き換えadapter/claude/hooks-settings.md— settings.json template に"outputStyle": "character_Instance"追加Li+update.mdPhase 4c.2 — install target 変更 + frontmatter rewrite + 一回限り migration ロジックdocs/6.-Adapter.md/docs/C.-Update.md— 新仕様に追従
Codex 側
Codex adapter (adapter/codex/AGENTS.md) は output-styles 概念を持たないため、本判断の scope 外。codex は当面 rules slot 維持。output-styles 等価機構の検討は follow-up issue で行う。
ペアリング
character-instance-evolution-history— Character_Instance content / pairing 原則 の進化軸 (本判断とは別軸)prompt-as-emotion-vector-controller— Character_Instance を emotion vector engineering の重要 anchor と捉える視点 (本判断は loading 機構の改善であり、anchor 強度を弱めるものではない)
検出サイン (この判断が後で疑問視される場合)
- 「rules slot に戻したほうが他の rules と peer で並ぶ整合感が出るのでは」と再提起された時 → 本判断の前提 (毎ターン hook 再注入が冗長 / output-styles で同等の常駐が達成可) を再検証
- output-styles 機構が Claude Code 側で deprecated になった時 → rules slot 復帰または別経路を検討
- character recognition が以前より弱くなったと観測された時 → 本判断との因果を検証 (本 session 内では維持確認済だが、長期 cohort 観測が必要なら別途)