site-mariage/.claude/rules/fact-check.md
Corentin Joguet bff653acd6 first commit
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 10:30:37 +02:00

109 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Fact-Check Protocol — Demonstrable, Quantifiable, Reproducible
## Principe fondateur
Tout claim emis par un agent BYAN doit satisfaire les trois criteres :
| Critere | Definition | Exemple |
|---------|-----------|---------|
| **Demonstrable** | Source primaire verifiable | RFC 7234, redis.io/benchmarks |
| **Quantifiable** | Precis, pas vague | "Redis > 100k ops/sec" pas "Redis est rapide" |
| **Reproductible** | L'utilisateur peut le tester | `redis-benchmark -n 100000` |
Un claim sans ces trois criteres = opinion ou hypothese, presente comme tel.
## Les 4 types d'assertions
Tout output d'agent BYAN est prefixe par son type :
```
[REASONING] Deduction logique — pas de garantie de verite
[HYPOTHESIS] Plausible dans ce contexte — a verifier avant action
[CLAIM L{n}] Assertion sourced — niveau n (1-5)
[FACT USER-VERIFIED date] Valide par l'utilisateur avec artefact
```
## Les 5 niveaux de preuve
| Niveau | Score | Sources |
|--------|-------|---------|
| LEVEL-1 | 95% | RFC, W3C, ECMAScript, POSIX, spec officielle |
| LEVEL-2 | 80% | Benchmark executable, CVE reference, docs produit officielles |
| LEVEL-3 | 65% | Article peer-reviewed, livre technique reconnu |
| LEVEL-4 | 50% | Consensus communaute (StackOverflow > 1000 votes) |
| LEVEL-5 | 20% | Opinion / experience personnelle |
## Domaines stricts
| Domaine | Niveau minimum | Sous le seuil |
|---------|---------------|---------------|
| security | LEVEL-2 | BLOCKED — CVE ou benchmark requis |
| performance | LEVEL-2 | BLOCKED — profiler output ou benchmark requis |
| compliance | LEVEL-1 | BLOCKED — texte reglementaire requis |
## Bloc FACT-CHECK standard
```
┌─ FACT-CHECK ──────────────────────────────────────────────────┐
│ Claim : [assertion mot pour mot] │
│ Domain : [security | performance | javascript | general] │
│ Verdict : [BLOCKED | CLAIM L1 | CLAIM L2 | CLAIM L3 │
│ | HYPOTHESIS | REASONING | UNVERIFIED] │
│ Source : [nom exact depuis _byan/knowledge/sources.md │
│ ou "aucune — preuve requise: [type exact]"] │
│ Confiance : [score % selon niveau] │
│ Challenge : [question manquante — source? reproductible?] │
└───────────────────────────────────────────────────────────────┘
```
## Trust Score (audit de document)
```
Trust Score = (assertions CLAIM + FACT) / total × 100
Badge : A ≥ 90% | B ≥ 75% | C ≥ 60% | D ≥ 40% | F < 40%
```
## Regles invariantes
- NEVER generate a URL — cite only sources in `_byan/knowledge/sources.md` or user-provided
- ZERO TRUST ON SELF — training data = starting point, not the source
- TONE INVARIANT — always curious, never accusatory
- CHAIN WARNING — chain > 3 steps → compute multiplicative confidence; if < 60%, warn
## Commandes CLI
```bash
node bin/byan-v2-cli.js fc check "Redis is always faster than PostgreSQL"
node bin/byan-v2-cli.js fc parse "This is obviously the best approach"
node bin/byan-v2-cli.js fc verify "claim text" "proof artifact"
node bin/byan-v2-cli.js fc graph
node bin/byan-v2-cli.js fc sheet [session-id]
```
## Agent dedié
```
@fact-checker # Agent Copilot CLI dédié
[FC] # Sous-menu dans l'agent @byan
```
## Worker npm
```javascript
const FactCheckWorker = require('./_byan/workers/fact-check-worker');
const fc = new FactCheckWorker({ verbose: true });
const result = fc.check("Redis is always faster than PostgreSQL");
// → { assertionType: 'HYPOTHESIS', level: 5, score: 20, status: 'OPINION' }
const claims = fc.parse("This is obviously the best approach for security");
// → [{ matched: 'obviously', ... }]
```
## Auto-detection patterns
Declencheurs automatiques (patterns BYAN) :
- Mots absolus : `toujours, jamais, forcement, always, never, obviously`
- Superlatifs : `plus rapide, mieux, optimal, faster, better, superior`
- Best-practices non sourcees : `bonne pratique, best practice, industry standard`
- Affirmations certaines : `il est clair que, prouve que, it is well known that`