Repository navigation
memory entry format rule carries behavior only
常時ロードされる rules/evolution/memory-entry-format.md に、rules/model/liplus-coding-rule.md Body States Behavior の識別線(読んだ者の行いが変わるか)を 2 周目として当て、あわせて特定の場面でだけ使う手順を常時ロード面から外すとき、何が本文に残り、外したものはどこが保持するか。
本文は 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 にある。
-
この手順が要る瞬間は 4 つに限られる。 自己進化 PR のマージ後の瞬間、エントリが cold-start で due / overdue として surface されたとき、Post-L1-Merge Runtime Observation が
missを返したとき、短窓観測を繰り越す・その結果を追記するとき。それ以外のセッションでは誰も読まないのに、約 6 KB が毎セッション文脈に入っていた。 -
どの瞬間にも名指しのポインタが常時ロード面か hook の出力に立つ。 マージ後は
rules/operations/main-agent-procedures.mdMerge Execution の Post-merge moment がskills/evolution-observation-entry/SKILL.mdAuto-entry trigger を名指す。missと繰り越しはrules/operations/operations.mdPost-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 ... followsskills/evolution-observation-entry/SKILL.md」と出す。発火は skill の自動起動の想起に依存しない。skill の description も同じ 4 つの瞬間を宣言しているが、これは二本目の経路である。 -
移し先は
evolution-*skill で、メインが読める。 実行主体はメインだが、メインが読めないのはoperations-*skill だけである(rules/operations/main-agent-procedures.mdThe bar and its pair)。 -
常時ロード面に同名の節を 1 行で残した。
rules/evolution/cold-start-synthesis.mdの Self-Evolution Observation Surface が「format defined inrules/evolution/memory-entry-format.mdSelf-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-starthook に consolidate の検査は無い)。発火は、常時ロードの本文にある条件を agent が読むことに依っている。skill へ移すと発火が自動起動の想起に依存する。末尾の「量の腕を足さない」は編集者への禁止なので残した。 - Announce vs execute の How to apply と検知サイン。 どちらも発話の瞬間の行いを変える。
-
depends on
source-body-behavior-only-reasoning-relocates— 識別線と移設の規則そのもの -
depends on
li-plus-always-on-footprint-load-bearing— 常時ロード面を skill へ移す案を想起の欠落(recall gap)で却下した判断。本件はその却下理由に当たらない形に限って移した。移した手順の発火は skill の自動起動ではなく、常時ロード面と hook 出力の名指しのポインタが担う。毎瞬間に効くべき規律は移していない(Consolidate Trigger を残したのはこのため) -
relates to
always-on-duplication-removal-direction— 跳躍数の合格条件。本件は重複の削除ではなく正本の移設で、ツール呼び出し跳躍の増分は上で説明した -
relates to
evolution-task-rule-bodies-carry-behavior-only— 同じファイルの 1 周目(#2109)。本件で外した理由の多くはそこが既に持つ -
relates to
measurement-caught-what-read-based-removal-test-missed— 既定の傾きに逆らう文は外さない -
relates to
operations-rule-carries-behavior-only— 同型の 2 周目(#2127)
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 文を外した。
- 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)。
採用 = 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 行の転送点が要る。
この Wiki は、Li+ に基づく開発・運用を支えるための情報整理空間です。
数字で始まるページは、 Li+プログラムの各レイヤーの仕様を定義するページです。
- 要求(何を満たすか)と仕様(どう振る舞うか)を一体として記述する
- 実装前に作成または更新する
- issue群から採用された要件を集約する
これらのページは 安定性と一貫性を重視して管理されます。
アルファベットで始まるページは、 Li+の構想・設定・導入手順などの参照用ページです。
- 設計思想・背景
- 設定リファレンス・インストール手順
これらのページは 必要に応じて更新・拡張されます。
リポジトリ内の rules/**/*.md(L1–L4 の常時ロード分、subdir 含む)、skills/**/SKILL.md(トリガー起動分)、adapter/claude/CLAUDE.md、adapter/claude/hooks-settings.md、adapter/claude/hooks/*.sh、adapter/codex/AGENTS.md、およびルート直下の Li+config.md、Li+update.md は、
AIやランタイムが直接読む実行用プログラム / 定義ファイルです。
-
docs/は人間向けの仕様書・要求仕様・手順書 -
rules/,skills/および adapter / update は実行時に読み込まれる本体
両者は対応しているが、役割は同じではない。
Home | 1. Model | 2. Evolution | 3. Task | 4. Operations | A. Concept
要求仕様書 (1-6)
参考文書 (A-L)
- A. Concept
- B. Configuration
- C. Update
- D. Installation
- DiDD(対話駆動開発)
- E. Li+ language
- F. Behavior-First
- G. Sheepdog Engineering
- H. Roles and Evaluation
- K. Source File Format
- L. Hop Count Instrument
判断構造
- Decision Structure
- layer reorg rationale
- github app user-to-server token expiration
- sheepdog engineering concept
- prerelease tag recovery procedure
- release flip drift patterns
- Li+ long-term vision (feedback only)
- Master role as client-architect
- current architecture as concession
- Li+ license Apache-2.0 rationale
- Character_Instance evolution history
- prompt as emotion vector controller
- agentic-search five-phase refactor
- Character_Instance output-styles migration
- Li+ lightening L1 gate override
- subagent state-machine label mechanism
- LSP integration out of scope
- Character_Instance opt-in and surface scope
- parallel-subagent-eval three-axis decomposition
- parallel-subagent-eval cost acceptance
- parallel-subagent-eval model floor
- release version rule always-on relocation
- bootstrap walkthrough skip and gh install relocation
- wiki sync sidebar integrity check
- decision structure rename rationale
- decision structure industry positioning
- subtractive structural beauty framing
- Li+ authorship is collaborative
- Li+ design intent vs current limit
- Li+ history is empirical
- Master verification at runtime not spec
- rules cache fetch address table
- dialogue-evaluator scoring redesign
- Li+ always-on footprint is load-bearing
- DiDD umbrella naming
- milestone subsystem removal
- L1 brake 2 root-criteria evaluator
- Hook-driven gate trigger
- ゲート適用漏れは強制より先に測る
- dynamic-workflows non-adoption
- ACE context-engineering non-adoption
- memory GraphRAG SQLite exploration
- Li+ context-rot tension
- Li+ structure as retrieval surface
- 常時ロード分の重複を削る向き
- Li+ evaluation criterion
- Li+ self-evolution lineage
- Li+ judgment-learning telos
- Sheepdog Engineering publish intent
- Implementation always delegated
- brake evaluator baseline integrity
- brake1 single-round cap
- brake1 の再実行可否は監査内容で決める
- brake 指摘の裁定を再開した著者が持つ
- brake1 の発火条件を基準で閉じる
- skill の発火条件は description 内に置く
- subagent parallel-width cap
- brake1 operational-copy target-conditional
- brake1 findings は親を経由する
- brake1 の per-draft 軸を 2 本に固定する
- brake 2 の DEVIATION を人間が上書きする
- wiki sync code-notation strip
- wiki sync drift-targeted mirror
- decision structure writer surface activation
- decision structure state-form edge binding
- Neuron Graph RAG integrated prototype
- issue 完了条件フィールドの射程
- body 節と description の被覆ずれの解き方
- グラフエンジニアリング非採用
- Li+ の配布形式は GitHub 直配布
- 配布される source に config の解決値を書かない
- ルールは基準を持ち、来歴は git に置く
- 人間と AI の関係条項を absolute.md に置く
- 来歴を預けた retrieval 面が実際に答えるか
- 存在側の欠陥は空欄ラベルの可視性に届かない
- brake 2 の判定対象は変更の内容
- エージェント定義の判定基準を sentinel 区画で所有
- brake 2 を廃し L1 のゲートを brake 1 へ一本化
- 多セッションが効くのは入力が変わるとき
- source 本文は振る舞いのみ、理由は移設
- parallel-agent-eval 本文は振る舞いのみ
- agentic-search 蒸留版は full と同等(実測)
- 読みの除去テストが通した削除を実測が差し戻した
- brake1 の評価者数の床を N=1 へ
- Judgment record ポインタ要件を撤廃
- brake1 を上限 3 往復の収束ループへ
- 受け皿より先に縮んだ検出幅の窓を閉じる
- issue constraints の「対象ではない」は宣言
- クローン同一性は remote で解決
- tally は機構の名前の下に置く
- config 値比較は厳格に、外れた値は名指し
- webhook 到着通知の消去は確認を伴う
- 検索性能比較コーパスは既存リポジトリ内の path で隔離する
- MSYS のパス変換は argv だけに効く
- 観測不能な主張は書き手を替えても記録にならない
- parallel-agent-eval の 1 周目の跡に残っていたのは再掲
- 実装委譲エージェントに定義ファイルを与え effort を固定
- cold-start diff-only 状態は agent key でパーティション分割
- 観測不能の宣告はホストの母集団に対する主張
- 検出器は到達可能な位置にあって初めて検出器である
- ランタイムの rules はタグへ解決する
- 記録面の除外は読み直しで捕まる行にだけ成り立つ
- 再開プロンプトの注入項目は基準で閉じる
- 委譲プロンプトが運ぶのは境界であって手順ではない
- 規則の効きの実測の各条件は観測された失敗の上に置かれている
- parallel-agent-eval は蒸留で約 5,340 トークン、残りの超過は受容
- brake 1 の往復上限を撤廃し、同じ指摘の再発を人間へ上げる
- rules/evolution と rules/task の本文は振る舞いのみ
- rules/operations と adapter の本文は振る舞いのみ
- rules/model(L1)の本文は振る舞いのみ
- main-agent-procedures の常時ロード本文はメインの運用場面で行いを決める文のみ
- cold-start-synthesis の本文は振る舞いのみ、フックの仕様は docs へ
- initiator-autonomy の常時ロード本文は振る舞いのみ、tests の散文規則は skill へ
- operations.md の常時ロード本文は振る舞いのみ、索引と label 辞書の写しは持たない
- memory-entry-format.md の常時ロード本文は書式と保守のみ、observation 手順は skill へ
- promotion-judgment の常時ロード本文は振る舞いのみ、軸の関係の説明は docs へ
- execution-mode.md の常時ロード本文は、マトリクスを言い直さず、他の常時ロード面の写しも持たない
- task.md の常時ロード本文は issue とラベルの行いだけを持ち、写しと層の説明は持たない
- main-agent-procedures の場面に限られる手順は、名指しが届く skill へ
- evolution.md の常時ロード本文は振る舞いのみ、レイヤーの位置づけと他面の写しは持たない
- operations.md の場面に限られる節は、名指しが届く skill へ
- CLAUDE.md の常時ロード本文は振る舞いのみ、位置づけ・読込の説明・常時ロード面の写しは持たない
- initiator-autonomy の場面に限られる記述は、brake 1 の skill へ
- skill description の詰めは、場面を狭めない句だけを切る
- L1 の 5 本の 2 周目は内側の写しと位置づけの説明を外し、書く規律は常時ロードに残す
- subtractive-structural-beauty と trigger-check-gate の常時ロード本文は振る舞いのみ、言い直し・位置づけ・他所の再掲は持たない
- absolute.md の常時ロード本文は振る舞いのみ、Name prefix scope の言い直し・位置づけは持たない
- サブエージェント起動の着地点の目安と数値の出典