corentin_wakdo/.claude/rules/fact-check.md
Imugiii c044d9b48c docs: initial project context and methodology scaffold
Bootstrap commit pour le projet Wakdo (borne de commande RNCP 37805).

Contenu :
- docs/PROJECT_CONTEXT.md : source de verite du projet (scope, stack,
  architecture 2 FQDN, mapping critere RNCP/feature, planning, conventions)
- .claude/CLAUDE.md : constitution du projet (methodologie BYAN)
- .claude/rules/ : protocoles applique (fact-check scientifique, ELO trust,
  merise-agile, hermes-dispatcher, byan-api, byan-agents)
- .gitignore : scope Option C (moteur BYAN ignore, methodologie visible)

Stack : PHP 8.3 + MariaDB 11 + Apache Alpine + Docker + Traefik + GitHub
Actions. Strategie B unifiee (front vanilla + back POO MVC from scratch +
DevOps containerise). Deadline septembre 2026.
2026-04-24 08:17:37 +00:00

4.3 KiB
Raw Permalink Blame History

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

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

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