Lycaonにおけるインシデント管理にステータス管理機能を追加し、インシデントのライフサイクルを適切に追跡・管理できるようにする。
以下の4つのステータスを定義する:
- Triage - インシデントの初期評価・分類段階
- Handling - インシデント対応実施中
- Monitoring - 対応後の監視段階
- Closed - インシデント終了
- デフォルト: 新規インシデント作成時は
Handlingから開始 - オプション: インシデント宣言時のモーダルで「Triage checkbox」にチェックを入れた場合は
Triageから開始
各ステータス変更について以下の情報を記録する:
- 変更日時
- 変更後のステータス
- 変更を実施したユーザー情報(SlackユーザーID、名前)
- Incidentsのサブレコードとして管理
- 時系列での追跡が可能な構造
- コマンド:
@lycaon statusまたは@lycaon s - 動作: 現在のインシデント情報(タイトル、説明、ステータス、リード)を新しいメッセージとして投稿
- メッセージにはEditボタンを付与
- Editボタンクリックでモーダルを表示
- 編集可能項目:
- タイトル
- 説明
- インシデントリード
- ステータス
- 既存のDeclareモーダルに「Triage checkbox」を追加
- チェック時はTriageステータスで開始
- 右サイドバーにステータスセクションを表示
- 表示内容:
- 現在のステータス(大きく表示、色分け)
- ステータス変更ボタン
- シンプルなステータス履歴
- 相対時間表示(例:2h ago)
- ステータス遷移を矢印で視覚化(行間の上向き矢印で連結)
- 変更者名(@username形式)
- 状況メモ(グレーのサブテキスト)
- Web UIからもステータス変更を可能にする
- 変更時は実施者と日時を自動記録
- Slack上の表示(インシデントリスト、メッセージ等)
- Web UI上の表示(インシデントリスト、詳細画面等)
- すべての箇所でステータスの変更が即座に反映される
- Firestoreにステータス履歴を保存
- メモリ実装でも同様の機能を提供(テスト用)
- ステータス変更はインシデントに関わるメンバー全員が実施可能
- 変更履歴の閲覧は全メンバーが可能
- ステータス変更は非同期で処理
- UIは即座に更新を反映
- ステータスの逆戻りは可能(例:Closed -> Handlingへの再オープン)
- ステータス履歴は削除不可(監査証跡として保持)
- 一度設定したステータスの履歴は編集不可