Skip to content

brake1 per draft axes held at two

Claude Lin & Lay edited this page Aug 31, 2026 · 1 revision

brake 1 の per-draft 軸を 2 本に固定し、写すだけの literal として保持する

Question

brake 1(skills/evolution-parallel-agent-eval)の per-draft 軸は、差分の性質に合わせて親が spawn の瞬間に書き起こす設計だった。実測で 5〜7 本。親は評価器具(軸文言)を、その器具の対象をリテラルに読んでいるのと同じ瞬間に書いており、リテラル検証は対象には届くが器具には届かない。何本を、どこに置くか。

Current resolution

per-draft 軸は 2 本で固定する。

  • A = この差分は、自分の issue が要求したことを満たしているか
  • B = この差分は、規則に反していないか(この差分自身が新設した規則を含む)

どちらも skills/evolution-parallel-agent-eval/SKILL.md Axis statement form の Held per-draft axes に写すだけの literal として保持する。親がその瞬間に書くのは各軸の Unit と Scope だけであり、Question / Verdict terms / Basis は書き起こさない。固定軸(impression-literal)を含めて合計 3 本(6 → 3)。

B を対象ごとに割ることと、per-draft 軸を 3 本目へ増やすことを禁じる。

射程は brake 1 経路に限る。 保持した 2 本の Basis は PR とその PR が閉じる issue に対して解決するため、PR フローの外で収束した draft には解決先が無い。Trigger の他の発火モーメントでは固定軸のみが保持形で入り、それ以外は従来どおり差分の性質に合わせて組む。測定が届いたのは brake 1 経路だけであり、固定をそこから先へ持ち出さない。

Edges

  • depends on parallel-subagent-eval-three-axis-decomposition — N / M / P の三軸は 1 ラウンド内の幅を規定する。本決定が固定するのは M が運ぶ軸の中身であり、三軸の値そのものは動かない
  • depends on brake1-single-round-cap — 1 巡で打ち切る以上、その 1 巡がどこへ届くかは軸の射程で決まる。軸を減らす判断は、巡回で拾い直せないという前提の上にある
  • conflicts with (現時点で対立 entry なし)

背景 — 測定サイクル1(#1832、2026-08-31)

同一差分に対する多軸/一軸の事後盲検比較。対象は #1833 の第1コミット(裁定前)、中立名 measurement-baseline-a として push。評価者に PR 番号・PR コメント・issue 本文を渡さない盲検条件。

正解(多軸側、確定済み): 指摘 6 件、うちリテラル照合で採用 4 件。

一軸(Li+ 規則準拠のみ)N=3 の再現:

一軸側の再現
多軸側で採用された 4 件 0 件
多軸側で却下された 2 件 1 件(1/3)
多軸側に無かった新規指摘 1 件(1/3)— 実測で成立

新規指摘は docs/2.-Evolution.md:277。brake 1 の発火条件の導出を丸ごと保持したまま末尾に判断記録ポインタを追記しただけであり(word-diff で確認、除去ゼロ)、多軸側の軸4 が 2/3 で捕まえた同一クラスの別インスタンス。多軸側はそちらを直してこちらを見落としている。#1835 として起票・修正済み。

読み: 両者は包含関係にない。射程が違う。

  • 一軸が採用 4 件を落とした理由は明白で、あれらは「常設の Li+ 規則に違反しているか」ではなく「この issue が要求したことを満たしているか」だった。「義務を各単位の冒頭に置け」という規則は Li+ に存在せず、#1831 の段階2 が要求したことである。一軸の問いは構造上そこへ届かない。
  • 逆に一軸は、その差分自身が宣言した規則との自己矛盾を捕まえた。差分の性質に合わせて後から組んだ 5 本がこれを見落としている。

背景 — 測定サイクル2(PR #1837 の brake 1)

A / B / 固定軸の 3 本で実行(N=3)。結果は軸B clean 3/3、固定軸 clean 3/3・flag 0、軸A に指摘 1 件(1/3)——issue の制約が名指しで対象外とした 2 箇所を変更している件。裁定で 1 箇所受入・1 箇所却下、親の検分で成立。

サイクル1 より弱い証拠であることを明記する。 サイクル1 は同一差分に対する比較だったが、サイクル2 は「多軸で組んでいたら何が出たか」の対照を持たない。示せたのは、軸A が実在の欠陥を捕まえたこと(汎用の規則準拠では届かない位置)と、B・固定軸が空振りしなかったことのみ。

判断の道筋 — 撤回した 2 案

issue 本文が最初に立てた仮説は「一軸で per-draft 軸の束を置き換えられる」であり、サイクル1 はこれを否定側に倒した(採用 4 件をすべて落としている)。

そこで一度「置換ではなく追加」(既存の per-draft 軸群に一軸を足して 6 本へ)へ流れたが、同日撤回した。減らす問いに対して増やす答えを返していた——両方の射程が分からないから両方残す、は rules/model/subtractive-structural-beauty.md Core principle (C) が判断ではないと名指している保存の反射である。

測定を形で読み直したときに軸は 2 つへ落ちた。サイクル1 の指摘 7 件を形で分けると二種しか無く(A 型 4 件・B 型 3 件)、親が差分ごとに書き起こしていた 5〜7 本は、この 2 つの問いを対象ごとに書き直したものだった。A と B は同じ集合を、主題ではなく形の側から読んだものである。

なぜ 1 本でも 6 本でもないか(判定の 3 点)

  1. B は割らない。 サイクル1 で、対象ごとに割った 2 本(mirror 一致 / 参照の整合)が割れ目に座っていた実例を落とし、汎用形の一軸が拾った(#1835)。割ると隙間ができる。
  2. A は B に覆われない。 サイクル1 で B のみの一軸は採用 4 件をすべて落とした。A の問いは常設規則への準拠とは別軸であり、構造上 B の射程外である。
  3. A は空振りしない。 サイクル2 で A が唯一の指摘を返した。

保持形にした理由

軸文言を毎回書き起こす経路そのものが欠陥面だった(#1692、3 日で 7 回観測、うち 5 回が「一つの軸名が複数の問いを抱える」形)。Question をその瞬間から取り除くことが、形の再発していた場所を塞ぐ。残るのは Unit と Scope の記入であり、Axis statement form の 5 部はその記入が照合される先として読む。

Unit / Scope は差分ごとに変わるため開けてある。開いた 2 部分に対する No は当該実行限りで消えるが、保持された 3 部分に対する No は literal 側に着地し、以後のすべての実行に効く。

降りたもの(明示)

per-draft 軸が差分の性質に追随しなくなる。ある差分に固有の観測面(例: skill description の invoke 判定しやすさ)は、A か B のどちらかの Scope に載るか、載らなければ拾われない。サイクル2 は「多軸で組んでいたら何が出たか」の対照を持たないため、この損失は測定されていない。post-merge observation 軸で受ける。

要求仕様書 (1-6)

参考文書 (A-L)

判断構造

Clone this wiki locally