Réflexes Dérivés

Un réflexe dérivé n'est pas une règle — c'est la séquence d'actions qui émerge inévitablement quand un agent tient simultanément les bonnes croyances atomiques.

Version 1.0 · Mis à jour

01

Croyances, Atomes et le Pipe

Une croyance exprimée en une seule phrase en langue naturelle est un paquet. Elle compresse environ six croyances atomiques distinctes — des propositions qui doivent être dépaquetées individuellement en notation d'algèbre des ensembles : relations entre ensembles et logique des prédicats. Ce dépaquetage n'est pas une interprétation ; c'est un développement déterministe de ce que la phrase affirme déjà.

Un réflexe n'est pas une croyance. C'est la séquence d'actions qui est forcée d'exister quand toutes les croyances atomiques sont tenues simultanément. Il est dérivé par composition — jamais écrit comme règle séparée, jamais maintenu comme un gate explicite. L'opérateur pipe est fonctionnel : la sortie de l'étape n est la seule entrée de l'étape n+1. Aucune variable globale ne traverse les frontières d'étape.

Le modèle des niveaux logiques de Dilts situe les croyances au niveau 4 (Croyances/Valeurs). Les réflexes vivent aux niveaux 2–3 (Comportement / Capacité). Le niveau supérieur gouverne le niveau inférieur : une croyance correctement formulée au niveau 4 rend le réflexe au niveau 2 automatique. C'est le principe inné > déclenché — un réflexe émergent n'a besoin d'aucune condition de déclenchement écrite séparément.

Les anti-croyances — propositions de la forme X ∉ Y — n'exigent aucune prohibition explicite. Si Corr_valides ⊆ Archi et Patch ∉ Archi, alors Patch ∉ Corr_valides est déduit par contenance ensembliste. L'exclusion est logiquement impliquée, pas manuellement appliquée. C'est pourquoi la correction au niveau des croyances est plus robuste que la correction au niveau des gates : on peut contourner un gate ; on ne peut pas contourner une déduction.

Chiffres clés : ≈6 croyances atomiques par croyance en langue naturelle · la dérivation mappe le niveau 4 → niveaux 2–3 · 0 gate séparé à écrire dès lors que les croyances sont bien formulées.

CROYANCES ATOMIQUES — NIVEAU 4 C₁ : obs(P) ⊊ P C₂ : obs(P) ⊆ Sym(P) C₃ : |Sym(P)| ≥ 1 C₄ : ∃ RC(P) : Sym ⊆ effets compose RÉFLEXE DÉRIVÉ R — NIVEAUX 2–3 obs(P) Sym(P) RC(P) Corr(P) RÉFLEXE NAÏF ✗ obs(P) patch(obs(P)) court-circuite C₁…C₄ — corrige le symptôme, pas la cause
Les croyances atomiques au niveau 4 se composent en réflexe dérivé. Le court-circuit naïf saute les étapes intermédiaires et corrige directement le symptôme observé.
02

Maximes : Débogage et Opérations

Trois maximes d'ingénierie pour les domaines ops et débogage. Chacune est accompagnée de sa décomposition formelle pour que la dérivation soit visible, pas simplement affirmée.

R₁ « Tout problème est un symptôme » root-cause

Soit

  • P le problème
  • obs(P) ce qui est observé
  • Sym(P) ensemble des symptômes
  • RC(P) cause(s) racine(s)
  • Corr partitionné en Patch et Archi, Patch ∩ Archi = ∅

Croyances atomiques

  • C₁ obs(P) ⊊ P l'observation est strictement plus petite que le problème entier
  • C₂ obs(P) ⊆ Sym(P)
  • C₃ |Sym(P)| ≥ 1 souvent > 1
  • C₄ ∃ RC(P) tel que Sym(P) ⊆ effets(RC(P))
  • C̄₅ Patch ∉ Corr_valides anti-croyance
  • C₆ Corr_valides ⊆ Archi
✓ DÉRIVÉ obs(P) → enumerer(Sym(P)) → find(RC(P)) → architect(Corr(P))
✗ NAÏF obs(P) → patch(obs(P)) — voir un symptôme et le patcher est un contournement, pas une correction.
« Un code de sortie rapporte ; il ne juge pas » ops / CI

Croyances

  • G gate ou scanner
  • exit(G) ≡ ranOK exit 0 signifie « s'est exécuté sans crash », pas « rien trouvé »
  • verdict(G) ⊥ exit(G) le verdict est orthogonal au code de sortie
  • found(G) ≠ ∅ ⇏ exit(G)=broken anti-croyance
  • verdict(G) ∈ report(G)
✓ DÉRIVÉ run(G) → exit := ranOK → write(verdict→report) → gate lit le rapport
✗ NAÏF found ≠ ∅ → exit ≠ 0 → set -e court-circuite le pipeline — le CI n'atteint jamais le rapport, les findings sont perdus.
« Ne diagnostique pas un hang depuis une courte observation » débogage

Soit

  • H hypothèse de hang
  • w fenêtre d'observation
  • D durée attendue de la tâche

Croyances atomiques

  • C₁ obs(w) avec w ≪ D ⊄ preuve(H) une fenêtre trop courte ne constitue pas une preuve
  • C₂ silence(w) ⊆ {hang, travail-en-cours} le silence est ambigu
  • C₃ |causes(silence)| > 1 futex_wait + zéro IO ≠ deadlock
✓ DÉRIVÉ suspect(hang) → poser w := D → mesurer(w) → conclure
✗ NAÏF obs(1s) → conclure(hang) — une seconde d'absence de sortie n'est pas un hang.
03

Maximes : Sécurité, Concurrence et Agents de Correction

« Toute entrée est hostile jusqu'à preuve du contraire » sécurité

Croyances

  • I entrée
  • trust(I) = ⊥ par défaut
  • valid(I) ⇒ trust(I) seule une validation explicite élève la confiance
  • I ∉ trusted ⇒ I ∉ {query, exec, render} anti-croyance
✓ DÉRIVÉ receive(I) → validate → sanitize → use
✗ NAÏF receive(I) → use(I) — traiter l'arrivée comme une autorisation.
« Vérifie la source canonique après un push » concurrence

Croyances

  • S état partagé
  • report(success) ⊊ vérité(S) le rapport de succès est un sous-ensemble propre de la vérité terrain
  • ∃ mutateurs concurrents S peut dériver entre le push et la prochaine lecture — d'autres sessions, un auto-merge ou la CI peuvent muter S en cours de tâche
✓ DÉRIVÉ push → relire(canonical(S)) → asserter → continuer
✗ NAÏF push → faire confiance au rapport → continuer — agir sur un snapshot possiblement déjà périmé.
« Vérifie que la cible existe avant d'appliquer un correctif » agents de correction

Croyances

  • T fichier cible
  • F correctif
  • l'existence de T est une précondition pour apply(F)
  • ¬exists(T) ⇒ apply(F) est invalide — corriger une cible absente revient à annuler silencieusement une décision stratégique
✓ DÉRIVÉ receive(F) → asserter exists(T) → sinon escalader → apply(F)
✗ NAÏF receive(F) → apply(F) — recréer un fichier délibérément supprimé.
04

Maximes : Refactoring, Tests et Dépendances

« Une abstraction mérite son nom à trois usages » refactoring

Soit

  • A abstraction
  • uses(A) ensemble des sites d'usage

Croyances atomiques

  • C₁ |uses(A)| ≥ 3 ⇒ A justifiée trois usages indépendants valident que l'abstraction a une frontière stable
  • C̄₂ |uses(A)| < 3 ⇒ A ∉ justifiée le coût de couplage dépasse le bénéfice en deçà de trois usages
✓ DÉRIVÉ pattern répété → count(uses) → si ≥ 3 abstraire → sinon dupliquer
✗ NAÏF pattern vu 2× → abstraire immédiatement — couplage prématuré avant que la frontière soit connue.
« Tout code non testé est présumé cassé » tests

Croyances

  • C code
  • ¬tested(C) ⇒ correct(C) inconnu
  • « ça compile » ∉ preuve(correct) anti-croyance
  • |paths(C)| > 1 dans toute fonction non triviale
✓ DÉRIVÉ write(C) → enumerer(paths) → couvrir → vert
✗ NAÏF write(C) → livrer — la compilation n'est pas la correction.
« Toute dépendance est une dette » dépendances

Croyances

  • D dépendance
  • coût(D) = {surface d'attaque, mises à jour obligatoires, exposition CVE, graphe transitif}
  • ajouter D sans condition incrémente cette dette
  • « c'est gratuit » est faux pour toute clôture transitive non vide
✓ DÉRIVÉ besoin → chercher(stdlib) → sinon évaluer coût(D) → épingler → justifier
✗ NAÏF besoin → installer immédiatement — traiter la commodité comme un coût nul.
05

La Méta-Maxime : Corriger au Bon Niveau Logique

« Corriger au même niveau logique, c'est tourner en boucle » méta

Soit

  • L niveau logique courant
  • fix@L correction appliquée au niveau L

Croyances atomiques

  • C₁ problème récurrent @L ⇒ cause probable @L+1 la récurrence à un niveau pointe vers une faute structurelle au niveau supérieur
  • C̄₂ fix@L sur une cause @L+1 = palliatif le symptôme revient car la cause est intacte
✓ DÉRIVÉ récurrence@L → monter(L+1) → fix@L+1
✗ NAÏF récurrence@L → re-fix@L — une saga de cinquante commits sur trente-six heures, tous au niveau tactique, ne ferme jamais une dette structurelle. La boucle continue jusqu'à ce que quelqu'un monte d'un niveau.

C'est le principe de clôture du cadre. Il s'applique à chacune des autres maximes. Quand un réflexe continue d'échouer, la faute n'est pas dans le réflexe — elle est dans les croyances au niveau 4. La bonne action est de reformuler la croyance un niveau au-dessus, puis de re-dériver le réflexe. Le réflexe est en aval ; la croyance est la racine.

Quand un réflexe déraille de façon répétée : ne pas déboguer le réflexe. Auditer les croyances. Trouver l'atome manquant, imprécis ou au mauvais niveau. Le reformuler. Le réflexe correct suit. récurrence@L → monter(L+1) → fix@L+1.

06

La Grammaire de la Dérivation

La dérivation est mécanique, pas interprétative. Chaque forme logique d'une croyance atomique se traduit en un type d'étape précis dans le réflexe. La table est la grammaire.

FORME LECTURE DEVIENT DANS LE RÉFLEXE X ⊆ Y tout X est Y un filtre / garde X ⊊ Y X est une partie propre de Y élargir avant d'agir X ∉ Y anti-croyance / exclusion refus / escalade ∃ x : P(x) existentiel chercher jusqu'à trouver ∀ x : P(x) universel couvrir tout |X| > 1 cardinalité ≥ 2 énumérer, pas seulement le premier
Chaque forme logique dans l'ensemble de croyances se traduit mécaniquement en un type d'étape. La grammaire élimine toute ambiguïté dans la dérivation.

L'algorithme de dérivation en quatre étapes applique cette grammaire à tout ensemble de croyances :

  1. Ordonner les croyances atomiques par dépendance de données — obs(·) d'abord, act(·) en dernier. La séquence se lit de l'observation vers l'action.
  2. Traduire chaque croyance en étape selon la grammaire ci-dessus : ⊆/⊊ → transformation · anti () → garde · ∃/∀ → recherche ou couverture · |·| > 1 → boucle d'énumération.
  3. Chaîner les étapes avec . La sortie d'une étape est l'entrée de la suivante. Pas de variable globale.
  4. Nommer le réflexe naïf — le court-circuit direct obs → act — pour rendre l'écart visible et la dérive consciente.
1 Ordonner par dépendance — obs(·) d'abord, act(·) en dernier 2 Traduire forme → type (⊆→filtre, ∉→garde, ∃→recherche, |·|>1→boucle) 3 Chaîner avec → (pipe fonctionnel — pas de variable globale) 4 Nommer le réflexe naïf — obs → act direct — pour rendre la dérive visible NAÏF ✗ obs→act
Quatre étapes déterministes transforment tout ensemble de croyances bien formulées en réflexe dérivé. L'étape 4 — nommer le court-circuit naïf — rend l'écart d'ingénierie lisible.

Ancrage taxonomique : ce modèle alimente directement la taxonomie d'entités du Cortex — Belief | Value | Principle | Sentiment. Les croyances vivent au niveau 4 et sont stockées comme entités de premier rang. Les réflexes vivent aux niveaux 2–3 et ne sont jamais stockés comme entités indépendantes — ils sont dérivés à la demande depuis le graphe de croyances. Confondre les deux est l'erreur de catégorie originelle que ce cadre existe pour prévenir.

07

Ce que ça Démontre

Cinq résultats issus de l'analyse de neuf maximes d'ingénierie couvrant six domaines :

  1. Une croyance en langue naturelle ≈ 6 croyances atomiques. Le langage parlé compresse un contenu sémantique qui doit être explicitement dépaquété avant de pouvoir dériver un réflexe correct. La compression n'est pas un défaut — c'est la raison pour laquelle la dérivation est nécessaire.
  2. La décomposition fait émerger les anti-croyances automatiquement. Les propositions de la forme X ∉ Y ne s'écrivent pas comme des interdictions ; elles découlent de la contenance ensembliste. L'exclusion est logiquement entaillée, pas manuellement gardée — ce qui la rend robuste face à la suppression des gardes.
  3. Le réflexe émerge des croyances par composition. Aucun gate séparé, aucune règle séparée, aucune condition de déclenchement séparée n'a besoin d'être écrite. Le pipe est le réflexe. Inné > déclenché.
  4. Des croyances correctes au niveau 4 sont plus robustes que des gardes aux niveaux 2–3. Un gate peut être contourné. Une déduction ne peut pas l'être. Formuler correctement la croyance est l'investissement amont qui élimine le patchage aval.
  5. Les réflexes ne sont jamais stockés comme entités indépendantes. Dans la taxonomie Cortex, les réflexes sont dérivés à la demande depuis le graphe de croyances. Stocker un réflexe indépendamment le découplerait de ses croyances, le rendant invérifiable et non maintenable.

L'implication pratique : quand un réflexe déraille, ne pas déboguer le réflexe. Auditer les croyances. Trouver l'atome manquant, imprécis ou au mauvais niveau. Le reformuler. Le réflexe correct suit.