========================================================
MIRA — SCHÉMA DE CONTEXTE v1.0 — FIGÉ
Date de figement : 02/10/2026
Validé par : Vibe, Perplexity, Claude
========================================================
NOTE : Les clés N1 à N6 sont reconstituées à partir de
l'architecture Tome 3.0 / CONCEPTION v1.0.
À relire et confirmer par le créateur avant tout code.
--------------------------------------------------------
PRINCIPE GÉNÉRAL
--------------------------------------------------------
Le "contexte" est un dictionnaire Python qui circule
entre tous les modules de MIRA.
Interface unique : executer(contexte) -> contexte
Chaque module lit ce dont il a besoin dans le contexte,
fait son travail, puis retourne le contexte enrichi ou
modifié. Aucun module ne stocke d'état interne entre
deux appels — tout passe par le contexte.
--------------------------------------------------------
CLÉS DU CONTEXTE
--------------------------------------------------------
N1 — question
Type : str
Contenu : la question brute posée par l'utilisateur,
telle qu'elle a été saisie, sans modification.
Rempli : dès l'entrée, par le noyau.
Modifié : jamais après remplissage.
N2 — historique
Type : list of dict
Contenu : liste des tours précédents.
Chaque entrée contient :
- tour : int (numéro du tour)
- horodatage : str (ISO 8601)
- question : str (question exacte)
- reponse : str (réponse donnée)
- source : str (ex. "degradee", "phi4", "outil")
Rempli : par le noyau à chaque tour.
Modifié : jamais en cours de traitement.
N3 — intention
Type : str
Contenu : l'intention détectée par le noyau
(ex. "question_date", "code", "maintenance",
"recherche", "inconnue").
Rempli : par le module de routage du noyau.
Modifié : jamais après détection.
N4 — specialiste
Type : str ou None
Contenu : nom du spécialiste sélectionné
(ex. "code", "redaction", "maintenance").
None si aucun spécialiste n'est nécessaire.
Rempli : par le noyau après détection de l'intention.
Modifié : jamais après sélection.
N5 — reponse
Type : str ou None
Contenu : la réponse construite par MIRA,
prête à afficher à l'utilisateur.
None tant qu'aucun module n'a répondu.
Rempli : par le premier module qui produit une réponse
(dégradée, outil, ou Phi-4 Mini).
Modifié : jamais une fois rempli (premier écrit, gardé).
N6 — meta
Type : dict
Contenu : informations techniques internes,
invisibles pour l'utilisateur.
Contient notamment :
- source_reponse : str
(qui a produit N5 : "degradee",
"outil", "phi4", "erreur")
- erreurs : list of str
(liste des erreurs survenues
pendant le traitement — initialisée
vide [] par le noyau à chaque tour)
- mode : str
(ex. "normal", "maintenance",
"degrade")
Rempli : par le noyau en début de tour.
Modifié : par tout module qui rencontre une erreur
ou qui veut laisser une trace technique.
--------------------------------------------------------
RÈGLES GÉNÉRALES
--------------------------------------------------------
1. Ordre de priorité pour remplir N5 (reponse) :
a. Réponse dégradée (_reponse_degradee) si elle
existe pour cette question.
b. Outil déterministe si l'intention le demande.
c. Phi-4 Mini en dernier recours.
2. Le réseau est refusé à tous les modules en version 1.
Aucun module ne fait de requête réseau.
3. Chemins persistants vers /mnt/sda1 centralisés dans
config/chemins.json — jamais écrits en dur dans le code.
4. erreurs[] dans N6.meta est initialisé vide [] par le
noyau à chaque nouveau tour, pas hérité du tour
précédent.
5. Le contexte ne contient jamais de données sensibles
(mots de passe, chemins privés) — uniquement ce qui
est nécessaire au traitement en cours.
--------------------------------------------------------
VALIDATION
--------------------------------------------------------
Schéma relu et approuvé sans réserve par :
- Vibe (Mistral) : OK
- Perplexity : OK
- Claude (Anthropic) : OK
Points bloquants soulevés par Google (Gemini) et
intégrés dans ce schéma :
- erreurs[] initialisé dans N6.meta (pas hérité)
- chemins persistants dans config/chemins.json
Statut : FIGÉ — ne pas modifier sans nouveau tour de
table et décision explicite du créateur.
========================================================
FIN DU DOCUMENT
========================================================