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の更新が必要になる

関連