Aurora NexusRéférence technique
Changelog — Aurora Nexus (MVP)
(depuis `CHANGELOG.md`)
Ce changelog résume les principales évolutions fonctionnelles et correctifs visibles côté utilisateur (UI) et côté backend (API/ingestion).
1.0.25 — jeudi 27 août 2026
Nexus WebUI et providers
- Le dernier message utilisateur est désormais toujours conservé intégralement dans le contexte envoyé au modèle ; les anciennes réponses assistant sont sacrifiées en priorité lorsque le budget est atteint.
- Les limites d'historique Nexus WebUI sont configurables depuis l'administration, avec une erreur explicite si le message courant dépasse seul la limite autorisée.
- Le timeout provider est administrable par provider et propagé jusqu'au gateway, avec distinction entre timeout réseau, rate limit, indisponibilité et erreur provider non réessayable.
- Le contexte Web éphémère accepte exactement
perplexity_searchetbrave_search, en préservant le provider reçu sans permettre de valeur libre.
Documents, authentification et ingestion
- Le flux documentaire Nexus WebUI conserve l'authentification utilisateur complète pour le stream de document et la lecture M2M Silio reste strictement bornée par tenant, source et workspace.
- Les agrégats de batches d'ingestion verrouillent désormais la ligne batch avant de recalculer leurs compteurs, ce qui empêche un état
runningobsolète après finalisations concurrentes. - Le reaper réconcilie de façon bornée les batches non terminaux dont tous les jobs sont terminaux, sans clôturer les lots vides.
Contrat Narrélia et qualité
- Le contrat Narrélia V1 a passé son E2E M2M live sur données synthétiques : isolation A/B projection, KG et média, avec révocation/rétractation via les API supportées.
- Aucun nouveau scope, aucune donnée familiale réelle, migration ou dépendance n'est ajouté par cette release.
Fiabilité runtime et sauvegardes
- Les traitements RAG synchrones des routes query normale et streaming sont déportés hors de la boucle HTTP afin qu'une génération longue ne bloque plus les sondes API.
- Le helper de backup MinIO écrit désormais avec l'UID/GID du service et un
HOMEtemporaire accessible ; une exécution automatique complète post-correctif a terminé avec succès.
1.0.24 — samedi 22 août 2026
Nexus WebUI et contexte Web éphémère
POST /api/nexus-webui/chat/completionsretourne désormais un JSON OpenAI-compatible pourstream=falsetout en conservant le SSE enrichi historique pourstream=true.- Ajout du champ facultatif
web_contextpour transmettre une à trois sources Perplexity Search strictement bornées et temporaires. - Les contenus Web sont traités comme des données externes non fiables : ils ne peuvent modifier ni le prompt système Nexus, ni les ACL, ni le scope, ni les outils.
- Aucune ingestion, vectorisation, ressource documentaire, migration ou persistance des snippets et URLs Web n'est ajoutée.
- Seules les sources Web effectivement citées par
[W1],[W2]ou[W3]sont exposées, séparément des citations Nexus, avec parité de provenance entre JSON et SSE.
Contrat et compatibilité
- Le comportement des clients qui n'envoient pas
web_contextreste inchangé. - Les limites, la politique de persistance et les sorties JSON/SSE sont documentées dans la référence Nexus WebUI et dans l'OpenAPI public.
1.0.23 — vendredi 21 août 2026
Query RAG et Hybrid RRF
- Ajout du champ facultatif
retrieval_modeaux requêtes normales et streaming, limité àdense_mmrouhybrid_rrf. - Priorité de résolution : requête, override workspace, profil de source, puis défaut Nexus Dense MMR, sans exposer les autres paramètres RAG.
- Séparation des caches exact et sémantique par mode effectif, et journalisation contrôlée du mode demandé, du mode effectif et des fallbacks.
- Correction de la conversion des vecteurs sparse FastEmbed retournés sous forme de tableaux NumPy afin que Hybrid RRF reste effectif.
Supervision Nexus
- Ajout du paramètre
componentà l'endpoint ops privé pour contrôler séparément ingestion, workers API/Gateway et sauvegardes PostgreSQL/Qdrant/MinIO. - Ajout de
monitor_statuset d'un contextecaller_appborné en cas d'erreur logique, sans contenu de requête, réponse ou document. - Conservation du contrat agrégé historique lorsque
componentest absent.
Contrat API et documentation
- Ajout de la migration additive 75 et du champ JSONB nullable
queries_log.retrieval_metadata. - Alignement du snapshot OpenAPI, de la référence API canonique et des guides RAG, sécurité M2M, Knowledge Graph, Nexus WebUI et opérations.
- Ajout des références spécialisées Intégrations M2M V1 et Nexus WebUI.
1.0.22 — jeudi 20 août 2026
Contrat Nexus ↔ Narrélia V1
- Ajout des périmètres d'intégration opaques résolus côté Nexus vers un workspace familial, sans utilisateur miroir ni identité personnelle.
- Publication des API génériques média, projections reconstruisibles et Knowledge Graph strictement cloisonnées par workspace.
- Ajout des migrations additives 72 à 74, de l'idempotence durable et du refus des versions anciennes ou accès cross-family.
IA, ingestion et Nexus WebUI
- Ajout du catalogue de modèles d'embedding OpenAI et résolution des credentials provider depuis Nexus pour l'ingestion.
- Alignement des ACL
source_appdes utilisateurs OIDC humains et conservation des scopes globaux pour les principals machine. - Stabilisation des outils Nexus WebUI provider-agnostiques et de la compatibilité OpenAI des modèles de raisonnement.
Installation et qualité
- Alignement du wizard sur
AURORA_BACKUP_HOST_PATHet le stockage des sauvegardes monté en lecture seule dans l'API. - Rendre idempotente la création du ledger de migrations dans le schéma canonique afin que
ops/init_db.shréussisse sur une base PostgreSQL 15 vierge puis lors d'un second passage. - Réparation de la suite rapide transverse : 399 tests backend réussis, 1 ignoré et build Next.js vert avant publication.
1.0.21 — jeudi 20 août 2026
Installation
- Correction de l'ordre de création de la clé étrangère des documents de recrutement afin qu'une base PostgreSQL 15 vierge puisse appliquer le schéma initial.
- La migration du journal d'authentification n'ajoute plus une seconde fois sa clé primaire lorsqu'elle existe déjà, ce qui sécurise le bootstrap complet et ses relances.
1.0.20 — vendredi 14 août 2026
IA / providers LLM
- Correction du flux catalogue OpenAI après saisie d'une clé : synchronisation réelle des modèles accessibles via OpenAI, puis stockage dans
llm_models. - Ajout d'une action de synchronisation explicite dans Modèles & providers et déclenchement best-effort après sauvegarde d'un credential OpenAI.
- Remplacement des libellés génériques encore marqués OpenRouter par des libellés Modèle dans les écrans de configuration IA.
- Ajout d'un snapshot OpenAI daté pour contexte et prix, avec statuts
Complet,InconnuouÀ vérifierafin de ne pas inventer les métadonnées absentes de l'API OpenAI. - Ajout du rapport ops
ops/openai_model_metadata_report.pypour suivre régulièrement les modèles OpenAI sans contexte/prix ou les snapshots devenus obsolètes. - Clarification du bloc credentials : l'UI indique quand une clé est déjà configurée sans jamais réafficher la clé complète.
1.0.19 — vendredi 14 août 2026
IA / providers LLM
- Ajout d'OpenAI direct comme provider runtime en plus d'OpenRouter.
- Ajout des catalogues providers/modèles séparés pour les réglages IA Nexus.
- Les modèles sélectionnés utilisent désormais des identifiants préfixés par provider, par exemple
openai:gpt-4o-minietopenrouter:openai/gpt-4o-mini. - Les nouveaux coûts IA sont suivis en USD avec détails d'usage provider, tout en conservant les champs historiques pour compatibilité.
- Retrait de FreeCurrency du runtime, de l'installation et de la documentation.
- Les dashboards et vues d'observabilité affichent les coûts IA en USD avec fallback legacy.
1.0.18 — vendredi 07 août 2026
Documents
- Ajout de la fonction Réaffecter un corpus depuis la liste Documents pour déplacer en masse un périmètre filtré vers un autre
source_app / workspace / project. - Ajout d'une prévisualisation obligatoire avec volume, batchs, ressources, échantillon et confirmation par nombre de documents.
- Ajout des endpoints
POST /api/documents/bulk-relocation/previewetPOST /api/documents/bulk-relocation/execute. - La mutation met à jour Postgres, synchronise les payloads Qdrant par
metadata.document_id, journalise l'opération et laisse les objets MinIO/S3 inchangés. - L'UI force le choix explicite du workspace cible et permet de choisir soit un projet, soit Workspace seul.
1.0.17 — jeudi 04 juin 2026
Installation
- Ajout du wrapper racine
install.shpour lancer un parcours one-pass. - Séparation explicite des modes
server(VPS public, domaine, HTTPS, Caddy/reverse-proxy) etlocal(poste Mac/Windows/Linux, navigateur local, sans DNS ni Caddy). - Réorganisation de la documentation d'installation en sous-menus
LocaletServeur, avec prérequis et méthodes distincts. - Clarification Caddy : recommandé côté serveur, ignoré en local, et non installé automatiquement par le wizard.
- Ajout du preset wizard
--preset server|local, avec dry-run non mutateur même si Caddy est présent. - Alignement du rendu
.envwizard avec les variables de référence, dontNEXT_PUBLIC_DOCS_BASE_URLet les paramètres KG/Meta KG récents.
Meta KG Applications et MCP Nexus
- Stabilisation documentaire de la séparation entre KG documentaire et Code KG / Meta KG applicatif.
- Ajout du pack MCP
nexus-apipour exposer l'API Nexus et le RAG en OAuth utilisateur, distinct des deux MCP KG. - Ajout du connecteur MCP
nexus-code-kgV3 pour les workflows Codex/SR : lecture du graphe, contexte d'anomalies, contexte patch, régénération contrôlée et comparaison avant/après. - Ajout du connecteur MCP
nexus-doc-kgen lecture seule pour les usages documentaires : filtrescaller_app,source_app,workspaceetproject, sans tool de régénération. - Publication des endpoints MCP publics dédiés pour connecteurs LLM compatibles MCP, avec authentification bearer token hors dépôt.
- Alignement OpenAI/MCP : schemas de sortie,
structuredContentet annotations de lecture/mutation sur les tools. - Clarification du flux attendu : Code KG pour guider Codex, lecture réelle du code avant patch, tests, puis régénération et comparaison du graphe après clôture de lot SR.
Documentation
- Ajout de la section
08_Meta_KGdans l'index documentaire Nexus. - Ajout de la page consolidée
Serveurs MCP Nexus, couvrantnexus-api,nexus-code-kg,nexus-doc-kget le rôle du Nexus SDK. - Actualisation des README principaux et de la roadmap pour refléter les surfaces KG/MCP récentes.
- Consolidation progressive des addenda Meta KG dans les pages canoniques.
1.0.16 — mercredi 20 mai 2026
Projets par défaut
- Ajout d'un statut projet par défaut par couple
source_app+workspace. - Ajout du champ
projects_config.is_default, des migrations58_ADD_PROJECTS_DEFAULT.sql/59_HARDEN_PROJECTS_DEFAULT.sqlet de l'exposition APIis_default. - Durcissement DB : un seul projet par défaut actif est garanti par workspace, avec backfill déterministe des projets existants.
- Mise à jour de l'admin projets pour définir un projet par défaut, l'afficher en badge/étoile et empêcher la désactivation ou suppression du projet par défaut.
- Les listes publiques de projets actifs renvoient désormais le projet par défaut en premier.
Correctifs UI
- Correction de l'hydratation React au chargement Nexus : le script d'initialisation du thème est rendu dans
<head>, ce qui supprime les erreurs console React#418/#423. - Correction de deux clés i18n françaises manquantes dans l'admin :
admin.settings.assistantScraperetadmin.sourceApps.actionsMenu.assistantRag. - Mise à jour de l'affichage de version Nexus en
1.0.16.
1.0.15 — mercredi 20 mai 2026
Suivi des connexions utilisateurs
- Ajout d'un journal structuré des événements de connexion utilisateur via la table
user_auth_events. - Journalisation des connexions réussies/refusées, déconnexions, OAuth et SSO Pilot, sans stocker de token, mot de passe ou payload sensible.
- Ajout de l'endpoint admin
/api/admin/users/{user_id}/auth-eventsavec fallback historique depuisuser_sessionsetlast_login_at. - Ajout du menu Administration > Utilisateurs > Actions > Logs avec une vue formatée par utilisateur.
- Masquage de l'adresse IP côté API/UI et affichage d'un contexte synthétique.
- Installation locale de la méthode SR Codex pour cadrer les tâches Aurora avec mémoire de travail, cartographie et skills projet.
- Mise à jour de l'affichage de version Nexus en
1.0.15.
1.0.14 — mercredi 20 mai 2026
Apparence utilisateur
- Ajout d'une section Mon compte > Apparence pour choisir une palette Aurora et le mode clair/sombre.
- Persistance des préférences d'apparence par utilisateur via
/api/preferences. - Application globale du thème Aurora au chargement de l'UI pour conserver l'apparence choisie après rechargement.
- Ajout de la migration
56_ADD_USER_APPEARANCE_PREFERENCES.sqlet alignement du schémausers. - Mise à jour de l'affichage de version Nexus en
1.0.14.
1.0.13 — vendredi 08 mai 2026
Knowledge Graph Nexus
- Ajout d'un panneau de pilotage dans Paramètres > Knowledge Graph : mode actif, statut du dernier graphe, compteurs nœuds/relations et date du rebuild.
- Ajout d'actions UI directes pour ouvrir la carte Knowledge Graph et reconstruire le graphe.
- Ajout d'un bloc benchmark indiquant le poids KG et le nombre maximal de documents ajoutés par expansion.
- Correction runtime :
KG_RETRIEVAL_MAX_EXTRA_DOCSrafraîchit désormais le contexte API après modification du setting.
1.0.12 — vendredi 08 mai 2026
Knowledge Graph Nexus
- Enrichissement du corpus
kg_tests: 6 documents supplémentaires et 6 nouvelles questions difficiles orientées expansion KG. - Ajout de scénarios de benchmark reception/réserves chantier, retenue occupant Fiat et masses calculateur Peugeot.
- Benchmark étendu :
17cas au total, dont11difficiles; l'expansion KG ajoute des citations utiles sans fuite de scope.
1.0.11 — vendredi 08 mai 2026
Knowledge Graph Nexus
- Ajout de l'expansion documentaire KG expérimentale derrière
KG_RETRIEVAL_EXPAND_ENABLED=falsepar défaut. - Ajout du réglage
KG_RETRIEVAL_MAX_EXTRA_DOCSpour borner le nombre de documents ajoutés par le KG. - L'expansion reste strictement filtrée par
tenant/source_app/workspace/projectet ne peut ajouter que des chunks Qdrant issus de documents voisins du graphe. - Le benchmark expose désormais le nombre de citations ajoutées via expansion KG.
1.0.10 — vendredi 08 mai 2026
Knowledge Graph Nexus
- Ajout d'un signal de scoring KG
similar_query_citations: les documents cités par des requêtes historiques lexicalement proches peuvent recevoir un bonus explicable. - Transmission de la requête de retrieval courante au scorer KG pour enrichir
score_breakdownetkg_reasons. - Correction du benchmark
ops/kg_rag_compare.py: un changement d'ordre dans le top-3 contribue désormais à l'influence KG même si le set de citations reste identique. - Calibration benchmark
kg_tests: à poids prudent0.15, le KG explique sans perturber ; à poids0.30, 3 top-3 changent sans fuite de scope.
1.0.9 — vendredi 08 mai 2026
Knowledge Graph Nexus
- Enrichissement du benchmark
kg_testsavec documents leurres par projet pour rendre les tests plus discriminants. - Ajout d'un seed d'historique contrôlé dans
ops/kg_tests_prepare.pyafin de créer des liensthread -> query -> cited -> document. - Ajout de nouveaux cas difficiles : follow-up elliptique Fiat sécurité et question Peugeot capteurs/calage.
- Premier benchmark enrichi : influence KG mesurable sur un cas difficile, sans citation hors scope ni dégradation du score qualité.
1.0.8 — jeudi 07 mai 2026
Knowledge Graph Nexus
- Ajout d'une section admin Knowledge Graph dans les paramètres UI pour piloter
KG_ENABLED, le scoring KG, son poids et le flag d'expansion. - Ajout du corpus versionné
kg_testspour benchmarks progressifs RAG vs RAG + KG. - Ajout du script
ops/kg_tests_prepare.pypour créer les workspaces/projets/documents de test et indexer les fixtures dans Qdrant. - Ajout des cas de benchmark
docs/benchmark/kg_tests/cases.json, avec niveaux facile, moyen, difficile et extraits réels contrôlés.
1.0.7 — jeudi 07 mai 2026
Knowledge Graph Nexus
- Renforcement du scoring KG relationnel derrière
KG_RETRIEVAL_SCORE_ENABLED=falsepar défaut. - Ajout d'un poids configurable
KG_RETRIEVAL_SCORE_WEIGHTpour garder Qdrant dominant dans le reranking. - Ajout de diagnostics optionnels par citation :
kg_score,score_breakdown,kg_reasons, rang avant/après. - Enrichissement du benchmark RAG vs RAG + KG avec métriques de top-3, documents promus/démotés et scores KG.
1.0.6 — jeudi 07 mai 2026
Distribution / installation
- Retrait du pack documentaire et des exports LFS
docs/pack_metier/recrutement/du dépôt produit. - Allègement du clone pour les nouvelles installations Nexus : le projet recrutement est désormais maintenu hors de ce dépôt.
1.0.5 — jeudi 07 mai 2026
Knowledge Graph Nexus
- Ajout du Knowledge Graph structurel Postgres : versions de graphe, nœuds, relations et rebuild manuel admin.
- Ajout des endpoints
/api/knowledge-graph/overview,/api/knowledge-graph/subgraph,/api/knowledge-graph/neighbors/{node_id}et/api/knowledge-graph/rebuild. - Ajout d'un dashboard d'administration Knowledge Graph avec visualisation ECharts, filtres et panneau de détail.
- Préparation du scoring KG dans le retrieval RAG derrière
KG_RETRIEVAL_SCORE_ENABLED=false. - Ajout du script de benchmark
ops/kg_rag_compare.pypour comparer RAG normal et RAG + KG.
Ingestion / workspaces
- Ajout des profils d'ingestion par workspace et du suivi de heartbeat/stages pour les corpus lourds.
- Documentation opérationnelle ajoutée dans
docs/05_Operations/35-Workspace-Ingestion-Profiles.md.
Documentation
- Ajout de la référence Knowledge Graph dans
docs/07_Reference-Tech/55-Knowledge-Graph.md. - Ajout des variables d'environnement KG dans la référence
.env.
1.0.4 — vendredi 27 février 2026
Aide / visibilité de version
- Ajout de l’affichage de la version applicative dans Aide → carte Changelog (badge
vX.Y.Zà côté du titre). - La valeur affichée provient de la variable d’environnement
NEXT_PUBLIC_AURORA_NEXUS_VERSION.
Déploiement / configuration
- Ajout de
NEXT_PUBLIC_AURORA_NEXUS_VERSIONdans le build UI (docker-compose.yml,ui/Dockerfile) et dans.env.example. - Documentation de la variable ajoutée dans
docs/03_Configuration/10-ENV-Reference.md.
1.0.3 — lundi 19 janvier 2026
RAG “multi-tours” (apps externes & UI)
- Support de follow-ups robustes (“détaille S2 / point B / 2e point”) sans réinjecter l’historique brut dans la requête.
- Ajout d’un état minimal par conversation (
thread_state) basé sur un blocSUIVImachine-parsable (non traduit) en fin de livrable.
Backend / API
POST /api/queryacceptethread_id(optionnel, recommandé) pour corréler les requêtes et activer la résolution de follow-ups.- Prompt d’appel LLM rendu plus déterministe : un message
userunique avecQUESTION+QUESTION_CLARIFIEE_POUR_RETRIEVAL+CONTEXTdélimité.
Observabilité / DB
- Ajout de champs de diagnostic dans
queries_log:thread_id,retrieval_query_final,retrieval_queries_tried,condense_used,retrieval_retry_count, etc. - Ajout des champs
followup_*pour tracer les décisions de résolution (followup_resolved,followup_section_id,followup_ref_type).
1.0.2 — vendredi 09 janvier 2026
UI Admin (navigation & lisibilité)
- Suppression d’une navbar admin intermédiaire (évite la confusion “pages vs paramètres”).
- Stabilisation de la navigation Paramètres : menu gauche unique sur les 12 sections historiques (Général, Logs, Rétention, Cache LLM, Modèles & providers, Clés API, Modèles IA, RAG & assistant, Assistant, Pipeline ingestion, Services connectés, Historique).
Prompts
- Prompt système global ASSISTANT_CORE : affichage direct (aperçu) dans l’UI + édition/versionning.
Registry caller_app
- Gestion UI des applications appelantes (
caller_app) intégrée aux Paramètres (section Services connectés). - Filtrage
caller_appétendu aux vues Documents / Ingestion / Observabilité (selon pages).
Backend / DB (robustesse)
- Ajout/alignement des colonnes
caller_appsur les entités d’ingestion/documents (compat avec filtres UI). - Correction d’un cas de
500Postgres (“column caller_app does not exist”) sur les endpoints de listing si schéma ancien : migrations requises.
1.0.1 — lundi 05 janvier 2026
Observabilité & feedback
- Ajout d’un badge Feedback (Oui/Non) dans les tableaux de requêtes (dashboard + page stats requêtes), avec modale de détail (question, réponse, feedback, citations).
- Ajout d’un filtre Feedback : Tous / Oui / Non / Aucun feedback.
- Ajout d’une pagination numérotée (en plus de Précédent/Suivant).
- Amélioration lisibilité : badge Non en rouge, raisons négatives affichées en clair (traduction UI).
Documents
- Documents en erreur d’ingestion : exclusion par défaut de la liste des documents (option
include_errors=truecôté API si besoin). - Correction d’un bug SQL (enum
doc_status) qui pouvait provoquer un500sur la liste des documents.
Ingestion (robustesse)
- Amélioration de la robustesse des upserts Qdrant : timeout configurable + batching + retry.
- Propagation du statut error côté
documentsquand un job passe en failed.
Notes
- Version MVP : la granularité et la fréquence des entrées changelog pourront évoluer (V1 : automatisation, liens tickets, etc.).