ADR-0132: tasks/prompts を運用プロンプトと定義し本番管理対象外と明文化する
- Status: Accepted (accepted-with-residual-risks — 末尾の HITL 残余リスク節参照。PR #1701 merge = 受理の規約により 2026-06-11 受理)
- Mode: Standard
- Kruchten Type: Existence/Executive
- Scope: platform
- Implementation Status: Not Started
- 起案者: [email protected]
- 起案日時 (JST): 2026-06-10 23:57
- 承認日時 (JST): 2026-06-11 00:36
- Deciders: [email protected] (単独)
コンテキスト
§1.1 背景
ADR-0130(索引・目次・カタログの自動生成規律)受理時、tasks/prompts/ はこの規律の「未決の穴」として残り、Confirmation 6 で「受理から 1 ヶ月以内(2026-07-10)に ADR-0042/0106 系で扱いを決める個別 ADR を起票する」義務が課された。期限超過は ADR-0130 の撤退条件追加トリガーである。本 ADR はこの起票義務を充足するものとして起案する。
§1.2 現状 (As-Is)
tasks/prompts/ に運用・申し送りプロンプトが 221 本(handover_* 103 / task_* 69 / main_* 32 / impl_* 10 / adr_* 3 / sub_* 2 ほか、2026-05-13 以降の約 4 週で蓄積)たまっている。これらはセッション間の引き継ぎ・実装指示・調査メモで、処理されれば役目を終える一時的な作業指示である。しかし現状、これらは ADR-0042 のプロンプト Type 体系(Type 1 本番パイプライン / Type 2 エージェントテンプレート / Type 3 調査 / Type 4 中間物)にも、ADR-0106 の prompt カタログ(scripts/prompt-catalog.mjs が docs/ 配下のみ走査)にも位置づけがなく、管理体系の外にある。
§1.3 課題
実害は 2 つ。(1) 本番プロンプト管理規約との所属が曖昧で、「これは管理対象か(Type いくつか・カタログに載せるか)」の判断が参照のたびに発生する。(2) 役目を終えた申し送りが現役のものと同じ階層に混在し、探すコスト・誤って古い指示を参照するリスクが線形に増える(週約 55 本ペースで蓄積中)。
§1.4 制約・要件
- ADR-0130 Confirmation 6 の起票義務(受理から 1 ヶ月以内 = 2026-07-10)を充足すること。
- ADR-0042 は Accepted で Immutable のため、本体改訂は行わず逆参照で接続すること。
- ADR-0106 の
prompt-catalog.mjs既存実装(docs/配下のみ走査)の挙動を変えないこと。 - 「1 ADR = 1 決定」原則に従い、分類と退避機構を分離すること。
- handover の命名規約・Step 1〜5 順次処理運用は変更しないこと。
§1.5 目標 (To-Be)
tasks/prompts/ の所属を「本番管理対象外の運用プロンプト」と一意に確定し、所属判断の都度発生を消す。あわせて archive 分離の方針を立て、具体機構を別 ADR に委譲する。Non-Goals: 退避の具体機構(マーカー方式・責任者・補助トリガー・CI 強制)は本 ADR では決めない。
決定
tasks/prompts/ を「運用プロンプト(申し送り・実装指示・調査メモ)」と定義し、本番プロンプト管理(ADR-0042 Type 1〜4 / ADR-0106 カタログ)の対象外と明文化する。あわせて「役目を終えた運用プロンプトは現役と分離して tasks/prompts/archive/ 系へ退避する」という方針を確立する。退避の具体機構は別 ADR(退避機構 ADR)に委譲し、本 ADR 受理後 1 ヶ月以内にその起票を行う。本決定は prompt-catalog.mjs が現状 docs/ 配下のみを走査している実装の追認・正典化でもある。
判断基準 (Decision Drivers)
3.1 評価軸
| # | 軸 | 重要度 (係数) | 案件特有の解釈 |
|---|---|---|---|
| 1 | #suitable | [Must] (×2.0) | 本番プロンプト管理(Type 1 / カタログ)と運用プロンプトの責務が混ざらず、所属が一意に決まるか。K.O.: 本番カタログ・Type 体系の既存挙動を変えない。 |
| 2 | #maintainable | [Must] (×2.0) | 本番プロンプト管理体系の保守に、無関係な運用プロンプト 221 本+増分を混ぜずに済むか。K.O.: ADR-0042/0106 の管理対象を肥大化させない。 |
| 3 | #operable | [High] (×1.0) | 所属の都度判断が消え、将来の物理分離(archive)の方針が定まるか。 |
| 4 | #efficient | [Medium] (×0.5) | CI・カタログにノイズ(無関係 221 本)を持ち込まないか。 |
K.O. criterion: Must 軸の score < 3 は不採用。
3.2 評価軸 × 案スコア表
| 軸 | 係数 | 採択案 Z (対象外明文化+方針) | 案 A (カタログ走査追加) | 案 B (Type 新設) | 案 D (分類+機構一括) |
|---|---|---|---|---|---|
| #suitable | ×2.0 | 5 | 1 | 3 | 4 |
| #maintainable | ×2.0 | 5 | 1 | 2 | 3 |
| #operable | ×1.0 | 4 | 2 | 3 | 4 |
| #efficient | ×0.5 | 5 | 1 | 3 | 4 |
| 加重和 (正規化) | 0.964 | 0.236 | 0.527 | 0.736 | |
| K.O. 通過 (Must ≥3) | ✓ | ❌ | ❌ | ✓ |
案 D は K.O. 通過するが、「1 ADR = 1 決定」原則違反と審査での論点発散により採用しない(試行で確認済み)。
検討した代替案 (Alternatives Considered)
- 案 A: ADR-0106 カタログの走査対象に
tasks/prompts/を追加 — 不採用。handover/impl は本番でも調査でもない一時的作業指示で、221 本をカタログ化すると索引がノイズ化し、本番プロンプトの再利用というカタログ本来の目的(探索性)を損なう。責務不一致(§3.2 #suitable=1)。 - 案 B: ADR-0042 に新 Type(運用プロンプト)を新設し Type 体系に組み込む — 不採用(主案に一部吸収)。Type 体系は「管理レベル(SemVer・eval CI・git 追跡)」の軸であり、運用プロンプトは管理対象でなく整理対象。Type 新設より「対象外+逆参照」の方が責務が素直。「Type 体系の外=運用プロンプト」と明記し ADR-0042 へ逆参照を残す点で本案の主旨は反映する。
- 案 C: 現状維持(何もしない) — 不採用。Confirmation 6 の起票義務が未充足となり ADR-0130 の撤退条件トリガーを引く。
- 案 D: 分類と退避機構(マーカー方式・責任者・補助トリガー・CI 強制)を本 ADR で一括決定 — 不採用。分類と機構は別の問題空間であり、1 本に詰めると「1 ADR = 1 決定」に反し、審査でも機構の実装細部に critical 指摘が集中して論点が発散する。
影響 (Consequences)
§5.1 正の影響 (Good)
- 「これは本番管理対象か」の所属判断が参照のたびに発生しなくなる(一意に対象外)。
- 本番プロンプト管理体系(ADR-0042/0106)に無関係な 221 本+増分を抱えずに済む。
- ADR-0130 の「未決の穴」が閉じ、Confirmation 6 を充足する。
- 退避機構の設計を独立 ADR に分離でき、本決定が機構の実装細部に引きずられない。
§5.2 負の影響 (Bad)
- 現役/完了の物理分離は本決定だけでは完了せず、退避機構 ADR の起票・受理という二段目が必要(前提作業)。
- 退避機構 ADR 受理までの数ヶ月間、
tasks/prompts/が RAG・検索インデックスに残り続け、古い handover が「現役の指示」と誤認されて完了済みタスクが重複実行されるリスクがある(Gate 1 #2)。本 ADR の実装項目に「受理直後にtasks/prompts/を RAG・コンテキスト構築スクリプトの除外リスト(例:.ragignoreまたは既存 glob 除外ルール)へ追加する暫定設定」を含める。
§5.3 中立・トレードオフ (Neutral / Trade-offs)
- AI ガバナンス監査リスク (Gate 1 #3):
impl_*(10 本)に本番コード生成直結プロンプトが含まれる場合、「管理対象外」の明文化が EU AI Act / 経済産業省 AI ガバナンスガイドライン下で「追跡不能な本番指示」と認定されるリスクがある。本 ADR では「tasks/prompts/は本番 LLM パイプラインに直接入力されない」ことを技術的に保証する CI チェック・アクセス制御の有無を調査し、保証できない場合は退避機構 ADR で Type 1 昇格フローを明記する(退避機構 ADR に委譲する)。 - 逆参照の片側性 (Gate 1 #5): ADR-0042 が Immutable のため逆参照は本 ADR 側にしか書けず、ADR-0042 を起点に参照する新規参加者には届かない可能性。ADR-0042 の「Immutable」の定義を確認し、索引リンク・関連 ADR セクションへの追記が「改訂」に該当しないと判断できる場合は ADR-0042 にインライン注記を加える(手順は本 ADR 実装時に確定)。
- 先送りバイアス (Gate 1 #4): 受理という節目で退避機構 ADR 起票が「いつでもできる次のタスク」として先送りされるリスク。Confirmation で受理 PR マージ時の同時 draft コミットを必須化して緩和。
撤退条件 (Rollback Plan)
- 本 ADR 受理から 30 日以内 に退避機構 ADR が Accepted されなければ(Gate 1 #1 対応で「起票」から「受理」に強化)、分類だけが残り蓄積が減らない状態となるため、本方針を見直す(分類の意味づけを再検討、または機構込みで再起案)。週 55 本ペースが続けば 30 日後には 440 本超になる蓋然性が高い。
- 退避機構 ADR の検討の結果、「
tasks/prompts/を本番管理対象外とする」前提自体が不成立と判明した場合(例: 本番プロンプトと不可分と判断)、本 ADR を Supersede する。 - 期限の起算: ADR-0130 Confirmation 6 の起票義務充足判定は本 ADR の 起票日(Proposed 化日)基準とする(Accepted 日ではない。レビュー遅延で撤退条件が誤発動しないため)。
コスト試算
- 本 ADR の分類明文化(
tasks/prompts/の README または workspace_rules への「対象外」追記、ADR-0042 への逆参照リンク追記): 0.25 人日。 - RAG・コンテキスト構築スクリプトの除外リスト追加(暫定措置・Gate 1 #2 対応): 0.1 人日。
- 退避機構 ADR の起票(別 ADR・行き先): 起案で 0.25〜0.5 人日(実装はさらにその先・main 専属)。
- 本決定単体での継続コストは増えない(機構が入るまで現状運用のまま)。
Confirmation
- 検証手段:
- (a)
tasks/prompts/の所属が docs(README/workspace_rules)に「本番管理対象外」と明文化され、ADR-0042 へ逆参照が張られているか(受理直後に確認、grep ベース)。 - (b) 退避機構 ADR の draft が本 ADR 受理 PR マージ時に同時コミットされているか(PR チェックリスト項目化、Gate 1 #4 対応)。
- (c) 退避機構 ADR が受理後 30 日以内に Accepted されたか(カレンダーアラート / GitHub issue で 30 日カウントダウンを可視化)。
- (d)
tasks/prompts/が RAG・コンテキスト構築スクリプトの除外リストに追加されたか(設定ファイル差分で確認、Gate 1 #2 対応)。 - (e) 観測可能な代理 KPI として、
tasks/prompts/配下ファイルへの ADR/PR コメントでの「これは管理対象か」類の質問数、または lint/CI でのカテゴリ未分類ファイル検出件数を計測(Gate 1 #6 対応で「所属判断 = 0 回」の暗黙 KPI を観測可能化)。
- (a)
- 実行頻度: 受理直後に (a)(b)(d) を 1 回、退避機構 ADR 起票・受理を受理後 30 日以内に (c) として 1 回。以後は退避機構 ADR の Confirmation に引き継ぐ。代理 KPI (e) は月次。
- 違反時対応: 30 日以内に退避機構 ADR が Accepted されなければ撤退条件に従い本 ADR を見直す。起票責任者は本 ADR 起案者([email protected])。
Known Limitations / Escalated Residual Risks (HITL ratification required)
本 ADR は Cross-Validation で goalpost ループ(3 回の再投入で却下盲点が毎回移動し収束せず・採点は一貫して 45〜48/50 で通過) と判定されたため、自動審査を打ち切り「残余リスク付き Accept」候補として人間レビューに escalate する(ADR-0109 Part4 相当。本件は fresh run での投入のため自動 escalation は発火せず、起案者が goalpost を検知して手動で起票した)。以下は実装時の運用リスクであり、決定(分類)の妥当性を覆すものではない。最終判断はこの PR の merge = 受理 / close = 却下 で行う(LLM critic の反復審査では収束しないと判定されたため、PR レビューが外部検証器となる)。
未解決 critical 盲点(再投入ごとに移動した順):
- (v1) 退避判定を人手照合する運用では、ADR 番号未記載の handover(約 40%)の退避可否が記憶依存となり、担当者交代時に現役を誤退避しうる。
- (v1) 対応 ADR/PR を持たない
task_*/impl_*(約 79 本)に退避トリガーがなく、直下に永続滞留しうる。 - (v2) handover の起票者はセッション終了で離脱するため「起票者がクローズ時にマーカー付与」が最多カテゴリ(約 46%)で構造的に成立しない(消費した後続セッションが付与する設計が要る)。
- (v3) 退避機構 ADR の起票義務が「起票のみ」で受理・実装を要件としないため、分類だけが残り
tasks/prompts/が膨張したまま放置されうる(本 ADR が用いるスコープ委譲パターン自体の既知の限界)。
緩和の方向(行き先=退避機構 ADR が解決すべき設計素材): 完了マーカーは消費者(後続セッション)が付与 / ADR・PR 非依存ファイルは「作成後 N 日+無参照」で退避 / CI lint を受理の前提に / archive を RAG・検索索引から除外 / 起票義務に受理・実装着手の期限を併設。
参照 (References)
- 関連 ADR:
- ADR-0130: Confirmation 6 の起票義務を充足(補完)。索引・カタログ自動化規律が残した「
tasks/prompts/の穴」を分類面で閉じる。期限(2026-07-10)の充足判定は本 ADR の起票日基準。 - ADR-0042: プロンプト Type 体系(Type 1〜4)の対象外であることを明文化(補完・並立)。ADR-0042 本体は Accepted で Immutable のため改訂せず、本 ADR から逆参照し、ADR-0042 側の索引/関連リンクに「運用プロンプトは本 ADR を参照」を going-forward で追記する(Type 4 中間物との解釈分岐を防ぐ)。
- ADR-0106: prompt カタログ(
docs/配下走査)の対象にtasks/prompts/を含めないことを正典化(補完)。 - 退避機構 ADR(行き先・未起票): 本 ADR が確立した「archive へ分離する方針」の具体機構(判定方式・消費者マーキング・補助トリガー・責任者・CI 強制・RAG 除外の恒久化・Type 1 昇格フロー)を所有。本 ADR 受理後 30 日以内に起票・受理(前提作業)。
- ADR-0130: Confirmation 6 の起票義務を充足(補完)。索引・カタログ自動化規律が残した「
- 関連 PR/Issue: -(受理 PR にて draft 同時コミット予定)
- 外部資料:
- EU AI Act(2025 年施行段階)
- 経済産業省 AI ガバナンスガイドライン(2024 年版)