Skip to content

L1 skill descriptions cannot route to firing moments their bodies declare #1641

Description

@liplus-lin-lay

目的

#1634(skill body の節が名指しする発火モーメントに、その skill を開く description 条件が無い)の監査結果のうち、model-* 接頭辞 = L1 Model Layer に該当する 3 件。#1634 は制約により L1 に触れないため、本 issue が受け皿となる。

前提

起点 = 人間(2026-08-03、Master の明示指示)。 skills/evolution-l1-update-gating の Initiation-axis scope of the observation threshold により、long-horizon observation 閾値は本 issue の独立した前提条件ではない。同節の literal: 人間が L1 変更を指示した場合(human-initiated, AI-implemented)は起点に人間の判断が存在し、brake 2 が PR をゲートする。この対が、AI 単独起動時に閾値が果たす「不在の人間判断を蓄積証拠の重みで代替する」役割を既に満たしている。

これは gate の緩和ではなく initiation 軸の切り分けである。AI 単独起動における閾値は hard requirement のまま変わらない。

確認済みの事実

共通形状は #1634 と同一: body に固有の発火条件を散文で抱えた節が追加され、ルーティングする唯一の面である description は前のスコープのまま残された。

  1. model-source-check — body 11 節のうち :73 External-capability spec-write order:105 System-injected output litmus が Provides にも発火条件にも無い。後者の litmus(:107 The injected value is the claim to verify, not the verification)は on-session-start.sh が毎起動でマーカーを注入する以上セッション中の最高頻度ケースであり、その最高頻度の瞬間に skill を開く条件が存在しない。
  2. model-trigger-check-gate-actions — description 9 条件に対し body :24 の trigger moments は 10。未ミラー 2 件のうち :30「Before choosing Character / tone / closing」は、skills/evolution-self-eval/SKILL.md:68 が「Primary axis = Character drift」と置く当の瞬間。primary axis の発火モーメントが routing 面から不可視。
  3. model-agentic-search — 44 本中唯一、description が Provides 句を持たず、末尾が行動規則の断片で終わる。862 文字(最長)をすべて発火条件に費やしており、body の二段 retrieval プロトコルと 9/12 クエリ予算がルーティング面から不可視。発火条件自体は精密なので skill は開くが、複数が同時に一致した瞬間に比較できない。

制約

  • L1 Model Layer 変更のため、実装 PR は brake 1 に加えて brake 2(adapter/claude/agents/l1-gate-eval.md の root-criteria evaluator)が必須。 DEVIATION は merge ブロック。rules/operations/execution-mode.md の semi_auto patch auto-merge はこのゲートを迂回しない。

  • 解決方針の優先順Skill body sections declare firing moments their description cannot route to #1634 で確定、本 issue にも適用)。各項目に対し上から順に適用可能な手段を採る:

    1. body 節を削る(その節が load-bearing でない場合)
    2. 発火モーメントを所有する always-on ルール / 別 skill の body へ節を移す(listing コスト増ゼロ)
    3. description に条件を追加する(1 / 2 が不可能な場合のみ。選んだ理由を PR 本文に記録する)

    Provides 句の不正確の是正は listing コストの減少側であり、この優先順の対象外。

  • 3 は Split model-agentic-search by firing condition (L1, brake 2 required) #1599(発火条件による分割)とは別軸。分割しても Provides 句欠落は残るため、本 issue では house 形(Invoke-when / Provides)への一致のみを扱い、分割自体には踏み込まない。

  • L1 は seed であり attachment chain 上で最も動かしにくい端。節の追加ではなく、既存 body の発火モーメントを routing 面に正確に反映させる範囲に留める。新しい規範を L1 に足さない。

対象ファイル

  • skills/model-source-check/SKILL.md(1)
  • skills/model-trigger-check-gate-actions/SKILL.md(2)
  • skills/model-agentic-search/SKILL.md(3)

いずれも frontmatter layer: L1-model。body 節の移送先を選ぶ場合、移送先が L1 以外になるなら移送先ファイルも対象に加わる。

完了条件

  • 上記 3 件の body 各節が名指しする発火モーメントに、その skill を開く description 条件が存在する(または、その節が body から消えている / 発火モーメントを所有する別の面へ移っている)
  • model-agentic-search の description が house 形(Invoke-when / Provides)に一致する
  • 方針 3(description への条件追加)を選んだ項目について、その理由が PR 本文に記録されている

関連

Metadata

Metadata

Assignees

No one assigned

    Labels

    done役目完了、orchestration (review / merge / close) フェーズ待ちready本文が実装開始できる形まで収束している状態。ただし更新は継続可能specLi+の挙動に影響する仕様・ポリシー・定義

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions