目的
brake1-operational-copy-target-conditional の apply ステップが、custom agent を対象とするとき同一セッション内で実行不能である。PR #1778 の brake 2 で実測したため、同判断の射程を確定させる。
測定(PR #1778 、2026-08-17)
本 PR の対象は brake 2 の評価者プロンプトそのものであった。実施順序は brake1-operational-copy-target-conditional の判定基準 —「draft が評価者の観測面に注入コンテキストとして届くか」— を適用して組んだ。custom agent の本文は system prompt として注入されるため、当該基準の下では 適用必須 の側に落ちる。
親は評価対象 SHA から C:\Users\smile\Code\.claude\agents\l1-gate-eval.md へ draft を書き込み、diff で適用も確認したうえで spawn した。
委譲プロンプトに整合チェック1行を入れておいた(「あなたの criteria ブロックに Scope of the check: 節はあるか」)。回答は No — 評価者は改訂前のプロンプトで走っていた。host が agent 定義をセッション開始時に解決してキャッシュしており、セッション中のファイル書き込みが spawn に届かなかったものと読める。
評価者の自己申告であり、外形からの独立確認は取れていない。再現確認が本 issue の最初の作業。
争点
brake1-operational-copy-target-conditional の判定基準そのものは正しい。custom agent の本文は確かに観測面へ注入され、当てなければ旧プロンプトが draft を shadow する — 実際に shadow した。
欠けているのは届けるための手段 である。同 entry は対象種別を rules/** と skills/** の二分で述べており、custom agent(.claude/agents/*.md / .codex/agents/*.toml)は列挙に無い。基準を当てれば適用必須側に落ちるが、落ちた先に実行可能な経路が無い。
brake1-firing-closed-by-criterion と同型の構造 — 列挙が現実の面を覆っていない — だが、そちらは基準へ置き換えることで解けた。こちらは基準の側が既に正しく、解けないのは substrate 側である。
検討方向(確定ではない)
別セッションで走らせる。親が draft を当てて終了し、次セッションで brake 2 を spawn する。単純だが、brake の発火位置(CI 緑後・merge gate 前)をセッション境界に依存させる。
brake 2 の入力形式を変える。評価者プロンプトを対象とする PR に限り、判定基準を inline で渡す(現に L1 diff と stated reason は inline 渡しである)。評価者の identity は変えずに、判定基準だけを差し替える経路。
当該 class では operational copy を不可能として明示し、旧プロンプトで判定されることを受容したうえで、その事実を PR セルフレビューに記録する要求に置き換える。PR spec(model): scope brake 2 to change content, not evidence for it [adapter, docs] #1778 では結果としてこれが起き、未改訂のゲートが判定したことでむしろ強い測定になった (3回 DEVIATION を返した当のプロンプトが PASS を返した)。偶然だが、この class では旧プロンプト判定が劣位とは限らないことを示している。
制約
関連
目的
brake1-operational-copy-target-conditionalの apply ステップが、custom agent を対象とするとき同一セッション内で実行不能である。PR #1778 の brake 2 で実測したため、同判断の射程を確定させる。測定(PR #1778、2026-08-17)
本 PR の対象は brake 2 の評価者プロンプトそのものであった。実施順序は
brake1-operational-copy-target-conditionalの判定基準 —「draft が評価者の観測面に注入コンテキストとして届くか」— を適用して組んだ。custom agent の本文は system prompt として注入されるため、当該基準の下では 適用必須の側に落ちる。親は評価対象 SHA から
C:\Users\smile\Code\.claude\agents\l1-gate-eval.mdへ draft を書き込み、diffで適用も確認したうえで spawn した。委譲プロンプトに整合チェック1行を入れておいた(「あなたの criteria ブロックに
Scope of the check:節はあるか」)。回答は No — 評価者は改訂前のプロンプトで走っていた。host が agent 定義をセッション開始時に解決してキャッシュしており、セッション中のファイル書き込みが spawn に届かなかったものと読める。評価者の自己申告であり、外形からの独立確認は取れていない。再現確認が本 issue の最初の作業。
争点
brake1-operational-copy-target-conditionalの判定基準そのものは正しい。custom agent の本文は確かに観測面へ注入され、当てなければ旧プロンプトが draft を shadow する — 実際に shadow した。欠けているのは届けるための手段である。同 entry は対象種別を
rules/**とskills/**の二分で述べており、custom agent(.claude/agents/*.md/.codex/agents/*.toml)は列挙に無い。基準を当てれば適用必須側に落ちるが、落ちた先に実行可能な経路が無い。brake1-firing-closed-by-criterionと同型の構造 — 列挙が現実の面を覆っていない — だが、そちらは基準へ置き換えることで解けた。こちらは基準の側が既に正しく、解けないのは substrate 側である。検討方向(確定ではない)
制約
skills/evolution-parallel-agent-eval/SKILL.md(L2)および wikibrake1-operational-copy-target-conditional。L1 に触れない見込み。skills/model-source-checkexternal-capability spec-write order)。1回の自己申告のみが根拠である。関連
brake1-operational-copy-target-conditional/brake2-scoped-to-content-not-evidence