Repository navigation
rules hold criteria not provenance
instruction としてセッションへ読み込まれる本文に、その規則を生んだ来歴を書き残すか。
書かない。落ちるのは来歴を述べている記述そのものであり、番号ではない。
適用の瞬間に消費されるのは基準と現在の状態であり、それがどう書かれるに至ったか(どの issue が提起し、どの PR が確定させ、どの commit が動かしたか)は、その瞬間に立っている誰にも消費されない。したがって来歴の語りは常駐すべき state ではない。番号は来歴の運ばれ方の一つであって、落ちる単位ではない。番号を伴わない来歴の語りも同じく落ち、基準を述べている文に付いた番号はその文から番号だけが落ちる。
| 型 | 内容 | 操作 |
|---|---|---|
| (a) | 文は規則を述べており、番号はその装飾 | 番号を外す。文は残す |
| (b) | 文そのものが来歴 | 文ごと落とす |
| (c) | 一つの記述に現在の状態と来歴が同居 | 現在の状態を残し、来歴部分を落とす |
番号の有無は型を決めない。
三つの型は分類の箱ではなく一つのテストの結果である:来歴を取り除き、何が残って立っているかを読む。なお規則を述べていれば (a)、一部がなお現在の状態を述べていれば (c)、基準も状態も残らなければ (b)。操作には二つの但し書きが付く。除去の単位は来歴を運んでいる範囲であって固定された文ではないこと(括弧が日付と検証も抱えているなら括弧ごと。番号だけ抜けば断片が残る)、および後続の文が落としたものに寄りかかっている間は除去が終わっていないこと(先行詞を連れて行くため、参照側を同じ編集で直す)。
いずれも brake 1 が実測で示した。評価者 3 体は同じ文に対して異なる型を割り当てており(main-agent-procedures.md:55 は (a) / (c) / 曖昧に割れた)、表が型を一意に決めていないことがその場で再現した。
「instruction として読み込まれるか」で閉じる。含めるのは rules/ と skills/、および adapter/ のうち同じ形でセッションへ届くファイル(host instruction ファイル、エージェントの prompt 定義、およびそれらの中の値)。
対象外は、そこへ置く性質とセットで二つ。
-
適用の瞬間に読み込まれない面 — hook script(
.sh/.ps1)のコメント、エージェント設定中のコメント行、bootstrap 時にのみ読まれる仕様書。本規律は「rule の前に立っているときに何が消費されるか」に依拠しており、ここにはその立ち位置が無い。ただし hook script は同一ファイルの中を線が通る最も鋭い例で、コメントは対象外だが、その script が出力する文字列は対象側に入る(出力された瞬間、読み手はその前に立っている)。node不在時にadditionalContextとして注入される静的文字列がこれに当たる -
来歴を意図して保持する retrieval 面 —
docs/と wiki。skills/model-trigger-check-gate-actions/SKILL.mdの Retrieval tools が、attribution と timeline をgit log/git blameへ、過去判断を issue / PR への RAG へすでに振り分けている。rule 本文はもともとその宛先ではない。到達可能性はここで手放されるのではなく、もとから在る場所に留まる。
拡張子もディレクトリも基準にならない。同一ファイルの中を線が通ることがある(コメントは対象外側、prompt の値は対象側)。この書き方であれば、adapter/ 配下で layer: L1-model を宣言しているファイルについても layer 軸・directory 軸のどちらで読んでも同じ集合に入るため、軸の選択が不要になる。
- 基準の根拠を落とす許可ではない。 基準を述べていない文から番号だけ抜けば、背後に何も無い主張が残る。その文は (b) であり、操作は文ごと落とすこと。番号へ手を伸ばす前に型を読む。番号を外して文が残るのは (a) だけ。
- format サンプル中の番号は削除ではなくプレースホルダ化。 サンプルの番号と生きた参照は読んだ時点で区別が付かない。
正本 = 本 entry 本文。rules/model/subtractive-structural-beauty.md の Criterion resident, provenance in git 節に置かれていたが、同ファイルを芯 4 節へ縮約した際に撤去された。運用上の兆候(provenance-in-text 系 3 項目)は skills/evolution-impression-literal-detection/SKILL.md の Detection signs に残る。
- conflicts with: li-plus-always-on-footprint-load-bearing — 同 entry の Current resolution は「always-on に乗っている内容は load-bearing」「これ以上の文脈圧縮は cargo-cult」と一般命題の形で述べている。本判断は always-on / skill 面を含む instruction 面に載る特定クラス(規則の来歴を述べている記述)が load-bearing でないと確定させたため、literal では衝突する。ただし同 entry が実際に論じたのは3つの構造的移設案(operations 層の skill 化 / hook 注入 / adapter dedup)であり、いずれの却下理由も本判断は動かさない。未解決点 = 一般命題の側に scope 限定(「構造的移設に安全な余地は無い」であって「内容の非 load-bearing 残渣は無い」ではない)を入れるか否か
- depends on: liplus-structure-as-retrieval-surface — 「説明に要る情報は retrieval 可能な surface に配置され、pre-stored vocabulary から出さない」という設計が前提。来歴の記述を落として到達可能性が保たれるのは、この surface 群が実在するからである。前提が崩れれば本判断は再評価対象
- relates to: always-on-duplication-removal-direction — 同じ always-on の分量を扱うが軸が違う。あちらは「同一内容のコピーが2つあるときどちらを残すか」、本 entry は「そもそも常駐すべき内容か」
Master が 2026-08-10 の対話で確定させた。AI 側の初期主張は逆で、rules/evolution/initiator-autonomy.md Scope の実測記録(「経路は実測で載る、見込みでは載らない」を裏付ける番号群)を load-bearing として保持すべきとしていた。
AI の誤りは、基準の load-bearing 性と引用の load-bearing 性を混同したことにある。次の編集を実際に縛るのは基準文であり、過去の測定そのものではない。同じ区別を Li+ は一箇所ですでに書いていた——initiator-autonomy.md Governed surface の「What closes condition 2 is that criterion, not the entries below; the entries are the cases that have come up」。自分で述べた区別を、自分の記法が守っていなかった。
構造的な穴として言えば、rules/task/task.md は「Issue body = latest requirements snapshot, not history log」を、Decision Structure は「state-form entries であって time-ordered log ではない」を受け取っている。instruction として読み込まれる面だけが同じ規律を受け取っていなかった。
最初に着地した記述は、同一節の中で単位が割れていた。正しい単位で書けていたのは、経緯の記述を指した第 2 段落 1 文目と、「rule がどう書かれるに至ったかを語る文」を対象にした Detection signs 2 番目。単位が番号へ狭まっていたのは、「その来歴を運ぶ番号は常駐 state ではなく、例外なく落ちる」とした第 2 段落 2 文目と、番号の剥離操作を前提に書かれた但し書き 1 つ目。
実害は、来歴を語る文へ「番号だけを剥がす」指示を当てた場合に出る。「この一行は元々単独の規制ではなかった。〇〇(コミット△△)が、その代償を払う移動と一緒に導入した」という文から番号を抜くと、経緯の語りはそのまま残り、参照先だけが失われた文になる。剥離前より悪い。さらに但し書き 1 つ目はその状態に対し「直し方は基準を述べること」と処方しており、正しい答えである「文ごと落とす」に対して残す方向の修復を指示していた。
処方を「型を読み、(b) なら文ごと落とす」へ改め、あわせて scope を adapter/ の読み込まれる面へ広げ、除外を理由つきで明文化した。
- 規律の確定と、一括除去は別の作業単位。本判断は前者のみ。
- 既存の計数(
rules/+skills/65 件、adapter/75 件)はgrepのヒット数であって作業量ではない。単位が記述である以上、文単位で数え直す必要がある(件数は減り、消える文字量は増える)。本判断は件数を確定させない。 - 新しい除外を作らない。除外は理由とセットでのみ置く。
採用 = 来歴を述べている記述を落とし、基準文と現在の状態のみを常駐させる。来歴は commit diff / issue / RAG が引き受ける。落ちる単位は記述であり、番号はその中に現れる一形態にすぎない。
却下 = 実測記録としての番号を例外として残す案(AI の初期主張)。閉じ手は基準文であって事例ではなく、事例に付いた番号は基準の外側にあるため、例外を置くと適用の瞬間に「これは実測記録か物語か」の判断が要求される。
却下 = 落ちる単位を番号とする書き方(当初の着地)。番号を持たない来歴の語りを取りこぼし、かつ来歴そのものである文に対して「番号だけ抜く」という、剥離前より悪い状態を作る操作を指示してしまう。
却下 = scope を拡張子やディレクトリの列挙で書く案。adapter/ を「読み込まれるか」で切ると線は拡張子を両方向に裏切り、同一ファイルの内側を通ることもある。
却下 = format サンプル中の番号を単に削除する案。サンプルは形式を示すために存在するので、削除ではなくプレースホルダ形にする。
この 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 の言い直し・位置づけは持たない
- サブエージェント起動の着地点の目安と数値の出典