【要約】共有インフラ事故の初動を診断するCLI siir の構造と設計判断 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
共有インフラの運用者は、事故発生時の責任分界が曖昧になるという課題に直面している。ブランド数と基盤数が異なる構造では、初動の判断ミスが致命的な混乱を招く。具体的には以下の問題がある。
- ・報告主体や通知タイミングの決定権が不明確で、組織間の連携が遅れる。
- ・既存のExcelやMarkdownによる管理は、機械的な採点や自動検知ができない。
- ・平時に整えた備えが時間の経過とともに形骸化しても、検知する仕組みがない。
- ・非構造的なドキュメントは、AIエージェントによる構造的な理解が困難である。
// Approach
開発者は、備えを「機械可読な正本」と「診断CLI」に分離するアプローチを採用した。これにより、人間・CI・AIの三者が同一の判定基準を共有できる。具体的な手法は以下の通りである。
- ・責任境界や契約条項をYAMLで定義し、JSON Schemaで検証する。
- ・契約SLAと法令SLAを別々の正本として分離し、更新の独立性を確保する。
- ・Overlay機能により、既存定義の「追加」と「厳格化」のみを許可し、緩和を拒絶する。
- ・決定的なexit codeを実装し、CI/CDパイプラインのゲートとして機能させる。
- ・AIエージェント向けのスキル定義(examples/skills/)を同梱する。
// Result
siir の設計により、インシデント対応の準備状況を継続的に自動監査できる環境が整った。これにより以下の成果が得られる。- ・CI/CDへの統合により、責任境界の未割当やSLA違反を自動的に検知できる。
- ・Base定義をフォークせずに、顧客ごとの個別要件を安全に拡張・適用できる。
- ・構造化された出力により、AIエージェントによる高度なインシデント対応支援が可能になる。
- ・決定的な判定結果により、インシデント初動の「最初の30分」の確実性が向上する。
Senior Engineer Insight
> 「ガバナンスをコードで管理する」という思想が徹底されている。特に、Overlayにおいて「緩和(weakening)」を機械的に拒絶する設計は、標準化を維持しつつ個別要件を吸収する上で極めて実戦的だ。また、法令の「速やかに」といった非数値的な表現を、無理に数値化せず
info レベルとして扱う割り切りも、誤判定を防ぐ観点から高く評価できる。SREがインシデント対応の準備状況をSLOのように管理するための、強力なフレームワークになり得る。