MIRA_contexte_schema_v1_0_fige.txt — schéma de contexte figé (02/10/2026)

========================================================
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
========================================================

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Défiler vers le haut