#Sommaire
| § | Section |
|---|---|
| 1 | Ce qu'est KySpectra |
| 2 | Le problème traité |
| 3 | La chaîne de valeur en six maillons |
| 4 | Architecture d'ensemble |
| 5 | Le plan de contrôle transversal |
| 6 | Les surfaces produit et leur statut réel |
| 7 | Le modèle multi-locataire |
| 8 | Le modèle de gouvernance de l'IA |
| 9 | Les trois environnements |
| 10 | Récapitulatif Livré / En cours / Planifié |
| 11 | Écarts connus et dette assumée |
| 12 | Lexique du produit |
#1. Ce qu'est KySpectra
#1.1 La définition de référence
KySpectra est la plateforme agentique qui transforme une intention en logiciel gouverné — de la spécification au déploiement en production — sans jamais rompre la traçabilité.
Cette phrase est la seule formulation de référence. Tout autre texte du dossier en est une reformulation fidèle, jamais une promesse plus large.
#1.2 Les trois natures superposées
KySpectra n'est pas un outil unique. C'est l'assemblage de trois couches distinctes, chacune utilisable seule, dont la valeur naît de leur continuité.
| Couche | Nature | Ce qu'elle apporte | Statut |
|---|---|---|---|
| Châssis SaaS multi-locataire | Fondation d'application | Authentification Keycloak, RBAC hiérarchique, isolation stricte par locataire, facturation, quotas, journal d'audit, drapeaux de fonctionnalité | 🟢 Livré |
| Plateforme de spécification exécutable | Cœur métier | Objets de spécification versionnés, typés, reliés ; métamodèle par projet ; validation EARS ; graphe de traçabilité | 🟢 Livré |
| Framework multi-agents gouverné | Moteur d'exécution | Registre central d'agents, capacités accordées explicitement, plafond d'autonomie, exécution de code en tâches éphémères, personnel virtuel | 🟢 Livré (personnel virtuel : phase 1) |
#1.3 Ce que KySpectra n'est pas
Poser les limites vaut mieux que de laisser le marché les inventer.
| Confusion possible | Réalité |
|---|---|
| Un assistant de complétion de code | KySpectra n'entre pas en concurrence avec un outil qui suggère la ligne suivante dans l'éditeur. Il gouverne le cycle qui entoure cette ligne. |
| Une plateforme sans-code | Le résultat est du vrai code, dans un vrai dépôt, avec un vrai pipeline. Aucun enfermement dans un moteur propriétaire d'exécution. |
| Un outil de gestion de projet | Les tickets ne sont pas la source de vérité : la spécification l'est. L'export vers Jira et Azure DevOps existe, mais dans le sens sortant. |
| Une IA qui décide seule | L'autonomie est un plafond configuré, de N0 à N3, plafonné à son tour par le plan commercial, et dégradé vers le niveau le plus bas en cas d'incertitude. |
| Un générateur de documentation | La documentation est un artefact projeté depuis la spécification, pas l'inverse. |
#1.4 Le pari fondateur
La spécification n'est pas de la paperasse d'avant-projet. C'est la structure de données centrale du cycle de vie. Une exigence est un objet versionné et relié, pas un paragraphe oublié. Un agent IA est un collaborateur avec un périmètre, un plafond d'autonomie et un journal, pas une boîte noire. Un déploiement est une décision approuvée, pas un effet de bord.
#2. Le problème traité
#2.1 Le déplacement du goulot d'étranglement
En deux ans, la génération assistée par IA a rendu l'écriture de code abondante et bon marché. La question posée aux équipes n'est plus « comment écrire ce composant ? » mais « qu'est-ce qui tourne réellement chez nous, et pourquoi ? ».
#2.2 La dette d'intelligibilité
Nous appelons dette d'intelligibilité l'écart entre le logiciel produit et le logiciel compris. Elle a quatre manifestations observables.
| Manifestation | Symptôme mesurable dans une organisation |
|---|---|
| Code orphelin d'intention | Impossible de relier une ligne de code à la décision qui l'a motivée |
| Architecture divergente | Le plan d'architecture décrit un système qui n'existe plus |
| Couverture de test non reliée | Des tests verts qui ne prouvent aucune exigence nommée |
| Agents non gouvernés | Une action automatisée sans périmètre déclaré ni journal opposable |
Cette dette ne figure à aucun budget. Elle se paie en incidents, en audits impossibles et en équipes qui n'osent plus toucher à leur propre système.
#2.3 La réponse de KySpectra
| Manifestation | Réponse produit | Maillon | Statut |
|---|---|---|---|
| Code orphelin d'intention | Rétro-ingénierie du dépôt vers des spécifications promues automatiquement | 1 · Comprendre | 🟢 Livré |
| Architecture divergente | Émetteurs d'artefacts d'architecture depuis le code réel : C4, modèle de données, OpenAPI, machines à états | 1 · Comprendre | 🟢 Livré |
| Couverture de test non reliée | Couverture des critères d'acceptation dans la vue Tests de l'espace de travail | 5 · Vérifier | 🟢 Livré |
| Agents non gouvernés | Registre central, capacités explicites, refus par défaut, journal d'audit chaîné | Plan de contrôle | 🟢 Livré |
#3. La chaîne de valeur en six maillons
La chaîne de valeur est le cœur du produit. Chaque maillon est décrit ci-dessous par ses entrées, ses actions, ses sorties, la surface qui l'expose, et son statut vérifié.
Aucun diagramme à afficher
Diagramme 1 — flowchart
Les deux flèches en pointillés sont la boucle de retour : un défaut détecté à la vérification et un incident constaté après livraison remontent vers l'exigence qui les a produits.
#3.1 Maillon 1 — Comprendre
Intention : partir de l'existant, pas d'une page blanche.
| Aspect | Détail |
|---|---|
| Entrée | Une adresse de dépôt de code, publique ou privée |
| Traitement | Clonage, analyse statique, extraction de la structure réelle, émission d'artefacts, promotion automatique en objets de spécification |
| Sortie | Sept familles d'artefacts d'architecture + un jeu de spécifications rattachées au projet |
| Surface | Portail client — page Sources du projet et vue Artefacts de l'espace de travail |
| Statut | 🟢 Livré, prouvé en navigateur réel sur l'environnement de production |
Les sept familles d'artefacts émis
| # | Artefact | Nature |
|---|---|---|
| 1 | C4 | Contexte, conteneurs, composants |
| 2 | Modèle de données | Entités et relations déduites du schéma |
| 3 | OpenAPI | Contrat d'interface reconstitué depuis les routes |
| 4 | Machines à états | Transitions déduites du code |
| 5 | Domaine (DDD) | Agrégats et frontières de contexte |
| 6 | Dépendances | Graphe des couplages internes et externes |
| 7 | Sécurité | Surfaces exposées et points de contrôle |
Écart connu : la rétro-ingénierie depuis un dépôt GitHub public en production a nécessité une règle réseau dédiée sur le port 443, la politique de refus par défaut bloquant le clonage. Le correctif est appliqué et vérifié en ligne.
#3.2 Maillon 2 — Spécifier
Intention : faire de l'exigence un objet de données, pas un paragraphe.
| Aspect | Détail |
|---|---|
| Entrée | Langage naturel, artefacts de rétro-ingénierie, ou saisie directe |
| Traitement | Génération assistée par IA, typage, versionnement, mise en relation, validation EARS, application d'un métamodèle propre au projet |
| Sortie | Objets de spécification versionnés, reliés par un graphe de traçabilité |
| Surface | Portail client — pages Spécifier, Explorateur de spécification, Détail d'un objet, vue Spéc de l'espace de travail |
| Statut | 🟢 Livré |
Ce que la spécification exécutable apporte concrètement
| Propriété | Conséquence opérationnelle |
|---|---|
| Versionnée | On sait ce qui a changé, quand, et par qui |
| Typée | Un critère d'acceptation n'est pas confondu avec une contrainte non fonctionnelle |
| Reliée | Un défaut remonte à l'exigence ; une exigence descend vers ses artefacts |
| Validée | La grammaire EARS est vérifiée à la génération, pas en revue humaine tardive |
| Modélisée par projet | Le métamodèle du projet impose les types et les liens autorisés |
Drapeaux de fonctionnalité pertinents : EARS_GENERATION_ENABLED (activé), SPEC_FIRST_ENABLED (activé), AUTO_PROMOTE_ENABLED (activé), SPEC_APPLY_ENABLED (désactivé par défaut).
#3.3 Maillon 3 — Concevoir
Intention : projeter la spécification en artefacts de conception, sans ressaisie.
| Aspect | Détail |
|---|---|
| Entrée | Les objets de spécification du projet |
| Traitement | Projection vers des formats de conception normalisés |
| Sortie | PRD, diagrammes UML, BPMN, cartographie TOGAF, artefacts de sécurité, documentation-comme-code |
| Surface | Portail client — vues Docs et Artefacts de l'espace de travail |
| Statut | 🟢 Livré |
Les familles de projection
| Famille | Contenu | Export |
|---|---|---|
| Document d'exigences produit | PRD structuré depuis les objets de spécification | 🟢 Livré |
| UML | Diagrammes de classes, de séquence, d'états | 🟢 Livré |
| BPMN | Processus métier | 🟢 Livré |
| TOGAF / C4 | Vues d'architecture d'entreprise | 🟢 Livré |
| Sécurité | Surfaces, contrôles, points d'exposition | 🟢 Livré |
| Documentation-comme-code | Markdown exportable, diagrammes Mermaid rendus | 🟢 Livré |
#3.4 Maillon 4 — Fabriquer
Intention : faire travailler des agents IA sous contrainte explicite.
| Aspect | Détail |
|---|---|
| Entrée | Une exigence, un plan de cycle, ou une tâche assignée à un membre du personnel virtuel |
| Traitement | Dispatch vers l'orchestrateur, exécution de code en tâches Kubernetes éphémères, garde-fous de politique, budget de jetons |
| Sortie | Du code, des artefacts, des exécutions journalisées |
| Surface | Portail client — pages Opérations agents, Rôles IA, vues AgentOps et Personnel IA de l'espace de travail |
| Statut | 🟢 Livré — personnel virtuel en phase 1 |
Le plan d'exécution du code
| Élément | Réalité vérifiée | Statut |
|---|---|---|
| Exécuteur en tâches Kubernetes éphémères | Espace de noms dédié, RBAC dédié, politique réseau dédiée | 🟢 Livré |
| Politique d'exécution | Réseau en refus par défaut, liste d'autorisations de sortie, durée maximale, politique de système de fichiers | 🟢 Livré |
| Garde-fous | Motif d'action, effet autoriser/refuser, priorité, exigence d'approbation | 🟢 Livré |
| Budget de jetons | Plafond journalier et mensuel, erreur 402 à l'épuisement | 🟢 Livré |
Le personnel virtuel IA — phase 1
| Capacité | Statut | Preuve |
|---|---|---|
| Recruter un membre du personnel virtuel depuis l'interface | 🟢 Livré | Vérifié en navigateur réel sur développement et production |
| Assigner une tâche à un membre | 🟢 Livré | Idem |
| File de travail par membre | 🟢 Livré | Idem |
| Flux d'activité et organigramme | 🟢 Livré | Idem |
| Autonomie déléguée, escalade, chaîne d'imputabilité | ⚪ Planifié | Conception seule, phases 2 et 3 |
| Console de direction virtuelle complète | ⚪ Planifié | Conception seule |
#3.5 Maillon 5 — Vérifier
Intention : prouver que ce qui est fabriqué satisfait ce qui était demandé.
| Aspect | Détail |
|---|---|
| Entrée | Les critères d'acceptation de la spécification et l'artefact produit |
| Traitement | Génération de tests, production de données de test synthétiques, exécution de tests navigateur réels, portes de qualité, analyse de base de données |
| Sortie | Couverture reliée aux exigences, écarts identifiés, décision de porte |
| Surface | Portail client — vues Tests et Revue de l'espace de travail, page Analyse des écarts |
| Statut | 🟢 Livré |
Les moyens de vérification
| Moyen | Réalité vérifiée | Statut |
|---|---|---|
| Génération de tests depuis les critères d'acceptation | Éditeur Gherkin intégré, carte de chaleur de couverture | 🟢 Livré |
| Données de test synthétiques conformes | Aucune donnée personnelle réelle utilisée | 🟢 Livré |
| Test navigateur réel | Chromium réel exécuté en tâche | 🟢 Livré (développement) |
| Analyse de base de données réelle | PostgreSQL en exploitation, statistiques de tables | 🟢 Livré (développement et production) |
| Portes de qualité et brèches de niveau de service | Panneau de brèches dans le portail d'administration | 🟢 Livré |
| Comparaison visuelle | Drapeau VISUAL_COMPARE_ENABLED activé |
🟢 Livré |
| Automatisation robotisée de navigateur | Drapeau RPA_BROWSER_ENABLED désactivé par défaut |
🟡 En cours |
#3.6 Maillon 6 — Livrer
Intention : fermer la boucle jusqu'à un produit servi en ligne, sous décision approuvée.
| Aspect | Détail |
|---|---|
| Entrée | Un artefact fabriqué et vérifié |
| Traitement | Construction d'image, publication au registre, génération de pipeline, approbation humaine, déploiement, retour arrière possible |
| Sortie | Un produit servi sur un sous-domaine avec TLS |
| Surface | Portail client — vue Livraison de l'espace de travail, page Approbations |
| Statut | 🟢 Livré pour Kubernetes · 🟡 Partiel pour les nuages publics |
Détail des cibles de livraison
| Cible | Mécanisme | Statut | Environnement prouvé |
|---|---|---|---|
| Construction et publication d'image | Kaniko en tâche sans démon, secret de registre éphémère | 🟢 Livré | Développement |
| Vérification du lien au registre | Poignée de main Docker v2 réelle | 🟢 Livré | Développement |
| Génération de pipeline CI/CD | Quatre fournisseurs, avec commit réel dans un dépôt | 🟢 Livré | Développement |
| Déploiement dans Kubernetes | Rollout avec séparation des devoirs et retour arrière | 🟢 Livré | Production |
| Hébergement du produit sur sous-domaine avec TLS | Espace de noms, service, entrée, certificat automatique | 🟢 Livré | Production |
| Publication d'un front statique vers Cloudflare Pages | Tâche exécutant l'outil de publication | 🟢 Livré | Développement |
| Publication d'un front statique vers un stockage objet | Téléversement + adresse signée | 🟢 Livré | Développement |
| Déploiement par ligne de commande nuage générique | Chemin d'authentification + exécution réelle vérifiée sur un fournisseur | 🟢 Livré | Développement |
| Pilotes natifs Azure Container Apps, Cloud Run, ECS | Plan seul, réponse 501 explicite | ⚪ Planifié | — |
| Échange de jetons de registre ECR, ACR, GCR | Absent | ⚪ Planifié | — |
| Empaquetage d'un front statique par le service de déploiement | Absent | ⚪ Planifié | — |
| Déclencheurs d'intégration continue externes | Absents | ⚪ Planifié | — |
| Provisionnement automatique d'un fournisseur d'identité pour le produit client | Bloqué par des droits d'administration insuffisants, vérifié empiriquement | 🔴 Bloqué | — |
L'interrupteur maître. Le drapeau DEPLOY_LIVE vaut false par défaut. Sans lui, aucun déploiement n'est simulé : le produit répond 501 Not Implemented avec un message explicite. Le drapeau DEPLOY_REQUIRE_APPROVAL impose une approbation humaine par une personne différente du demandeur, sous peine d'un conflit typé.
#3.7 Synthèse de la chaîne
| Maillon | Nom | Surface principale | Statut |
|---|---|---|---|
| 1 | Comprendre | Sources du projet, vue Artefacts | 🟢 Livré, prouvé en production |
| 2 | Spécifier | Spécifier, Explorateur, vue Spéc | 🟢 Livré |
| 3 | Concevoir | Vues Docs et Artefacts | 🟢 Livré |
| 4 | Fabriquer | Opérations agents, vues AgentOps et Personnel IA | 🟢 Livré (personnel virtuel phase 1) |
| 5 | Vérifier | Vues Tests et Revue, Analyse des écarts | 🟢 Livré |
| 6 | Livrer | Vue Livraison, Approbations | 🟢 Livré (Kubernetes) · 🟡 Partiel (nuages publics) |
#4. Architecture d'ensemble
#4.1 Diagramme de la plateforme
Aucun diagramme à afficher
Diagramme 2 — flowchart
#4.2 Les couches, une par une
| Couche | Rôle | Composants | Statut |
|---|---|---|---|
| Surfaces | Ce que voit l'utilisateur | Portail client, portail administration, portail documentation, widget de retours | 🟢 Livré sauf documentation 🟡 |
| Accès et identité | Qui entre, avec quels droits | Keycloak (realm dédié, PKCE S256), passerelle API | 🟢 Livré |
| Châssis SaaS | Le socle réutilisable | Utilisateurs, organisations, RBAC, facturation, usage, configuration, audit, observabilité | 🟢 Livré |
| Services métier SDD | Le cœur du produit | Spécification, collaboration, copilote, rétro-ingénierie, déploiement, registre d'extensions | 🟢 Livré |
| Plan agentique | Le moteur d'exécution IA | Orchestrateur, cœur agentique, registre d'agents, exécuteur de code, passerelle LLM, passerelle MCP | 🟢 Livré |
| Données et état | La persistance | PostgreSQL avec extension vectorielle, Redis, recherche plein texte, stockage objet, coffre de secrets | 🟢 Livré |
#4.3 Volumétrie du code au 2026-08-17
| Métrique | Valeur |
|---|---|
| Commits | 255, du 2026-07-23 au 2026-08-17 |
| Services backend déployables | ~30 |
| Services d'agents autonomes | 9 |
| Fichiers Python | 2 383 |
| Fichiers TypeScript et TSX | 497 |
| Tests automatisés | plus de 3 700 |
| Environnements en ligne | 3 |
| Destinations dans le plan de contrôle d'administration | 16 |
| Vues canoniques dans l'espace de travail projet | 11 |
Discipline de chiffre. Le comptage direct de l'arbre donne 5 472 fonctions de test, mais le tableau de santé interne ne certifie que ~3 700 tests sur 21 suites vertes réellement exécutées. La communication publie « plus de 3 700 tests automatisés » et rien d'autre.
#4.4 Choix techniques structurants
| Choix | Motif | Conséquence assumée |
|---|---|---|
| Portails exportés en statique, sans rendu serveur | Coût d'exploitation nul, distribution par réseau de diffusion | Les routes dynamiques passent par une sentinelle réécrite côté serveur ; l'identifiant réel est lu côté client |
| Passerelle API unique en source de vérité des routes | Un seul endroit où déclarer un service | Toute nouvelle route doit y être enregistrée |
| Backend métier en Python uniquement | Cohérence d'écosystème et de tests | Exception unique : les serveurs du protocole MCP, en Node.js par contrainte de protocole |
| Refus par défaut sur le moteur de politique | Sûreté avant confort | Toute action non couverte est refusée et journalisée |
| Réponse 501 plutôt que simulation | Honnêteté d'ingénierie | Une fonctionnalité non configurée le dit, elle ne feint pas |
#5. Le plan de contrôle transversal
Le plan de contrôle est ce qui distingue KySpectra d'un assemblage d'outils. Il traverse les six maillons et s'expose principalement dans le portail d'administration.
#5.1 Les douze mécanismes du plan de contrôle
| # | Mécanisme | Ce qu'il fait | Statut |
|---|---|---|---|
| 1 | Registre central d'agents | Source de vérité unique des agents : nom, nature, capacités, compétences, serveurs d'outils, jetons, santé | 🟢 Livré |
| 2 | Capacités à trois niveaux | Portées globale, locataire, utilisateur, en refus par défaut | 🟢 Livré |
| 3 | Rôles virtuels et plafond d'autonomie | Échelle N0 → N3, plafonnée par le plan commercial | 🟢 Livré |
| 4 | Séparation des devoirs | Impossible d'approuver sa propre soumission, côté interface et côté serveur | 🟢 Livré |
| 5 | Journal d'audit chaîné | Chaîne de hachage vérifiable par un point d'accès dédié | 🟢 Livré |
| 6 | Rapports de conformité Loi 25 | Génération sur une période donnée, export local | 🟢 Livré |
| 7 | Budgets et fenêtres de quota | Limite, seuil d'avertissement, seuil critique, par portée | 🟢 Livré |
| 8 | Drapeaux de fonctionnalité | Portée globale ou locataire, déploiement progressif de 0 à 100 % | 🟢 Livré |
| 9 | Configurations de modèles et d'adaptateurs | Fournisseur, identifiant de modèle, chemin de coffre, valeur par défaut | 🟢 Livré |
| 10 | Politiques de garde-fous et d'exécution | Motif d'action, effet, priorité, exigence d'approbation, réseau, sortie autorisée, durée maximale | 🟢 Livré |
| 11 | Coffre de secrets par projet | Dépôt réel d'un secret, relu indépendamment | 🟢 Livré |
| 12 | Isolation multi-locataire stricte | Désaccord d'identifiant de locataire ⇒ 404, jamais 403 | 🟢 Livré |
#5.2 Le diagramme de gouvernance
Aucun diagramme à afficher
Diagramme 3 — flowchart
Chaque étage peut refuser. Aucun n'accorde par omission.
#6. Les surfaces produit et leur statut réel
Règle d'or : ne jamais présenter une surface inexistante comme disponible.
| Surface | Statut | Réalité vérifiée |
|---|---|---|
| Portail client — web | 🟢 Livré | Next.js 15 exporté en statique, 27 routes utilisateur, espace de travail projet à 11 vues canoniques, français et anglais, authentification Keycloak PKCE. En ligne sur trois environnements. |
| Portail administration — web | 🟢 Livré | 16 destinations de plan de contrôle, 3 rôles plateforme croisés avec 16 capacités, français et anglais à 841 clés strictement à parité. En ligne sur trois environnements. |
| Portail de documentation — web | 🟡 En cours | Créé dans le cadre du programme de lancement, destiné à kyspectradoc.kyrieva.com. |
| Widget de collecte de retours embarquable | 🟢 Livré | Bundle autonome intégrable chez le client. |
| Portail « business » distinct | ⚪ N'existe pas | Il n'y a pas de troisième portail. « Business » est une persona à l'intérieur du portail client. La communication dit « portail client » ou « espace de travail », jamais « portail business ». |
| Application mobile iOS ou Android | ⚪ Planifié | Aucun code mobile n'existe dans le dépôt. Les portails sont responsives et utilisables sur mobile via navigateur. Toute mention porte la marque « Planifié » et une date de feuille de route, jamais une fiche de magasin d'applications. |
#6.1 Découpage des fiches de ce dossier
| Fichier | Surface décrite | Statut de la surface |
|---|---|---|
01-portail-client-web.md |
Portail client, navigateur de bureau | 🟢 Livré |
02-portail-client-mobile.md |
Application mobile client | ⚪ Planifié |
03-espace-business-web.md |
Zone d'affaires dans le portail client | 🟢 Livré comme zone, pas comme application |
04-espace-business-mobile.md |
Application mobile d'affaires | ⚪ Planifié |
05-portail-administration.md |
Portail d'administration | 🟢 Livré |
#7. Le modèle multi-locataire
#7.1 Le principe
Toute donnée est scopée par identifiant de locataire. L'isolation est stricte : aucune fuite entre clients n'est tolérée, et la plateforme ne révèle pas même l'existence d'une ressource appartenant à un autre.
#7.2 La résolution du locataire
| Rang | Source | Comportement |
|---|---|---|
| 1 | En-tête X-Tenant-ID |
Prioritaire |
| 2 | Revendication de locataire du jeton vérifié | Repli |
| 3 | Paramètre de requête tenant_id |
Dernier repli |
Règle de sécurité : un identifiant de locataire en désaccord avec la revendication du jeton renvoie 404, pas 403. On ne divulgue pas l'existence de la ressource d'autrui. Ce choix est motivé par la Loi 25 et le principe de minimisation.
#7.3 Les modes d'authentification
| Mode | Description | Posture |
|---|---|---|
jwt |
Jeton Keycloak vérifié, seul mode strict | Recommandé pour tout environnement partagé |
dev-headers |
En-têtes auto-déclarés, sans vérification | Développement local uniquement |
⚠️ Écart connu. Le mode
dev-headersest la valeur par défaut du code et n'est surchargé dans aucun manifeste de déploiement. Le durcissement de cette posture figure au plan de la phase 0 de pré-lancement.
#7.4 Les rôles RBAC hiérarchiques
| Rang | Rôle | Permissions |
|---|---|---|
| 0 | VIEWER | read:* |
| 1 | EDITOR | read:* + écriture sur les ressources déléguées |
| 2 | PUBLISHER | read:*, write:*, publish:* |
| 3 | ADMIN | read:*, write:*, publish:*, manage:users |
| 4 | OWNER | Accès complet au locataire |
Un rang supérieur satisfait toujours l'exigence d'un rang inférieur. Les rôles de la plateforme d'administration sont distincts et décrits au fichier 05-portail-administration.md.
⚠️ Écart connu. Cinq rôles sectoriels hérités d'un domaine antérieur subsistent hors hiérarchie et ne satisfont jamais une exigence de rang minimum. Leur retrait fait partie du chantier de généricisation, préalable au lancement.
#7.5 Le locataire de plateforme
Un identifiant de locataire réservé désigne la plateforme elle-même. Seul un administrateur de plateforme vérifié peut le cibler. Il est exempté de l'application des limites de plan, puisqu'il n'est pas un client.
#8. Le modèle de gouvernance de l'IA
C'est le différenciateur central du produit : les agents IA sont gouvernés comme des employés.
#8.1 Le registre central d'agents
| Propriété | Détail |
|---|---|
| Rôle | Source de vérité unique de tous les agents disponibles |
| Contenu par agent | Nom, nature statique ou dynamique, capacités, compétences liées, serveurs d'outils, budget de jetons, état de santé, transport |
| Exposition | Portail d'administration, destination Agents IA |
| Alimentation | Synchronisation depuis l'orchestrateur |
| Statut | 🟢 Livré — vérifié sur les trois environnements |
Un bundle d'agent — compétences, invite, serveurs d'outils, palier, mémoire — se résout depuis le registre central. Rien n'est accordé implicitement.
#8.2 Les capacités à trois niveaux
| Niveau | Portée | Qui accorde |
|---|---|---|
| Global | Catalogue de la plateforme | Administrateur de plateforme |
| Locataire | Ce que l'organisation cliente a adopté | Rôle ADMIN ou OWNER du locataire |
| Utilisateur | Ce dont une personne dispose effectivement | Dérivé du rôle, ajustable par dérogation |
Le principe est le refus par défaut : une action non explicitement couverte est refusée et journalisée sous un identifiant de politique dédié.
#8.3 Le plafond d'autonomie N0 à N3
C'est la mesure la plus concrète de la gouvernance : jusqu'où un agent peut aller seul.
| Niveau | Signification opérationnelle |
|---|---|
| N0 | L'agent propose. Rien ne s'exécute sans validation humaine explicite. |
| N1 | L'agent exécute des actions en lecture et des préparations, sans effet de bord durable. |
| N2 | L'agent exécute des actions à effet de bord dans un périmètre déclaré. |
| N3 | L'agent exécute de bout en bout dans son périmètre, sous journal et budget. |
La règle de plafonnement. Le niveau effectif est le minimum entre le plafond du rôle virtuel et le plafond du plan commercial. En cas de valeur inconnue ou de dégradation du service d'entitlements, la plateforme retombe sur N1 — un repli vers le bas, jamais vers le haut.
| Plan | Plafond d'autonomie maximal |
|---|---|
| Gratuit | N1 |
| Équipe | N2 |
| Entreprise | N3 |
⚠️ Écart connu. Le drapeau qui active les rôles virtuels et l'application des entitlements vaut
falsepar défaut et n'est activé dans aucun manifeste de déploiement. Le plafonnement est écrit, testé et prouvé en développement ; son activation par environnement est une action de la phase 0.
#8.4 La séparation des devoirs
| Point d'application | Comportement |
|---|---|
| Machine à états de revue | Rejette une décision dont l'auteur est aussi le soumissionnaire |
| Interface d'administration | Bloque le bouton avant même l'appel serveur, avec un motif nommé |
| Approbation de déploiement | L'approbateur doit différer du demandeur, sous peine d'un conflit typé |
| Revue de gouvernance des extensions | Le serveur reste autoritatif et renvoie un code d'erreur dédié à l'auto-approbation |
#8.5 Le journal d'audit
| Propriété | Détail |
|---|---|
| Structure | Chaîne de hachage : chaque événement scelle le précédent |
| Vérification | Un point d'accès dédié recalcule et confirme l'intégrité de la chaîne |
| Recherche | Par acteur, action, ressource, ou texte libre |
| Conformité | Génération d'un rapport Loi 25 sur une période donnée, exportable |
| Portée | Décisions de politique, appels d'outils, approbations, exécutions |
#8.6 Les budgets et la sobriété
| Mécanisme | Détail |
|---|---|
| Budget par portée | Limite en dollars, seuil d'avertissement, seuil critique |
| Fenêtre de quota | Par portée et par modèle, avec consommation et date de réinitialisation |
| Budget de jetons | Plafond journalier et mensuel, erreur 402 à l'épuisement |
| Prix par modèle | Table de prix par million de jetons, en entrée et en sortie |
| Garantie d'honnêteté | Sans service de facturation joignable, le reçu porte metered=false — jamais un montant inventé |
#8.7 Les garde-fous et politiques d'exécution
| Type de politique | Champs gouvernés |
|---|---|
| Garde-fou | Identifiant, motif d'action, effet autoriser ou refuser, priorité, exigence d'approbation, activation |
| Exécution | Clé, politique réseau (qui doit commencer par un refus), liste d'autorisations de sortie, durée maximale, politique de système de fichiers |
Une action peut être évaluée à la volée depuis le portail d'administration, avant d'être autorisée en production.
#9. Les trois environnements
#9.1 La carte des environnements
| Développement | Qualification | Production | |
|---|---|---|---|
| Portail client | dev.spectra.kyrieva.com |
qa.spectra.kyrieva.com |
spectra.kyrieva.com |
| Portail administration | dev.spectra.admin.kyrieva.com |
qa.spectra.admin.kyrieva.com |
spectra.admin.kyrieva.com |
| API | dev.api.spectra.kyrieva.com |
spectra-api-qa.kyrieva.com |
spectra-api.kyrieva.com |
| Produits déployés pour les clients | <projet>.kyrieva.com |
<projet>.kyrieva.com |
<projet>.kyrieva.com |
| Statut | 🟢 En ligne | 🟢 En ligne | 🟢 En ligne |
Identité partagée par les trois : un serveur Keycloak unique, un realm dédié, clients publics en PKCE S256, sans secret côté navigateur.
#9.2 La discipline de déploiement
| Règle | Motif |
|---|---|
| Déployer jusqu'en production, développement et qualification en parallèle | Le propriétaire teste directement en production |
| Vérifier l'interface uniquement en navigateur réel | Une réponse d'API verte ne prouve pas une interface utilisable |
| Deux répliques minimum et sonde de vivacité découplée de la base | Une sonde couplée à la base fait osciller un pod unique et provoque des erreurs 503 en cascade |
| Politique de sortie explicite vers le fournisseur d'identité | Sans elle, la passerelle redémarre en boucle sur un point de vérification injoignable |
#9.3 Le pipeline de mise en ligne
Aucun diagramme à afficher
Diagramme 4 — flowchart
#10. Récapitulatif Livré / En cours / Planifié
#10.1 Ce qui est Livré
| Domaine | Capacité | Portée prouvée |
|---|---|---|
| Comprendre | Import d'un dépôt public, rétro-ingénierie, promotion automatique de spécifications | Production |
| Comprendre | Sept familles d'artefacts d'architecture | Développement et production |
| Spécifier | Spécification exécutable versionnée, typée, reliée | Trois environnements |
| Spécifier | Génération assistée par IA depuis le langage naturel, validation EARS | Trois environnements |
| Spécifier | Métamodèle par projet | Développement |
| Concevoir | PRD, UML, BPMN, TOGAF, sécurité, documentation-comme-code | Trois environnements |
| Fabriquer | Registre central d'agents, refus par défaut, séparation des devoirs | Trois environnements |
| Fabriquer | Exécution de code en tâches Kubernetes éphémères | Développement |
| Fabriquer | Personnel virtuel IA, phase 1 : recrutement, assignation, file, organigramme | Développement et production |
| Vérifier | Couverture des critères d'acceptation, éditeur Gherkin, carte de chaleur | Trois environnements |
| Vérifier | Test navigateur réel avec Chromium | Développement |
| Vérifier | Analyse d'une base PostgreSQL en exploitation | Développement et production |
| Livrer | Construction et publication d'image | Développement |
| Livrer | Génération de pipeline CI/CD pour quatre fournisseurs, avec commit réel | Développement |
| Livrer | Déploiement Kubernetes gouverné avec approbation et retour arrière | Production |
| Livrer | Produit tiers servi sur un sous-domaine dédié avec TLS | Production |
| Livrer | Publication d'un front statique vers Cloudflare Pages et vers un stockage objet | Développement |
| Livrer | Déploiement par ligne de commande nuage générique | Développement |
| Plan de contrôle | Journal d'audit chaîné + vérification + rapport Loi 25 | Trois environnements |
| Plan de contrôle | Budgets, fenêtres de quota, drapeaux de fonctionnalité, modèles et adaptateurs, garde-fous | Trois environnements |
| Plan de contrôle | Coffre de secrets par projet, dépôt réel relu indépendamment | Développement et production |
| Surfaces | Portail client web, portail administration web, widget de retours | Trois environnements |
#10.2 Ce qui est En cours
| Domaine | Capacité | État exact |
|---|---|---|
| Surfaces | Portail de documentation publique | Créé dans le cadre du programme de lancement, non encore publié |
| Plan de contrôle | Place de marché de capacités avec audience ciblée et duplication à la volée | Code écrit et testé, non déployé, non prouvé en ligne |
| Vérifier | Automatisation robotisée de navigateur | Drapeau désactivé par défaut |
| Livrer | Pilotes de nuage public | Mécanisme générique prouvé, pilotes natifs absents |
| Marque | Alignement du nom affiché dans l'interface sur KySpectra |
Chantier de pré-lancement |
| Marque | Production des fichiers de logo | Chantier de pré-lancement |
| Catalogue | Nettoyage du catalogue de plans et retrait du vocabulaire hérité | Préalable bloquant au lancement |
#10.3 Ce qui est Planifié
| Domaine | Capacité | Ce qui manque |
|---|---|---|
| Surfaces | Applications mobiles iOS et Android | Aucun code mobile n'existe dans le dépôt |
| Livrer | Pilotes natifs Azure Container Apps, Cloud Run, ECS | Identifiants nuage utilisateur et pilotes dédiés |
| Livrer | Échange de jetons de registre ECR, ACR, GCR | Implémentation absente |
| Livrer | Empaquetage d'un front statique par le service de déploiement | Implémentation absente |
| Livrer | Déclencheurs d'intégration continue externes | Implémentation absente |
| Fabriquer | Personnel virtuel, phases 2 et 3 : autonomie déléguée, escalade, chaîne d'imputabilité | Conception seule |
| Fabriquer | Console de direction virtuelle globale | Conception seule |
| Plan agentique | Clés virtuelles LLM par application cliente et point d'accès public facturé | Implémentation absente |
#10.4 Ce qui est Bloqué
| Domaine | Capacité | Cause exacte |
|---|---|---|
| Livrer | Provisionnement automatique d'un fournisseur d'identité pour le produit client | Droits d'administration insuffisants sur le serveur d'identité, vérifiés empiriquement par des refus réels. Déblocage = action d'exploitation, pas de développement. |
| Facturation | Sauvegarde de nouvelles configurations de facturation | Clé de chiffrement à provisionner depuis le coffre vers le cluster ; en son absence, l'écriture échoue en position fermée, ce qui est le comportement voulu |
#11. Écarts connus et dette assumée
Cette section existe parce qu'un dossier de lancement qui cache ses écarts se détruit au premier essai client.
| # | Écart | Impact | Résolution |
|---|---|---|---|
| 1 | L'interface affiche encore le nom de code interne au lieu de la marque publique | Marque | Aligner la clé de nom d'application avant le jour J |
| 2 | Aucun fichier de logo dans le dépôt ; le logo est un tracé dessiné en ligne | Marque et assets | Produire les fichiers de logo |
| 3 | Trois jeux de données de démarrage de plans coexistent, dont un sur un schéma périmé | Commercial | Nettoyer le catalogue — préalable bloquant |
| 4 | Le catalogue gratuit affiche encore un vocabulaire hérité d'un autre domaine | Commercial | Chantier de généricisation |
| 5 | Cinq rôles sectoriels hérités subsistent hors hiérarchie RBAC | Sécurité et clarté | Chantier de généricisation |
| 6 | Le mode d'authentification par en-têtes est la valeur par défaut du code | Sécurité | Fixer explicitement le mode strict par manifeste |
| 7 | Le drapeau des rôles virtuels et des entitlements vaut false par défaut |
Commercial et gouvernance | Activer par environnement après amorçage des plans |
| 8 | La clé de traduction de la destination Personnel IA du portail d'administration est absente en français et en anglais | Interface | Correctif d'interface |
| 9 | Le portail d'administration affiche un flux d'activité par sondage, pas par événements serveur | Confort | Amélioration planifiée |
| 10 | Un compagnon conversationnel du portail d'administration n'est pas raccordé à un modèle | Confort | Le message d'interface l'indique explicitement |
| 11 | Deux libellés français concurrents désignent la vue de personnel virtuel | Interface | Correctif de libellé |
| 12 | Le domaine de documentation publique n'est référencé nulle part dans le dépôt ; les manifestes citent une zone voisine | Infrastructure | Trancher la zone détenue avant publication |
#12. Lexique du produit
Le vocabulaire est imposé et doit être utilisé tel quel dans toutes les communications.
| Terme retenu | À ne pas dire | Définition |
|---|---|---|
| Espace de travail | workspace | La surface projet à 11 vues canoniques du portail client |
| Exigence | requirement, user story seule | Un objet de spécification typé, versionné, relié |
| Spécification | doc, cahier des charges | L'ensemble structuré des objets d'un projet |
| Agent | bot, assistant | Un exécutant IA inscrit au registre central, avec un périmètre |
| Plan de contrôle | back-office, admin | La couche de gouvernance transversale |
| Locataire | tenant, compte | L'organisation cliente et son périmètre de données étanche |
| Plafond d'autonomie | niveau d'IA | La borne N0 à N3 qui limite ce qu'un agent fait seul |
| Séparation des devoirs | double validation | La règle qui interdit d'approuver sa propre soumission |
| Journal d'audit | logs | La chaîne de hachage vérifiable des décisions |
| Portail client | portail business | La surface utilisateur unique ; « business » n'est qu'une persona à l'intérieur |
| Maillon | étape, phase | Un des six segments de la chaîne de valeur |
#13. Ce que ce document engage
| Engagement | Portée |
|---|---|
| Chaque capacité citée existe dans le code, sous forme de route ou de service réel | Vérifié par lecture directe du dépôt au 2026-08-17 |
| Chaque statut est l'un de Livré, En cours, Planifié, Bloqué | Aucune capacité planifiée n'est présentée comme disponible |
| Chaque écart connu est nommé dans la section 11 | Aucune omission volontaire |
| Aucun chiffre de marché n'apparaît sans source datée | Les seuls chiffres cités décrivent notre propre produit |
| Aucun témoignage client n'est cité | Il n'en existe aucun à ce jour |
KySpectra — Plateforme agentique SDD/SDLC · par Kyrieva
Documentation : kyspectradoc.kyrieva.com ·
Dossier de lancement : Strategielancement/
Document interne de pré-lancement — version 1.0 du 2026-08-17. Les données marquées
« [Gabarit : … ] » doivent être renseignées ou revalidées avant diffusion externe.