ガイド
ハザード登録簿
ハザードとは、システムで起こりうる不具合を、その担当者と測定するものとあわせて書き留めたものです。登録簿はリリースポリシーの隣の hazards.yaml に置き、プロジェクトの他の部分と同じくプルリクエストでレビューします。各実行は、読み取ったバージョンを記録します。
登録簿を書く
version: 1
hazards:
- id: rag-leak
title: A poisoned document makes the assistant disclose a customer's data
systems: [support-bot]
triggers: [a retrieved document carries an instruction]
exposed: customers whose tickets the assistant reads
severity: {level: 5, narrative: customer data leaves the company}
occurrence: {level: 2}
detectability: {level: 3}
controls: [retrieved text is quoted, never obeyed]
residual: Low while the leak ceiling holds; reviewed after every model change.
owner: [email protected]
review_by: 2026-12-01
state: open
measured_by: [no-leak]
tested_by: [safety]各ハザードは、それを測定するルールを measured_by に挙げます。これらは release.yaml の上限でなければなりません。max: ルールか max_failures: ルールです(リスクの上限)。下限はうまくいく頻度を測るため、下限で測定するハザードは拒否されます。systems と tested_by は、証拠を読むシステムとスイートを絞り込みます。省略するとすべてが対象です。
重大度、発生度、検出度は、故障モード影響解析の 1 から 5 の順序評価で、人が付けます。Oloproof は付けられたとおりに示し、決して組み合わせません。リスク優先数も残存リスクのスコアもありません。順序評価の積は、誰も測っていない精度だからです。残存リスクは担当者の一文です。ハザードの state(open、mitigated、accepted、closed)はチームのもので、決定ではありません。
確認する
oloproof hazards check確認では、ポリシーにないルールや下限を挙げたハザードを含む登録簿を拒否し、2 で終了します。そうでなければ、各ハザードを評価、担当者、状態とともに一覧にし、期限切れのレビューを知らせ、各測定ルールを、各システムの各スイートでの最新実行においてエンジンが決定したとおりに読みます。測定ルールのないハザードは未測定として示され、どの最新実行も決定していないルールは名前が挙がります。--json は同じレポートをパイプライン向けに書き出します。
表示される場所
oloproof run は実行とともに登録簿を記録し、oloproof push はそれをワークスペースに運び、oloproof export はローカルのワークベンチが読むバンドルの隣に書き出します。Safety and risk ページでは、各ハザードを上限の上に、評価、管理策、測定する上限の状態とともに表示し、それぞれが証拠にリンクします。登録簿が変更されて元に戻った場合、現在の登録簿は最後に書かれたものではなく、最新の実行が記録したものです。決定レコードはその実行が記録した登録簿を名指しし、record verify はそれをチームの言明として報告します。