Skip to content

memory entry format rule carries behavior only

Claude Lin & Lay edited this page Sep 29, 2026 · 1 revision

rules/evolution/memory-entry-format.md の常時ロード本文は memory の書式と保守だけを載せ、observation エントリの手順は skill が持つ

Question

常時ロードされる rules/evolution/memory-entry-format.md に、rules/model/liplus-coding-rule.md Body States Behavior の識別線(読んだ者の行いが変わるか)を 2 周目として当て、あわせて特定の場面でだけ使う手順を常時ロード面から外すとき、何が本文に残り、外したものはどこが保持するか。

Current resolution

本文は Scope、Escalation paths、Trigger point、Entry Format、Artifact deletion calibration、Announce vs execute、Consolidate Trigger、Language だけを持つ。self-evolution observation エントリの書式・作成基準・判定の lifecycle は skills/evolution-observation-entry/SKILL.md が持ち、本文の ## Self-Evolution Observation Format はその skill を指す 1 行だけになる。

PR #2133(issue #2131)で 13,721 B → 6,134 B(−7,587 B、−55.3%)。新設の skill は 6,233 B。1 周目(理由の剥ぎ取り)は evolution-task-rule-bodies-carry-behavior-only にある。

observation 手順を skill へ移した判断

  • この手順が要る瞬間は 4 つに限られる。 自己進化 PR のマージ後の瞬間、エントリが cold-start で due / overdue として surface されたとき、Post-L1-Merge Runtime Observation が miss を返したとき、短窓観測を繰り越す・その結果を追記するとき。それ以外のセッションでは誰も読まないのに、約 6 KB が毎セッション文脈に入っていた。
  • どの瞬間にも名指しのポインタが常時ロード面か hook の出力に立つ。 マージ後は rules/operations/main-agent-procedures.md Merge Execution の Post-merge moment が skills/evolution-observation-entry/SKILL.md Auto-entry trigger を名指す。miss と繰り越しは rules/operations/operations.md Post-L1-Merge Runtime Observation が skill を名指す。cold-start は 3 つの hook(adapter/claude/hooks/on-session-start.sh、adapter/codex/hooks/on-session-start.sh、adapter/codex/hooks/on-session-start.ps1)が due / overdue の一覧に続けて「Verdict transition ... follows skills/evolution-observation-entry/SKILL.md」と出す。発火は skill の自動起動の想起に依存しない。skill の description も同じ 4 つの瞬間を宣言しているが、これは二本目の経路である。
  • 移し先は evolution-* skill で、メインが読める。 実行主体はメインだが、メインが読めないのは operations-* skill だけである(rules/operations/main-agent-procedures.md The bar and its pair)。
  • 常時ロード面に同名の節を 1 行で残した。 rules/evolution/cold-start-synthesis.md の Self-Evolution Observation Surface が「format defined in rules/evolution/memory-entry-format.md Self-Evolution Observation Format」と節名で参照していて、同ファイルは本 issue では触らない(Lay の #2119 が作業中)。節名参照を解決させ続けるための転送点である。cold-start-synthesis.md の参照が skill を直接指すようになれば、この 1 行は外せる。
  • ツール呼び出し跳躍が 1 つ増えることを受け入れた。 docs/L.-Hop-Count-Instrument.md の S11 と S12 は、observation 手順への最後の跳躍が [ctx] から [tool] になる。同 instrument の合格条件は「増えた場合は PR 本文で理由を説明できない限り regression」で、理由は上の 2 点(読まれる瞬間が限られること、各瞬間に名指しのポインタが立つこと)である。

外した文と合流先

外した文 識別線の判定 合流先
Position の Layer = L2 Evolution Layer / Requires = / Load timing = always-on 説明(行いを変えない) frontmatter(layer: L2-evolution、alwaysApply: true)。main-agent-procedures-carry-behavior-only と operations-rule-carries-behavior-only が Position を外したのと同型
Position の memory ファイル集合の列挙 説明 docs/2.-Evolution.md Memory Entry Format の冒頭段落(同じ列挙)。書き込み時の命名(1 memory 1 file)は adapter の Memory_Write_Autonomy が持つ
Position の「Artifact deletion calibration は memory 以外にも及び、他の行は本ファイル外から読まれる」 説明(表の行そのものが対象範囲を示す) docs/2.-Evolution.md の同じ段落
Position の Single source. 理由 evolution-task-rule-bodies-carry-behavior-only(二重保持のドリフトを避けるため)。同じ行の指示「各 memory ファイル先頭の運用注記を本規則への参照に置き換える」は振る舞いなので Entry Format の末尾へ移して残した
Scope の Persistent residency is not intended. 直前の memory = transient only. の言い換え 本文の直前の文
Entry Format の「永続情報には適用しない(Trigger point が別の面へ送る)」 直前の only の言い換え 本文の直前の文と Trigger point
Entry Format の「memory subfile は表で low」 表の行の言い換え Artifact deletion calibration の表
Announce vs execute の冒頭「Memory_Write_Autonomy が memory 書き込みを自律・即時実行と定める」 adapter の正本の再掲 adapter/claude/CLAUDE.md / adapter/codex/AGENTS.md の Memory_Write_Autonomy(常時ロード)
## Out of scope(tally・仕分け・採点軸は別の面) 案内 docs/2.-Evolution.md の「他 surface との分離」段落。tally が memory の外にあることは Scope の禁止文が持つ
observation 節冒頭「マージ後の検出サイクルを追う。cluster tally(起票前の観測)とは別」 説明 skill の description と docs/2.-Evolution.md の Self-Evolution Observation Format 段落
Lifecycle の「due なエントリは解決するまで毎セッション再 surface される」 理由(inconclusive に留めてよい根拠) evolution-task-rule-bodies-carry-behavior-only(check を取らない session があっても trigger は失われない)。同じ文の後半「証拠が薄い check は inconclusive に留める」は振る舞いなので残した
「inconclusive との線は has not arrived 対 cannot arrive」 二つの定義(no regression observed の最終文と firing condition gone)の言い換え skill 本文の二つの定義、evolution-task-rule-bodies-carry-behavior-only(待っているサンプルと生成できないサンプル)
「Scope = 検出軸のみ。Recovery と Retention は別軸」 説明 docs/2.-Evolution.md の Self-Evolution Observation Format 段落(本 PR で追記)
「cold-start での due / overdue の surface は cold-start-synthesis.md に従う」 Lifecycle の Firing moment の括弧書きの言い換え skill の Lifecycle

外さなかったもの

  • Artifact deletion calibration 全体。 表は memory 以外の成果物にも使われ(skills/operations-on-wiki-sync/SKILL.md などが節名で読む)、削除のたびに要る。「両方向に失敗する」「分からないから残すは保持既定に収束する」は、残す側に倒れる既定の傾きに逆らう文である(measurement-caught-what-read-based-removal-test-missed)。
  • Consolidate Trigger 全体。 発火条件(前回から 2 週間)を検査する hook は無い(3 つの on-session-start hook に consolidate の検査は無い)。発火は、常時ロードの本文にある条件を agent が読むことに依っている。skill へ移すと発火が自動起動の想起に依存する。末尾の「量の腕を足さない」は編集者への禁止なので残した。
  • Announce vs execute の How to apply と検知サイン。 どちらも発話の瞬間の行いを変える。

Edges

Background

issue #2131。rules/evolution/memory-entry-format.md は毎 session 全体が文脈に入る面にあり、13,721 B あった。そのうち self-evolution-observation-format 節が 6,339 B と約半分を占めていた。issue は 3 つの仮説を置いた。仮説 1(observation 節は特定の場面でだけ使う手順で、evolution-* skill へ移せる)は成り立った。仮説 2(Position と Out of scope は案内と説明)も、Position の 1 行(運用注記を参照へ置き換える指示)を除いて成り立った。仮説 3(observation 節に理由だけの文が残る)も成り立ち、4 文を外した。

Constraints

  • observation エントリの作り方、判定(revert / supersede / settle / retired / inconclusive)、期限切れの扱い、memory の書式と保守、削除の慎重さの表は、中身を変えない(issue #2131 制約 1)。
  • 移した手順は、それを使う場面で必ず読まれる。cold-start の hook と Merge Execution からの参照は移した先で解決する(同 制約 2)。
  • L1、promotion-judgment.md、cold-start-synthesis.md、アダプタの凍結ブロックは触らない(同 制約 6)。

Conclusion

採用 = observation エントリの手順を skills/evolution-observation-entry/SKILL.md へ移し、各瞬間の名指しのポインタ(Merge Execution、Post-L1-Merge Runtime Observation、3 つの hook の出力)を skill へ向け直す。本文からは説明・案内・再掲・理由を外す。

却下 = observation 節を常時ロードに残したまま文だけを削る案。削れるのは 4 文程度で、手順本体の約 6 KB は毎セッション文脈に残り続ける。

却下 = Consolidate Trigger も skill へ移す案。発火を構造的に surface する面が無く、発火が自動起動の想起に依存する(li-plus-always-on-footprint-load-bearing の却下理由がそのまま当たる)。

却下 = memory-entry-format.md から observation の節を消し切る案。cold-start-synthesis.md の節名参照が解決しなくなる。同ファイルを本 issue で触れない以上、1 行の転送点が要る。

Related

要求仕様書 (1-6)

参考文書 (A-L)

判断構造

Clone this wiki locally