{
 "objet": "Engagement sur les composants non publies de Chaser",
 "principe": "Le contenu de ces fichiers n'est pas publie. Leur empreinte SHA-256 l'est, scellee dans un journal chaine : elle prouve qu'ils n'ont pas ete modifies apres coup pour faire coller un chiffre. Chaque composant porte en outre une garantie verifiable et le test public qui l'etablit.",
 "date": "2026-07-27",
 "composants": [
  {
   "cle": "compresseur",
   "titre": "Compresseur de sorties",
   "role": "Réduit les grosses sorties d'outils avant qu'elles n'entrent dans le contexte, pour ne pas les re-payer à chaque tour.",
   "garantie": "Aucun signal d'erreur n'est perdu : une ligne d'échec est conservée, avec ses voisines immédiates pour le contexte.",
   "test": "outils_dev/test_compresseur.py",
   "fichiers": [
    {
     "chemin": "moteur/compresseur.py",
     "sha256": "06975dc40bd3f8afe5010db0d16af2058ec20d9fce1a6a3d028deff09727ae62",
     "octets": 30839
    },
    {
     "chemin": "moteur/compresseur_saillance.py",
     "sha256": "19d687f598b944e669836b22ff6d5b34da9bdfe1dfa9ba9e8c982a888c3196cd",
     "octets": 15456
    },
    {
     "chemin": "moteur/compresseur_ml.py",
     "sha256": "4120a85982554193f42f24db1f74dd5ca706f63f94a56702e5479692da3bcf99",
     "octets": 5102
    }
   ]
  },
  {
   "cle": "routeur",
   "titre": "Routeur de modèles",
   "role": "Choisit le modèle le moins cher capable de traiter une tâche, en apprenant des tâches passées.",
   "garantie": "Mesuré sur banc : atteint au moins 97 % de l'utilité d'un routeur parfait (oracle), et bat strictement le hasard.",
   "test": "outils_dev/test_routeur_orca.py",
   "fichiers": [
    {
     "chemin": "moteur/routeur_orca.py",
     "sha256": "b9f0e5b58bfbbc164152329104f3e5f833473ad283290c0b982cc1ce8b9ceaf1",
     "octets": 20273
    },
    {
     "chemin": "moteur/routeur_appris.py",
     "sha256": "180eaf3a7a65bb2809947a3b3da0e205e08b1474b93a1f4fa8e966dc535edd7c",
     "octets": 14576
    },
    {
     "chemin": "moteur/routeur_contenu.py",
     "sha256": "c0d1ce4410017b2369ec3de6b17585c985904982b6ab1922d410e0fb69e8e51c",
     "octets": 9798
    }
   ]
  },
  {
   "cle": "regles_prompt",
   "titre": "Rappel de règles apprises",
   "role": "Rappelle au modèle les quelques règles de travail que votre demande appelle, au moment où vous l'envoyez.",
   "garantie": "Votre demande n'est JAMAIS réécrite : la sortie ne contient pas votre prompt, et le rappel est plafonné en taille.",
   "test": "moteur/regles_prompt.py (autotest intégré)",
   "fichiers": [
    {
     "chemin": "moteur/regles_prompt.py",
     "sha256": "d67b834e4f0c74dfea006934f2b09a7e85454c22a6b27f00913842798ce56817",
     "octets": 9472
    }
   ]
  },
  {
   "cle": "seuils",
   "titre": "Seuils et politiques apprises",
   "role": "Décide quand conseiller une compaction et quand tenter un modèle moins cher, à partir de vos propres journaux.",
   "garantie": "Ces modules n'appellent aucun réseau : leurs décisions sont calculées localement, sur vos données, qui ne sortent pas.",
   "test": "outils_dev/double_check.py (classe C7 ZÉRO-API)",
   "fichiers": [
    {
     "chemin": "moteur/politique_compaction.py",
     "sha256": "607c96c67a7bef38ef49c116b84fb247e86d8fb2e64e46fecd190c4c91a23078",
     "octets": 14466
    },
    {
     "chemin": "moteur/prevoir_cascade.py",
     "sha256": "6cf0d51b091898d38a29bb0b46ed5a058a601ff768c78fce1d4beec22cc32f6c",
     "octets": 14581
    },
    {
     "chemin": "moteur/conforme.py",
     "sha256": "71198025baa24f87c00eef190918284cca805b7b3bb971182b1d87c8add40f38",
     "octets": 16343
    }
   ]
  }
 ],
 "empreinte_globale": "77509ac8e7b257a0c942377b350b35c5b8d5b7011263c1b7337cd776ee5f5242",
 "scelle": {
  "chainon": "771ad73eb4969bd5c56ce6995778392474f45beaaa42e2967108643bf928a064",
  "racine_merkle": "bed3b022def50b2d8707204febd21ea6458c216dda4207350cdc008135d00b16"
 }
}