-
-
Notifications
You must be signed in to change notification settings - Fork 0
brake1 single round cap
brake 1(skills/evolution-parallel-agent-eval)は、verdict が partial / negative の場合に親が draft を修正して eval を再実行する設計だった。ラウンド数に上限は無く、実測で 3〜4 ラウンドを要する PR が連続した。ラウンドを何周まで回すべきか。
N=3 の1巡で打ち切る。修正後の再検証ラウンドは行わない。 出た指摘は親がソースに照らして採否を裁き、修正した draft をそのまま self-review へ通す。N=3 の下限(sample count 軸)は据え置き。
期間を区切った試行として入れた決定であり、恒久確定ではない。再評価条件は下記。
-
supersedes
parallel-subagent-eval-cost-acceptanceの再評価条件2(「substrate 降格を伴わない別経路でのコスト圧縮策が提示された場合」)— 本決定がその経路。コスト受容の判断原理(予防コスト < 修復コスト、時間軸波及込みで評価)自体は不変で、圧縮の具体軸が1本追加された形。全廃ではないため cost-acceptance の結論は生きている -
depends on
parallel-subagent-eval-three-axis-decomposition— N / M / P の三軸は「1ラウンド内の幅」を規定する。ラウンド数はそれと独立した第四の変数であり、本決定はそこだけを固定する -
depends on
liplus-evaluation-criterion— 受容の判断軸そのもの - conflicts with (現時点で対立 entry なし)
観測 cluster brake1-round-termination-is-parent-feel-dependent(occurrence 4)が起点。cluster が名指しした欠陥は「ラウンドが多い」ではなく 打ち切り判断が親の感覚に依存している ことだった。#1543 / #1550 では親が R1・R2・R3 の各時点で収束を予測し、3 回とも外している。
PR #1560 の実測: 378 行の変更に対し brake 1 評価者 3 ラウンドが 1,640,972 トークン、実装・修正 subagent が 571,074 トークン。検証が実装の約 2.9 倍。1 巡制限適用時の推定は約 61% 減。
同 PR の収穫分布ではコード欠陥 4 件がすべて R1 で出ており、R2 の 2 件のうち 1 件は R1 の修正が新設した欠陥だった。#1555 の観察エントリも「ラウンドを伸ばした主因が実装でなく親の修正だった」と記録している。
「コード欠陥はすべて R1 で出る」は #1560 単独の観測であり、記録には後半ラウンドが実欠陥を出した例が 3 件ある。
| PR | ラウンド数 | 後半ラウンドの収穫 |
|---|---|---|
| #1543 | 4 | R3 = chunk 境界のマルチバイト破損。初回実装に元から在った挙動欠陥で、修正が新設したものではない |
| #1550 | 4 | R4 = 書き換えで落ちた、まだ生きていた記述 |
| #1533 | 3 | R2 = dialogue-evaluator が 4 区分目として漏れていた仕様欠落 |
とくに #1543 R3 は、1 巡制限下では #1562 のテスト被覆でも受け止められない(被覆範囲は on-session-start であって post-tool-use ではない)。
AI 側の推奨は「一律のラウンド数ではなく、指摘の性質変化で打ち切る基準の構造化」だった(PR #1551 / #1560 で実地適用済み、cluster が名指しした設計軸「親の修正が生んだ周回と実装由来の周回を区別できるか」にも対応する)。
反証を提示した上で、Master が 一律1巡 を選択。literal:
精度をとるならそうなるよなぁ〜。。。でもコストが馬鹿にならないから一旦aの案でしばらく使ってみることにしよう。 確かにバグは見逃しやすくはなるが、表面化しないバグはバグではないからね。
判断軸は Li+ の評価基準そのもの(rules/model/foundational-invariant.md: 正しさは現実の挙動で定義される)。上記 3 件はいずれも本番で表面化しないまま検出された欠陥であり、検証コストは確実に発生する一方で回避された実害は仮定にとどまる。精度の側が正しいことは認めた上で、コストとの秤で降りる、という構造の判断。
skills/evolution-parallel-agent-eval/SKILL.md の Non-scope「What the single-round cap gives up」に、観測された PR 番号つきで 3 クラスを列挙してある。「見落とした」ではなく「降りた」と後から読めるようにするための記述であり、削除すると将来の読み手がこれを見落としバグと誤読して勝手にラウンドを復活させうる。
- 親の修正が新設した欠陥(#1560 G2 / #1555 R2・R3)— #1562 のテストが挙動欠陥サブセットの受け皿
- 後半ラウンドでしか出ない散文層(#1550 R4)— テストでは落ちない
- 初回実装に在り R1 が届かなかった挙動欠陥(#1543 R3 / #1533 R2)
- 1 巡制限下で merge した変更が、本番挙動として実害を出した場合。 Master の受容根拠「表面化しないバグはバグではない」の前提が、表面化した時点で崩れる
- 同種の取り逃がしが複数回観測され、削減したコストを修復コストが上回った場合
再評価時の第一候補は保留した「性質変化での打ち切り」。一律のラウンド数でなく、指摘が「仕様と実装の食い違い」から「記述が実態より盛っている」へ変わった時点で打ち切る。
PR #1573 は変更前の規定(複数ラウンド可)で回し、2 ラウンドを要した。R2 で 3/3 が「R1 の修正が carve-out を過度に一般化した」ことを検出しており、本 issue が受容した当のクラス(修正が新設する欠陥)を実地で再現している。R2 の修正自体は N=3 未検証のまま出荷した。
- 「1 巡では足りないので再検証ラウンドを戻すべき」と提案された時 → 再評価条件に触れているか(本番実害が観測されたか)を先に確認する。観測されていないなら
skills/model-accepted-tradeoffを適用し、同じ証拠での蒸し返しを抑止 - Non-scope の 3 クラス列挙を「未修正のバグ一覧」と読んで塞ぎに行こうとした時 → 意図的に降りた範囲であり、塞ぐなら再評価条件の側から入る
- 「N を減らせばもっと安い」と提案された時 → sample count とラウンド数は別軸。N=3 の床は
#1296由来で本決定は触れていない
この 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-K)
- 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
判断構造
- 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
- skill の発火条件は description 内に置く
- subagent parallel-width cap
- brake1 operational-copy target-conditional
- 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 完了条件フィールドの射程