Guides
Registre des dangers
Un danger est quelque chose qui peut mal tourner dans votre système, écrit avec son responsable et ce qui le mesure. Le registre vit à côté de la politique de publication, dans hazards.yaml : il est relu en pull request comme le reste du projet, et chaque exécution enregistre la version d’après laquelle il a été lu.
Rédiger le registre
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]Chaque danger nomme dans measured_by les règles qui le mesurent. Ce doivent être des plafonds de release.yaml : une règle max: ou une règle max_failures: (Plafonds de risque). Un plancher mesure la fréquence à laquelle quelque chose se passe bien ; un danger mesuré par un plancher est refusé. systems et tested_by restreignent les systèmes et les suites dont la preuve est lue ; absents, tous comptent.
La gravité, l’occurrence et la détectabilité sont les notes ordinales d’une analyse des modes de défaillance et de leurs effets, de 1 à 5, données par des personnes. Oloproof les montre telles qu’elles ont été données et ne les combine jamais : pas de nombre de priorité de risque ni de score de risque résiduel, car le produit de notes ordinales est une précision que personne n’a mesurée. Le risque résiduel est la phrase du responsable. L’état d’un danger (open, mitigated, accepted ou closed) est celui de l’équipe, jamais une décision.
Le vérifier
oloproof hazards checkLa vérification refuse un registre dont un danger nomme une règle absente de la politique, ou un plancher, et se termine avec 2. Sinon elle liste chaque danger avec ses notes, son responsable et son état, signale une revue en retard, et lit chaque règle de mesure à la dernière exécution de chaque système sur chaque suite, telle que le moteur l’a décidée. Un danger sans règle de mesure est listé comme non mesuré, et une règle qu’aucune dernière exécution n’a décidée est nommée. --json écrit le même rapport pour un pipeline.
Où il apparaît
oloproof run enregistre le registre avec l’exécution, oloproof push le porte jusqu’à votre espace de travail, et oloproof export l’écrit à côté des bundles qu’un atelier local lit. La page Safety and risk montre chaque danger au-dessus des plafonds, avec ses notes, ses contrôles et l’état des plafonds qui le mesurent, chacun lié à sa preuve. Lorsqu’un registre a changé puis est revenu en arrière, le registre actuel est celui que l’exécution la plus récente a enregistré, pas le dernier écrit. Un enregistrement de décision nomme le registre que son exécution a enregistré ; record verify le présente comme la parole de l’équipe.
Pour aller plus loin
- Plafonds de risque couvre les règles qui mesurent un danger.
- Gating couvre la façon dont un plafond bloque une publication.