brake1 detection width window closed - Liplus-Project/liplus-language GitHub Wiki
受け皿より先に縮んだ検出幅の窓を、閉じたと見なす
Question
brake 1 の評価者数の床が N>=3 から N=1 へ下がった時点(PR #1856)で、その引き下げが駆動理由として名指しした受け皿(#1853 の行動照合 probe、本体機構は #1848)はまだ存在しなかった。この時間差=窓を、いつ・何をもって閉じたと見なすか。床を戻すか、受容し続けるか。
Current resolution
窓は閉じた(Master 判断 2026-09-05)。床は N=1 のまま、issue #1862 は close する。
閉じたと見なす根拠は 2 つあり、どちらも名指しされた受け皿の実効ではない。
- 幅はラウンドの軸で戻った。 PR #1864 が brake 1 を上限 3 往復の収束ループへ変えた(
brake1-bounded-convergence-loop-on-pr-comments)。N=1× 最大 3 ラウンドはN>=3× 1 ラウンドと等価ではないが、窓の観測が前提に置いた「評価者 1 体・1 ラウンドのみ」でもない。各ラウンドは著者の応答が CI green になった SHA に対して評価者を新規 spawn する。 - 受け皿は構造として着地した。 #1848 → PR #1867、#1853 → PR #1868、パイプライン上の配置が PR #1869(いずれも 2026-09-04 merged)。
scripts/measure_rule_effect.pyはリポジトリに入っている。
受け皿がまだ検出面を引き受けていないことは、受容する残余として明示する。 2026-09-05 時点の literal は 3 点:
- 測定はゲートではない —
skills/evolution-rule-effect-measurement/SKILL.mdApplication point は測定を必須としておらず、走らせなくてもマージは進む。rules/evolution/initiator-autonomy.mdMerge brake も、マージゲートに立つのは brake 1 だけだと述べている - 発火条件が大半の PR を外す — 同 Application point の発火条件は、governed body(
rules/**/skills/**/adapter/**)の差分が純減する PR に限られる。加算側の自己進化 PR には一度も発火しない - 実 PR での two-arm run 実績が 0 — ユニットテストと
--dry-run1 回のみ(memory/self-evolution-observation.mdPR #1867 entry、2026-09-04)
したがって「複数評価者が担っていた検出面の移設」は完了していない。それでも窓を閉じるのは、実測 0 を新設機構の通常状態として受け入れ、残りを post-merge 観測に預ける判断である。
窓の下でマージされた 7 件に追加処置は置かない。 #1859 / #1864 / #1867 / #1868 / #1869 / #1870 / #1871。memory/self-evolution-observation.md の 5 entry がこの 7 件を覆っており(#1868 と #1869 は #1867 の entry へ同一窓として畳まれている)、窓に固有の観測軸は足さない。
Edges
- depends on
brake1-bounded-convergence-loop-on-pr-comments— 窓を実際に狭めたのは本判断ではなくこちらである。ここが無ければ窓は閉じない。同 entry 自身が「#1862 の論点に対し、幅を戻すのではなくゲートの形を変える側の答えを採った」と述べており、本 entry はその答えを受けて観測を畳む側に立つ - depends on
brake1-evaluator-floor-lowered-to-one— 床N=1は本判断で動かない。同 entry が「受容した残余であり、隠さない」と明記した「#1853 が実装されないまま床だけが下がっている期間」は本判断で終了する。ただし終了の理由は受け皿の実効ではなくラウンド軸の回復である。同 entry の再評価条件のうち「#1853 の probe が導入されず、検出面の移設が成立しないまま定着したとき」は、probe が導入されたため字面では発火しない。導入と実効の差は本 entry が残余として引き取り、下記の再評価条件で受け直す - relates to
brake2-removal-l1-gate-unified-on-brake1— 窓を作ったもう一件。brake 2 の撤廃は本判断の再審対象ではない - conflicts with (現時点で対立 entry なし)
背景
起票 = #1862(2026-09-03、spec / forming)。当初 premise は「受け皿未着」と「Single round で修正稿は再検証されない」の 2 点に立っていた。
2026-09-05 に build-2026-09-05.2 の literal を再確認したところ、その 2 点が両方とも成り立たなくなっていた。「Single round」の文言は現行 skill から消えており(PR #1864)、受け皿の 2 issue は前日にマージ済み(PR #1867 / #1868)。issue body を現状へ書き直したうえで、論点を Master へ出した。
崩れ方が対照的だったことが判断の材料である — 名指しされた受け皿は着地したが検出面を引き受けておらず、名指しされていなかった収束ループのほうが幅を戻していた。
制約
- 床の引き下げ(PR #1856)も brake 2 の撤廃(PR #1810)も決着済みの判断であり、本判断はそのどちらの再審でもない
- 残っている層は縮んでいない — semi_auto の Defense-in-depth の 2 層(AI self-review + spec discipline / Release human gate。説明は
operations-adapter-bodies-carry-behavior-onlyの execution-mode.md 節へ移設、振る舞いはrules/operations/execution-mode.mdMode matrix のAI self-review行と human judgment gate が持つ)、rules/operations/operations.mdPost-L1-Merge Runtime Observation、rules/evolution/memory-entry-format.mdの 2 週間観測サイクル、git revert 圏内 - 再評価条件 = 加算側の自己進化 PR で、旧
N>=3なら捕まえていたはずの欠陥が 3 往復を通り抜けてマージされた観測が出たとき。あるいは測定機構が発火条件(純減 PR のみ)ゆえに長期にわたり一度も走らず、移設が名目のまま定着したとき
結論
採用:窓を閉じ、#1862 を close する。床は N=1、測定機構の発火条件も配置も現状のまま。
却下した案:
- 床を
N>=3に戻す。 実測 0 を「移設未成立」と読めば直接の答えになるが、ラウンド軸で幅が戻っている以上、当初観測が想定した薄さは現存しない。移設の駆動理由を撤回せずに済む形が既にある - 終了条件を「実 PR で two-arm run が 1 回通ること」へ引き直し、窓を開けたままにする。 発火条件が純減 PR に限られるため、その時期を制御できない。到来時期を制御できない条件に紐づけた観測は観測として機能せず、
rules/model/subtractive-structural-beauty.mdCore principle (A) の非 load-bearing な残置になる