ADR-012: プロジェクト状態と運用手順を分離する
決定日: 2026-07-18 状態: 有効
背景
10-Projects/tasks/ に、実行中の作業・解決済みだが再評価が必要なもの・現在の運用手順が混在し始めた。
特に、Noctalia v5のような「いまは動かないが、将来の条件で再確認するもの」を open のまま扱うと、今日やるタスクの一覧が濁る。
また、着信♪うたからNavidromeへ取り込む手順や、購入済みコンテンツをLANraragiへ投入する手順は、タスクではなく環境の現在形として残す必要がある。
決定
1. taskは変化を管理する
10-Projects/tasks/ は、次に行う作業とその状態を管理する。
現在の運用手順やサービスの正本説明はtask本文に集約しない。
2. watchingを導入する
次のようなtaskは status: watching とする。
- 一旦解決したが、一定期間の観測が必要
- 外部のリリースや環境変化を待つ
- いま行動する必要はないが、再評価の条件がある
watching には review_after または review_trigger を記録する。
status: watching
review_after: "2026-08-01"
review_trigger: "Noctalia v5の安定版・現行環境への影響を確認"due は期限までに行動する日、review_after は再判断できる日として使い分ける。
3. runbookはPermanentに置く
環境固有の運用手順は 03-Permanent/ に置く。
サービス説明だけでなく、正本・処理順序・検証条件・失敗時の扱いを記録するものは #reference と #tracking を使う。
4. ADR・runbook・task・Gitの役割を分ける
- ADR: なぜこの構造・方針を選んだか
- runbook: 現在どう運用するか
- task: 次に何を変えるか、何を再評価するか
- Git: runbookや設定がどう変わってきたか
runbookに版番号を持たせず、updated とVault Gitの履歴を使う。
トレードオフ
watchingの棚卸しをしないと、open taskとは別の停滞置き場になる- runbookと実装スクリプトが乖離する可能性があるため、コマンドの正本はリポジトリ側に置き、runbookから参照する
- statusの契約変更に伴い、reindexとlintの更新が必要になる