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 dansmake/backend.mk), adresseEAI_HOST(défaut 127.0.0.1, l'image fixe 0.0.0.0),PORTprioritaire. Agent navin-manager : 8460 enregistrement, 8461 API mTLS + HMAC. - Chaînes d'outils : Go pris dans
/tmp/toolchains/go/bin/gopar les tests (navin-manager/server/tests/k8s_envtest.py, variableNM_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 decurl | 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 parEAI_TEST_DATABASE_URLen 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 installqui masque un échec (RULES.md section 1 point 3,tests/test_no_silenced_checks.py). - Alertes : rôle
alert_receiverou scopeincidents:alertsexplicite, le joker*ne suffit pas. - Embeddings : toujours par le Model Gateway, un espace de vecteurs par modèle (V101).