Repository navigation
brake1 firing closed by criterion
self-evolution PR の定義(2 条件の AND)のうち条件 2 は、rules/**/*.md / skills/**/SKILL.md / adapter/**/* の 3 種を列挙する形だった。この列挙はリポジトリの実ツリーとずれており、同じ欠落に対して逆方向の判断が 2 回下されている。条件 2 を何で閉じるか。
列挙ではなく基準で閉じる。基準は「その面は振る舞いを規定し、かつ誤りを捕まえるものが読み手しか無いか」。
導出は装置の性質から来る —— brake 1 の検出器は読み手(N>=3 の評価者)である。したがって brake 1 が意味を持つのは、読む以外に誤りが露出しない面に限られる。列挙されている path は「これまで出てきた事例」であって条件を閉じるものではない、と本文が明示する。
3 つの帰結が literal になった。
-
発火側: 散文として読まれ実行される面(
rules/**/*.md/skills/**/SKILL.md/adapter/**/*/Li+update.md)と、強制の後ろ盾(tests/**と.github/workflows/**= 実行コードだが背後にチェックが立たない。テストは黙って通る方向で壊れても green を返し、workflow はトリガが噛み合わなければ run 自体が起きず赤いチェックすら出ない)。 -
非該当: 記録面(
docs/**/ wiki /README.md/LICENSE/NOTICE—— 誤りの代償は引き直し 1 回)と、背後にチェックが立つ実行コード(scripts/**/.github/scripts/**)。 - 既定の腕: 基準がどちらにも置かない面は発火側に落ちる。「不要な eval の代償は eval 1 回、取り逃がしの代償は門そのもの」という非対称による。これにより基準は全域的になり、ツリーに未登場の path についても判断の残余が残らない。
あわせて、Scope 列挙(AI が起票してよい面)と条件 2(brake 1 が門を張る面)が別軸であることを条件 2 側に 1 箇所だけ明記した。同一ファイル内に docs/ が逆の membership で 2 度現れるためで、写しは Scope 側に置かない。
-
depends on
parallel-subagent-eval-cost-acceptance— 基準の導出が「brake 1 の検出器は N>=3 の読み手である」に全面的に乗っている。brake 1 が読み手以外の検出器(静的解析・自動 lint 等)を持つ設計へ動けば、基準そのものが再評価対象になる -
depends on
liplus-evaluation-criterion— 既定の腕の非対称(eval 1 回 vs 門そのもの)を秤にかけている軸 - conflicts with (現時点で対立 entry なし)
同じ欠落が 2 回、逆方向の判断で埋まっていた。
| PR | 変更面 | 親の判断 | 根拠 |
|---|---|---|---|
| #1670 |
tests/ のみ |
brake 1 を適用 | 安全側。当該テストは #1662 が「description 上限を構造で止める」ために置いた検査そのもので、抽出器が黙って通る方向で壊れることは brake 1 が守る失敗モードと同型。literal でなく判断 |
| #1698 |
docs/ のみ |
brake 1 を回さない | 条件 2 に docs/ が無い(字義)/記録面である/実質の変更が wiki にあり PR 差分に載らない。literal に従った
|
個別にはどちらも筋が通るが、次に同型が来た時の再現が保証されない。
加えて 2026-08-08、PR #1700 の委譲先が「brake 1 のみ該当」と報告した。条件 1(起票経路)だけで判定した形で、AND の片方の連言だけで発火条件を判定する誤り。実害は safer-side 方向のため出力には現れず、報告文の一語にしか出なかった。
親が実ツリーと突き合わせた結果、ドリフトは issue が挙げていた tests/ にとどまらなかった。.github/ も両列挙の外、hooks/(トップレベル)は存在しないパスを Scope が名指ししている状態だった(hook は adapter/claude/hooks/ と adapter/codex/hooks/ にあり adapter/ が既に覆う)。
- brake 1 / brake 2 の意味論・発火位置・N 数は不変。触るのは「どの PR が brake 1 の対象か」の判定面のみ
- Scope の射程は広げない。
tests//.github/を Scope へ足したのは行使済みの権限を記録する行為であり、実測(#1670 / #1404 / #1408 / #1571)に裏づけられた path だけを入れる。見込みでは入れない(brake-adjudication-by-resumed-authorの元となった #1694 が置いた「実測された逸脱に対してのみ格上げ」と同じ形) - 「親が忘れないようにする」形の解(注意書き・チェックリスト追記)は不可。根拠は
rules/model/subtractive-structural-beauty.mdの procedure-vs-structure 二値
列挙に tests/ と .github/ を足して閉じる案。 足せば当座は埋まるが、次にツリーへ現れた path で同じ判断が再発する。#1691 / PR #1694 が注入リストに対して出した「列挙でなく基準で閉じる」と同型の問いであり、同じ側へ倒した。
除外側に carve-out を積む案。 brake 1 の評価で実際に浮上した形。.github/workflows/** の取りこぼしに対し carve-out を足せば、除外の property ラベル(当時は "自ら失敗を報告する実行コード")が偽のまま例外だけが増える —— 条件 2 から取り除いた「property のラベルを名乗る path 列挙」を、除外側で再生産することになる。property の側を書き換える(Executed code a check stands behind / 発火側は enforcement backstop)形へ寄せて、1 行で 3 つの対象を解決した。
本 entry の判断そのものが brake 1 の指摘で 2 箇所変わっている。記録として残す。
- 基準の穴(軸 2、2/3)= 親の書いた除外 property「実行コードは自ら失敗を報告する」は、トリガが噛み合わなくなった workflow が run 自体を起こさないケースを覆っていなかった。基準の全域性を問う軸が、その軸を書いた親の基準を突いた形。
-
引用の事実誤り(軸 3、1/3)=
.github/の実測引用 4 件のうち #1568 は Master 起点で、当該 PR の本文が自ら「initiator path に該当しない」と書いている。親は著者の挙げた引用をそのまま軸の Basis に載せ、開いていなかった。同時に「initiator path とは起票と実装を決めた主体であって push したアカウントではない」という literal が追加された。
- 「この path を列挙へ足すべき」と提案された時 → 足す前に基準を当てる。基準が判定するなら列挙は不要で、判定できないなら基準の側に穴がある
- 除外側へ carve-out を足そうとしている時 → property ラベルが偽になっていないか。偽になるなら property を書き換える側が正しい
-
docs/の membership を Scope 側から読んで条件 2 を判定しようとした時 → 二つは別軸で、docs/はまさにその 2 つが食い違う唯一のエントリ - 発火条件を「AI が起票して AI が実装した」だけで判定した時 → 2 条件の AND であり、片方では決まらない(#1700 の実測)
この 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 の言い直し・位置づけは持たない
- サブエージェント起動の着地点の目安と数値の出典