Align skill descriptions with the firing moments their bodies declare - #1643
Conversation
skill の description は Li+ 唯一のルーティング信号であるため、body の節が名指しする発火モーメントに対応する description 条件が無いと、まさにその瞬間に誰もその skill を開けない。#1634 の監査で検出された対象 10 件を、決定済みの優先順(1. body 節を削る → 2. 発火モーメントを所有する面へ節を移す → 3. description に条件を追加)に沿って解消した。L1 分(4 / 11 / 12)は #1641 へ分離済みで本コミットの対象外。 - 1: operations-on-sub-issue の description に pre-commit の scope-exceed 条件を追加(方針 3) - 2: memo-mode rapid intake を operations-on-issue-maturity から operations-on-issue-format へ移送(方針 2) - 3: cold-start での Latest 表面化抑止を rules/evolution/cold-start-synthesis.md へ移送し、release skill 側は完了報告の 1 モーメントに絞った(方針 2 + 1) - 5: task-subagent-delegation の description から、対応する body 節を持たない第 3 条件を削除 - 6: operations-on-docs-ownership の description に pre-edit の grep-sweep 条件を追加(方針 3) - 7: evolution-self-eval の description を「記録要否を判断する瞬間」から発火するよう拡張(方針 3) - 8: aggregation の既定は body 側(判断の非対称性による per-judgment 選択)を正とし、description の safer-side OR 既定を削除。impression-literal-detection の較正も絶対閾値の記述へ改めた - 9: evolution-loop の Provides を実在節(stage definitions / execution mode / stage responsibility)へ一致 - 10: operations-on-merge / operations-on-pr-review の Provides に post-merge 義務を追加 - 13: task-pr-review-judgment の description に actor 軸(main agent)を明記 docs/2.-Evolution.md と docs/3.-Task.md は移送・トリガー変更に同一 PR で追随した。 Refs #1634 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
brake 1 (N=3) adjudication carried one finding into the draft: the Provides clause of skills/operations-on-pr-review/SKILL.md named the human gate and the deferred-item follow-through but omitted "Delegated-subagent stop condition (canonical, split by mode)", which is the section five other surfaces cite as the authority (rules/evolution/initiator-autonomy.md, evolution-parallel-agent-eval, task-subagent-delegation x2, task-subagent-prompt) and which docs/L. pins as a measured hop anchor. Provides 句の omission は本 issue の項目 10 と同じクラスの欠落であり、完了条件 「Provides 句が body の実在節と一致している」を満たしていなかった。最も参照の多い 節が名乗られていないまま残るのを避けるため、裁定の上で取り込む。 Refs #1634
liplus-lin-lay
left a comment
There was a problem hiding this comment.
自己レビュー結果: pass
判断基盤 = issue #1634 本文 + PR diff (5227475) + CI 結果(governance 2 本 pass、mergeStateStatus CLEAN)
完了条件の照合
- body の各節が名指しする発火モーメントに description 条件が存在する(または節が消えている) — 10 項目すべてで満たされている。優先順(削る → 移す → 条件追加)が項目ごとに適用され、条件追加を選んだ 3 件(1 / 6 / 7)は理由が PR 本文に記録済み。親が各理由を原文で検証した(項目 1 の
rules/task/task.md:38とdocs/L.-Hop-Count-Instrument.mdアンカーは実在、項目 6 の移送先候補が L1 でスコープ外である点も正しい)。 - Provides 句が body の実在節と一致している — brake 1 で
operations-on-pr-reviewの欠落を検出し、本 PR 内で修正した(5227475)。他の touched description は照合済み。 - 項目 8 の aggregation 既定が 1 つに定まり、参照側の較正がそれに一致 — body 側(判断の非対称性による per-judgment 選択)に確定。
evolution-impression-literal-detectionの較正は閾値を絶対値で述べる形に改まり、Procedure step 4 の fixed-axis override 経路を参照している。 - 項目 13 の判別軸が description から読める —
task-pr-review-judgmentの description が main agent を名指しし、delegated subagent をoperations-on-pr-reviewへ振り分けている。
brake 1
N=3 / model=sonnet / 単一ラウンドで実施。所見の裁定内訳は PR 本文の brake 1 節に記載(取り込み 1 / 分離 1 → #1645 / 却下 1 / 記録のみ 1)。却下と記録のみの判断は、いずれも原文または固定軸の集約閾値に照らして行った。brake 2 は対象外(L1 Model Layer source を含まない。L1 分は #1641 / PR #1644 に分離済み)。
申し送り
listing コストの実測値 net +1236 バイト(corpus 比 約 +7%)を PR 本文に記録した。issue #1634 が優先順の対象外としていた「Provides 是正は減少側」という前提は経験的に誤りであり、この PR は総体として #1542 の観測と逆を向いている。個々の選択は各軸で正当化されているため本 PR はマージするが、この数値は #1542 側の判断材料として残す。
バージョン種別: patch
rules/operations/release-version-rule.md の判断軸に照らし、変更規模は 10 項目の局所的な description 整合であり large refactor / large structural change に当たらない。routing 面の挙動は変わるが incremental scope であり、minor の「large」修飾を満たさない。semi_auto の patch 直接マージ経路を適用する。
Closes #1634
概要
skill の
descriptionは Li+ 唯一のルーティング信号であり、body に節を足したときに description を元のスコープのまま置くと、その節が名指しする「まさにその瞬間」に誰もその skill を開けない。issue の決定に従い、対象 10 件(1 / 2 / 3 / 5 / 6 / 7 / 8 / 9 / 10 / 13)を解消した。L1 分(4 / 11 / 12)は #1641 へ分離済みで本 PR の対象外。解決方針の優先順(1. body 節を削る → 2. 発火モーメントを所有する面へ節を移す → 3. description に条件を追加)を各項目に適用した。
項目別の適用結果
operations-on-sub-issueの description に pre-commit の scope-exceed 条件を追加operations-on-issue-maturityからoperations-on-issue-formatへ移送rules/evolution/cold-start-synthesis.mdへ移送し、残る catch-all は scope 文へ畳んだtask-subagent-delegationの description 第 3 条件を削除operations-on-docs-ownershipの description に pre-edit の grep-sweep 条件を追加evolution-self-evalの description を「記録要否を判断する瞬間」から発火するよう拡張safer-side OR既定を削除し、非対称性による per-judgment 選択に改めたevolution-loopの Provides を実在節に一致operations-on-merge/operations-on-pr-reviewの Provides に post-merge 義務を追加task-pr-review-judgmentの description に actor 軸(main agent)を明記方針 3 を選んだ理由(完了条件の要求事項)
項目 1 —
operations-on-sub-issue方針 2(
operations-on-commitへの移送)を先に検討したが採らなかった。理由は 3 つ。operations-on-commitの Provides は「git push の primary / fallback 手順」であり、scope ゲートを body に足すと Provides を拡張せざるを得ない。これは本 issue が直そうとしている B 類(Provides 不正確)を移送先で作り直すことになる。rules/task/task.md:38(always-on)がskills/operations-on-sub-issue/SKILL.mdを当ゲートの権威として名指ししており、移送すると常時ルール側の参照先を書き換える必要がある。docs/L.-Hop-Count-Instrument.mdの S4 は同アンカーからの跳躍先としてこの skill を実測値に固定している。移送は計測済み instrument の経路を無効化する。節は sub-issue のスコープ統治そのものであり、所有面は変えずに description 側で pre-commit の瞬間を拾うのが最小。
項目 6 —
operations-on-docs-ownershippre-edit の grep-sweep は「編集の直前」に発火する必要があり、その瞬間を所有する既存の面が L4 に存在しない(唯一の候補である
rules/model/trigger-check-gate.mdは L1 で本 issue のスコープ外)。節自体は同期集合の drift を止める load-bearing な手続きのため削除も不可。よって description へ条件追加。項目 7 —
evolution-self-evalbody の trigger(
Record when fact is observed)は「記録するかどうかを決める側」で、既存 description(about to be recorded)は決めた後にしか発火しない。判断の瞬間を所有する別の面が無く、trigger 節は自己評価の入力規律そのものなので削除も不可。第 1 条件を観測モーメント側へ拡張した(既存の記録モーメントは第 2 条件として保持)。項目 8 の確定
body 側(
Design Dimensionsの aggregation rule = 判断の非対称性による per-judgment 選択)を正とした。Procedure step 4 が body の aggregation rule を参照して実行し、step 6 が three-value 分岐を実行しているため、description のsafer-side OR既定は実行手順と両立しない。参照側の
skills/evolution-impression-literal-detection/SKILL.mdはnarrower than brake 1's default safer-side ORという相対表現で較正していたため、比較参照先を失う。固定軸が Procedure step 4 の fixed-axis override 経路を通ること + 2-of-3 / 1-of-3 の絶対閾値、という形に改めた。追随した docs
docs/2.-Evolution.md— cold-start 運用基準に Latest 位置の bullet を追加、Self-Evaluation のトリガー列を更新docs/3.-Task.md— memo モード rapid intake を Issue Maturity 節から Issue Format 節へ移送検証
python3 -m unittest discover -s tests= 38 tests OKsafer-side OR既定 /entry and exit contract/ delegation 側bounded read-only)の残存を post-grep で 0 件確認観測(本 PR のスコープ外)
workspace/wiki/J.-Restructure-Inventory.md:151がoperations-on-issue-maturityの責務として memo-mode rapid intake を挙げているが、同ページは wiki 専属かつ過去の restructure 時点のインベントリ記録であり、docs/ に対応物を持たない。本 PR では触っていない。brake 1 結果(親による裁定、N=3 / model=sonnet / 単一ラウンド)
固定軸(impression-literal)+ routing 被覆 / Provides 整合 / 優先順遵守と listing コスト / 参照整合 / 過剰発火の 6 軸。評価者には PR URL・SHA
ac04cc9・green CI run URL のみを渡し、rules/evolution/cold-start-synthesis.mdについては operational copy を.claude/に適用してから spawn した(評価後に restore 済)。取り込んだ所見
operations-on-pr-reviewの Provides 欠落(1/3 検出、親が原文で裏取り)。Provides が human gate と deferred-item follow-through を名乗る一方、Delegated-subagent stop condition (canonical, split by mode)を名乗っていなかった。同節はrules/evolution/initiator-autonomy.md/evolution-parallel-agent-eval/task-subagent-delegation(2 箇所) /task-subagent-promptから正本として参照され、docs/L.-Hop-Count-Instrument.mdの測定アンカーでもある。項目 10 と同一クラスの欠落のため取り込み、Provides に追記した。分離した所見
task-subagent-spawnのカテゴリ帰属(1/3 検出、親が原文で裏取り)。項目 5 がtask-subagent-delegationから bounded read-only investigation の条件を外した結果、task-subagent-spawnの「これら 4 カテゴリで網羅」という宣言が、description も body もそのカテゴリを持たない skill に帰属を主張したまま残った。本 PR の 10 項目スコープ外かつカテゴリ所有の設計判断を含むため Bounded read-only investigation is a delegation category no skill body owns #1645 に分離。却下した所見
operations-on-releaseの残余 catch-all が依然到達不能(1/3)。原文を確認したところ、当該節はApplication moment = the release create completion reportと単一の発火モーメントのみを宣言しており、これは description の第 4 条件が被覆している。Scope:行はそのモーメント内での適用範囲の限定であって、独立した発火モーメントの宣言ではない。到達不能な moment 主張を落として到達可能なものだけを述べる形になっており、完了条件を満たしている。残り 2 名も同じ判断(うち 1 名は「その catch-all はもともと routable ではなかったので、実際に到達可能なものだけを述べる形が正しい」と明示)。記録のみ(固定軸 1/3 の閾値により auto-refine せず)
skills/task-pr-review-judgment/SKILL.md:3の追加句and it reaches the judgment without reading the operations skillsが removal test に落ちるとの指摘(1/3)。actor 軸の判別は「main-agent surface」+「delegated subagent はoperations-on-pr-reviewを取る」で既に成立しており、当該句は body のResponsibilities記述を routing 面に再掲している、という内容。skills/evolution-impression-literal-detection/SKILL.mdAggregation の 1-of-3 は記録のみ・auto-refine しない、に従い本 PR では変更しない。listing コストの実測(訂正)
issue #1634 は「Provides 句の不正確の是正は listing コストの減少側」を前提に優先順の対象外としていたが、この前提は経験的に誤りだった。touched 13 本の
description:行を SHA 間で実測:減少したのは項目 5 の削除のみで、Provides 是正(8 / 9 / 10)はすべて増加側。全 44 本の corpus に対して約 +7%。3 名中 2 名がこの点を指摘し、親が独立に同じ数値を実測した。個々の選択は各軸で正当化されているが、総体としては #1542 の観測と逆を向いている。この事実は #1542 側の判断材料として残す。