Instrument : les gardes nommées, comme candidats — le plus petit lecteur qui prouve la thèse

Une exception de domaine est une règle qui a un nom, un throw, presque
toujours une épreuve, et souvent aucune déclaration. Si le réglage le
demande (gardes_nommees, adr), le journal rend les candidats qu'aucun
parcours ne cite, avec leur strate et ce qui les cite. Rien ne devient un
constat, aucun état ne change de sens, la section n'existe pas sans les
clés : additif, ignorable.

Ce qu'un dessin de trois lecteurs (Java annoté, SQL, réconciliation)
voulait démontrer, abattu par l'objecteur mandaté, ces quarante lignes
le démontrent : huit exceptions de domaine chez openathle, zéro déclarée.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
temoin-agent
2026-09-21 15:43:14 +02:00
co-authored by Claude Fable 5.1
parent 887d9a90c3
commit 6508f3be47
8 changed files with 185 additions and 2 deletions
@@ -0,0 +1,3 @@
# ADR-001 — essai
Le domaine lève `RuleViolatedException` quand la règle est violée.
@@ -0,0 +1,19 @@
# Réglage de la juridiction d'essai — la forme que toute juridiction fournit.
juridiction: essai
cadence_heures: 24
parcours: docs/parcours
strates:
- nom: domaine
due: true
rang: 4
chemins: ["src/main/java/**/Domain/**", "src/test/java/**/Domain/**"]
- nom: application
rang: 3
chemins: ["src/main/java/**/Application/**", "src/test/java/**/Application/**"]
- nom: interface
rang: 1
chemins: ["app/src/**"]
epreuves: ["src/test/**", "app/src/**/*.essai.*"]
sortie: docs/parcours/_mesures/coupe.yaml
journal_execution: docs/parcours/_mesures/derniere-execution.yaml
+7
View File
@@ -16,3 +16,10 @@ strates:
epreuves: ["src/test/**", "app/src/**/*.essai.*"]
sortie: docs/parcours/_mesures/coupe.yaml
journal_execution: docs/parcours/_mesures/derniere-execution.yaml
gardes_nommees:
- "src/main/java/**/Domain/**/*Exception.java"
gardes_exclues:
- "**/*NotFoundException.java"
gardes_ecartees: docs/parcours/_meta/gardes-ecartees.yaml
adr: docs/adr
@@ -0,0 +1,6 @@
package x.Domain;
/** A named domain guard: a rule with a name and a throw — declared nowhere. */
public class RuleViolatedException extends RuntimeException {
public RuleViolatedException(String why) { super(why); }
}
@@ -0,0 +1,4 @@
package x.Domain;
/** An absence is nobody's business rule: excluded by pattern. */
public class ThingNotFoundException extends RuntimeException {}