# Méthode scientifique - version 1.0, 14 octobre 2026

## Réseau neuronal
Un MLP entièrement connecté, 1–6 couches cachées de 1–8 neurones. Features : x, y, x², y², xy, sin(x), sin(y). Sortie tanh pour classification binaire à labels -1/+1. Activation cachée tanh, ReLU, sigmoid ou linear. Erreur par point : 0.5 × (prediction - label)^2 ; affichage de sa moyenne sans pénalité. SGD utilise la moyenne du gradient du lot. Les poids, biais et toutes les sorties de neurones sont réellement calculés en doubles JavaScript.

Noyau provenant de `tensorflow/playground/src/nn.ts`, commit audité `02469bd3751764b20486015d4202b792af5362a6`, blob `e92a13de3d038f70386ea121e8cd307583ab49fe`. TypeScript retiré et emballage UMD ; arithmétique conservée. L1 conserve l’élagage définitif lorsque la pénalité fait traverser zéro ; une édition manuelle réactive le lien. L2 n’est pas AdamW. Le wrapper vide le dernier lot incomplet à chaque epoch. Les biases ne sont pas régularisés.

RNG : FNV1a du seed puis Mulberry32, streams séparés `:data` et `:weights`. Reproductibilité dans cette version, pas identité bit à bit avec le Playground original. Les 500 points sont synthétiques. Bruit spiral : perturbation des coordonnées ; cercle/XOR : perturbation servant au label ; Gaussian : variation de variance. Deux spirales sans bruit incluent deux labels contradictoires en (0,0), signalés dans l’UI. Pour Gaussian, l’échelle de visualisation inclut les points extrêmes. Les métriques portent toujours sur toutes les données.

Paramètres initiaux : deux entrées, hidden [4,2], une sortie, soit 18 poids + 7 biases = 25 paramètres. 250 points train et 250 test. L’entraînement ne touche pas le test, mais la sélection répétée d’hyperparamètres en observant le test nécessite ensuite un holdout indépendant.

Vérification interactive : différences finies centrales epsilon 1e-5, une observation, data-loss uniquement ; tolérance absolue 1e-5. Non-différentiabilité ReLU aux kinks à distinguer d’un défaut de calcul. Ce contrôle n’est pas une preuve pour tous les points ou paramètres.

## Retrieval / RAG
BM25 lexical réel, avec IDF positif `ln(1+(N-df+0.5)/(df+0.5))`, k1=1.2, b=0.75. Tokenisation et stopwords explicitement dans engine.js. Permissions avant ranking ; sélection sources externes ; fraîcheur à date de référence FIXE 2026-10-14, seuil 180 jours. Corpus synthétique de quatre secteurs. Réponses extractives sourcées, aucune génération LLM. Un score BM25 n’est ni une probabilité ni une confiance calibrée.

Recall@k = passages pertinents retrouvés / passages pertinents autorisés. Precision@k = passages pertinents retrouvés / passages retournés. Ground truth déclarée uniquement pour la question exemple de chaque secteur. Pour une question libre, les métriques restent indéfinies. Le fixture adversarial porte un marqueur explicite et est exclu ; pas de détection universelle de prompt injection.

## Agent et HITL
State machine locale : idle → blocked OU awaiting_approval OU completed. Un write exige permission, reviewer-B distinct d’operator-A et confirmation de revue. Reject ou blocked : zéro effet ; approval valide : un seul effet local. Aucun changement externe. L’autorisation backend, les identités, secrets et opérations métier ne sont pas implémentés comme sécurité de production.

## Mémoire et souveraineté
Poids GiB = milliards de paramètres × 1e9 × bits / 8 / 2^30.
KV GiB = 2 × layers × KV heads × head dimension × context tokens × concurrent sequences × bytes per KV element / 2^30.
Total = poids nominaux + KV complet + allowance runtime explicite. Par défaut : 3.2596 GiB de poids, 0.5 GiB KV, allowance 2 GiB, total 5.7596 GiB. Modèle dense, cache complet, une seule device. Pas de sliding-window, MoE, offload ou metadata de quantisation mesurés. Aucune performance tokens/s ou latence n’est inventée. Les checkboxes souveraineté enregistrent des décisions de conception, sans certification.

## Sources primaires
- https://github.com/tensorflow/playground/blob/master/src/nn.ts
- https://www.apache.org/licenses/LICENSE-2.0
- https://nlp.stanford.edu/IR-book/html/htmledition/okapi-bm25-a-non-binary-model-1.html
- https://huggingface.co/docs/transformers/en/kv_cache
- https://arxiv.org/abs/1706.03762
- https://arxiv.org/abs/2401.15884
