Aller au contenu principal

Décisions

Version anglaise : en/DECISIONS.md

ADR​

  • ADR-0101 : politique de licences
  • ADR-0102 : Runtime Navin sans graphe déclaré
  • ADR-0103 : Rôles de vLLM et LiteLLM, LiteLLM épinglé en 1.106.5
  • ADR-0104 : Format d'appel compatible OpenAI par défaut, appels par le Model Gateway
  • ADR-0105 : Effort de raisonnement jamais converti en silence
  • ADR-0106 : Tenancy plateforme, tenant, projet, environnement avec RLS forcée
  • ADR-0107 : Règle FinOps des jetons et trois montants
  • ADR-0108 : Opik au lieu de Langfuse
  • ADR-0109 : Perses au lieu de Grafana, remplacée par l'ADR-0169
  • ADR-0110 : OpenSearch au lieu de Loki
  • ADR-0111 : SeaweedFS et stockage du client au lieu de MinIO
  • ADR-0112 : OpenBao ou coffre du client (exception MPL-2.0)
  • ADR-0113 : Redis comme cache seulement
  • ADR-0114 : PostgreSQL source de vérité
  • ADR-0115 : Context Authority et règle d'intersection des délégations
  • ADR-0116 : Audit chaîné, scellés et outbox
  • ADR-0117 : Registre Kill Switch, état souhaité et état observé sur reçus
  • ADR-0118 : Licences signées sans prix ni limite
  • ADR-0119 : Agent de nœud Go et opérateur Kubernetes testé par envtest
  • ADR-0120 : Marketplace de packs signés
  • ADR-0121 : Garde de sortie, seul chemin sortant
  • ADR-0122 : Anglais et français partout
  • ADR-0123 : Honnêteté des tests : PASSED seulement avec preuve
  • ADR-0124 : SSH limité au bootstrap, exploitation par agents, opérateur et API
  • ADR-0125 : Propriété des services et six modes de déploiement
  • ADR-0126 : HA configurée n'est pas HA validée
  • ADR-0127 : Sauvegarde, restauration et PRA distincts de la HA, sur le stockage du client

Décisions opérationnelles​

Source : .navin/continuity/DECISIONS.md (.navin/memory/MEMORY.md ne contient encore aucun fait).

  • Ports : API du Control Plane sur EAI_PORT (défaut 8080 dans make/backend.mk), adresse EAI_HOST (défaut 127.0.0.1, l'image fixe 0.0.0.0), PORT prioritaire. Agent navin-manager : 8460 enregistrement, 8461 API mTLS + HMAC.
  • Chaînes d'outils : Go pris dans /tmp/toolchains/go/bin/go par les tests (navin-manager/server/tests/k8s_envtest.py, variable NM_TEST_GO). Outils CI épinglés et vérifiés par sha256 (helm 3.16.3, kubeconform 0.6.7, kyverno 1.13.4, syft 1.55.0), plus de curl | sh.
  • Pas de Docker ici : aucune intégration contre de vrais Keycloak, OpenBao, OpenFGA, Qdrant, NATS, Temporal, LiveKit, LiteLLM, vLLM sur ce poste (.navin/continuity/RESUME.md) ; tests de base fournie par EAI_TEST_DATABASE_URL en CI.
  • Contextes de production interdits : rien n'est appliqué depuis un poste sur un cluster ou un compte cloud ; déploiement par GitOps Argo CD ; en local seulement helm lint, helm template, kubeconform, kyverno test, opa test (RULES.md section 1 point 5). Un cluster par environnement, namespaces créés par Terraform.
  • Aucun contrôle neutralisé : ni désactivation de lint, ni test sauté, ni || pip install qui masque un échec (RULES.md section 1 point 3, tests/test_no_silenced_checks.py).
  • Alertes : rôle alert_receiver ou scope incidents:alerts explicite, le joker * ne suffit pas.
  • Embeddings : toujours par le Model Gateway, un espace de vecteurs par modèle (V101).