#Sommaire
| § | Processus | Statut du processus |
|---|---|---|
| 0 | Conventions de lecture | — |
| 1 | Import et rétro-ingénierie d'un dépôt de code | 🟢 Livré |
| 2 | Rédaction assistée d'une spécification | 🟢 Livré |
| 3 | Analyse de couverture et traçabilité | 🟢 Livré |
| 4 | Génération d'un artefact d'architecture | 🟢 Livré |
| 5 | Cycle de revue avec séparation des devoirs | 🟢 Livré |
| 6 | Exécution d'un agent avec approbation humaine | 🟢 Livré |
| 7 | Génération et exécution de tests | 🟢 Livré |
| 8 | Pipeline de déploiement en six étapes | 🟢 Livré |
| 9 | Mise en ligne d'un produit sur sous-domaine | 🟢 Livré |
| 10 | Traitement d'un retour utilisateur | 🟢 Livré |
| 11 | Provisionnement d'un locataire | 🟢 Livré |
| 12 | Dépassement de budget et de quota | 🟢 Livré |
| 13 | Ingestion d'un document avec revue humaine obligatoire | 🟢 Livré |
| 14 | Récapitulatif des règles métier transverses | — |
Total : 13 diagrammes d'activité.
#0. Conventions de lecture
#0.1 Notation
| Élément UML d'activité | Transposition Mermaid | Exemple |
|---|---|---|
| Nœud initial | Forme arrondie | debut(["Debut"]) |
| Action | Rectangle | a1["Cloner le depot"] |
| Nœud de décision | Losange | d1{"Portes franchies ?"} |
| Barre de parallélisme — division | Rectangle nommé | fork1["Barre de parallelisme"] |
| Barre de parallélisme — synchronisation | Rectangle nommé | join1["Synchronisation"] |
| Couloir de responsabilité | subgraph fermé par end |
subgraph L1["Couloir Utilisateur"] |
| Flux normal | Flèche pleine | --> |
| Flux d'exception ou compensation | Flèche pointillée | -.-> |
| Appel de service | Flèche épaisse | ==> |
| Nœud final | Forme arrondie | fin(["Fin"]) |
Mermaid ne dispose pas de couloirs natifs : ils sont simulés par des subgraph. Les identifiants de nœuds sont sans accent, sans espace et sans tiret ; les libellés sont toujours entre guillemets.
#0.2 Trois règles transverses à tous les processus
| Règle | Formulation exacte |
|---|---|
| Honnêteté d'ingénierie | Une capacité non configurée répond 501 Not Implemented avec un message explicite. Rien n'est jamais simulé. |
| Refus par défaut | Toute action non explicitement couverte par une liste d'autorisations est refusée et journalisée sous l'identifiant de politique deny-by-default. |
| Isolation stricte | Un identifiant de locataire en désaccord avec la revendication du jeton produit un 404, pas un 403 : l'existence de la ressource d'autrui n'est pas révélée. |
#1. Processus — Import et rétro-ingénierie d'un dépôt de code
Intention. Transformer un dépôt existant en faits objectifs, puis en candidats de spécification soumis à décision humaine.
Aucun diagramme à afficher
Diagramme 1 — flowchart
| Activité | Responsable | Règle métier réelle | Statut |
|---|---|---|---|
| Déclarer la source et le chemin de coffre | Éditeur | Un secret en clair dans le corps produit un 422 : seul un chemin de coffre circule | 🟢 Livré |
Créer le travail au statut queued |
Service | Un mode reverse ou hybrid sans aucune source produit un 422 |
🟢 Livré |
| Planifier le pipeline en tâche de fond | Service | La planification a lieu après l'assemblage de la réponse, qui reste un 201 immédiat | 🟢 Livré |
| Cloner en profondeur 1 | Service | --depth 1 --single-branch ; jeton injecté par en-tête HTTP par appel, jamais dans l'URL ni dans la configuration du dépôt |
🟢 Livré |
| Analyser statiquement les fichiers Python | Service | Seul Python est analysé par arbre syntaxique. Les autres langages sont rangés dans la liste unsupported |
🟢 Livré |
| Lire l'historique git | Service | Plafonné à 200 commits | 🟢 Livré |
| Persister les faits | Service | Chaque fait porte son fichier:ligne ; provenance ingested:<source> |
🟢 Livré |
| Calculer la confiance | Service | Fonction pure de signaux comptés : corroboration multi-sources, présence de documentation, couverture par un test | 🟢 Livré |
| Ouvrir une tâche de validation | Service | Un candidat sans preuve est refusé structurellement par le constructeur | 🟢 Livré |
| Auto-promouvoir | Service | Seuil de confiance 0,7 ; relecteur sentinelle fixe ; note explicite ; jamais d'auto-approbation anonyme | 🟢 Livré |
| Approuver ou rejeter un candidat | Publieur | Rôle ≥ PUBLISHER ; candidat déjà décidé ⇒ 409 | 🟢 Livré |
| Créer l'objet de spécification | Service de spécification | L'identifiant canonique est celui renvoyé par le serveur, jamais fabriqué | 🟢 Livré |
Marquer le travail failed |
Service | Toute exception est capturée dans une session neuve ; le message d'erreur est assaini ; un travail n'est jamais laissé bloqué | 🟢 Livré |
| Point de décision | Condition évaluée | Chemin « oui » | Chemin « non » |
|---|---|---|---|
| Référence distante ? | Schéma d'URL autre que fichier local | Résolution du jeton puis clone | Lecture directe de l'arbre déclaré |
| Confiance ≥ 0,7 ? | Score du candidat contre le seuil configuré | Promotion automatique attribuable | Maintien en file humaine |
Garde structurelle. Un déclencheur de base de données interdit toute promotion sans tâche de validation approuvée. Le chemin automatique emprunte exactement la même fonction de décision que le chemin humain.
#2. Processus — Rédaction assistée d'une spécification
Aucun diagramme à afficher
Diagramme 2 — flowchart
| Activité | Responsable | Règle métier réelle | Statut |
|---|---|---|---|
| Décrire l'intention | Éditeur | Rôle ≥ EDITOR requis pour toute écriture | 🟢 Livré |
| Assembler le contexte du projet | Copilote | Le document externe est encadré comme donnée non fiable, jamais comme instruction | 🟢 Livré |
| Vérifier le budget de jetons | Garde de crédit | Pré-vérification avant l'appel facturable ; épuisement ⇒ 402 | 🟢 Livré |
| Appeler la passerelle LLM | Copilote | Passerelle unique ; sans facturation joignable, le reçu porte metered=false |
🟢 Livré |
| Vérifier la conformité au contrat | Copilote | Réponse non conforme ⇒ erreur typée, jamais de contenu inventé | 🟢 Livré |
| Valider la grammaire EARS | Service de spécification | Évaluateur en lecture, rôle ≥ VIEWER ; renvoie un taux de couverture et une provenance | 🟢 Livré |
| Valider contre le métamodèle | Service de spécification | Le métamodèle du projet impose les types et les liens autorisés | 🟢 Livré |
| Relire et amender | Éditeur | La proposition n'est jamais écrite sans validation explicite | 🟢 Livré |
| Persister les objets | Service de spécification | Statut initial draft ; version 1 ; empreinte de contenu calculée |
🟢 Livré |
| Point de décision | Condition évaluée | Chemin « oui » | Chemin « non » |
|---|---|---|---|
| Budget disponible ? | Solde de jetons contre plafond journalier et mensuel | Appel effectué | 402 renvoyé, aucun appel émis |
| Réponse conforme au contrat ? | Validation du schéma de sortie | Proposition présentée | Erreur typée, aucune écriture |
| Proposition acceptée ? | Décision humaine | Écriture des objets | Boucle d'amendement |
#3. Processus — Analyse de couverture et traçabilité
Aucun diagramme à afficher
Diagramme 3 — flowchart
| Activité | Responsable | Règle métier réelle | Statut |
|---|---|---|---|
| Lancer l'analyse du projet | Publieur | Analyse sur l'ensemble du projet, jamais partielle silencieusement | 🟢 Livré |
| Charger les relations du projet | Service | Vocabulaire de relations contrôlé, dont contains, refines, derives, satisfies, verifies, validates, implements, depends_on, conflicts_with, traces_to |
🟢 Livré |
| Détecter les exigences sans vérification | Service | Seules les relations verifies et traces_to comptent comme vérification |
🟢 Livré |
| Détecter les critères sans scénario | Service | Relations retenues : verifies, validates, traces_to, satisfies ; types de scénario : SCEN et TEST |
🟢 Livré |
| Détecter les cycles de dépendance | Service | Détection sur la relation depends_on |
🟢 Livré |
| Calculer le taux de couverture | Service | Rapport entre exigences vérifiées et exigences totales | 🟢 Livré |
| Créer la relation manquante | Éditeur | Objets d'un autre locataire ⇒ 404 | 🟢 Livré |
| Point de décision | Condition évaluée | Chemin « oui » | Chemin « non » |
|---|---|---|---|
| Cycle détecté ? | Parcours du graphe de dépendance | Erreur typée signalant le cycle | Poursuite de l'analyse |
| Couverture complète ? | Aucune exigence sans relation de vérification | Rapport sans écart | Liste d'écarts à traiter |
| Écart à traiter ? | Décision humaine | Boucle de correction | Fin du processus |
#4. Processus — Génération d'un artefact d'architecture
Aucun diagramme à afficher
Diagramme 4 — flowchart
| Activité | Responsable | Règle métier réelle | Statut |
|---|---|---|---|
| Vérifier chaque référence de spécification | Service d'artefacts | Aucun artefact orphelin : appel HTTP réel par référence avant persistance, doublé d'une contrainte de base exigeant au moins une référence | 🟢 Livré |
| Constituer les segments | Service d'artefacts | Un segment par objet de spécification, plus une instruction facultative | 🟢 Livré |
| Assembler puis envoyer le dispatch | Passerelle de prompts | Contrat en deux appels ; assemblage refusé ⇒ 502 typé ; contrat violé ⇒ 502 typé | 🟢 Livré |
| Rendre le diagramme | Service d'artefacts | Fonctions pures, sans modèle de langage, sans réseau, sans aléa : même modèle, même diagramme | 🟢 Livré |
| Persister artefact et Mermaid | Service d'artefacts | Le texte Mermaid est versionné avec le contenu | 🟢 Livré |
| Créer une version immuable | Éditeur | Motif de changement obligatoire ; verrouillage de la ligne pendant l'incrément | 🟢 Livré |
| Publier l'artefact | Publieur | Statuts admis : draft, generated, reviewed, published, deprecated |
🟢 Livré |
| Point de décision | Condition évaluée | Chemin « oui » | Chemin « non » |
|---|---|---|---|
| Toutes les références existent ? | Réponse du service de spécification par référence | Poursuite | 422 listant les identifiants manquants |
| Génération assistée par IA ? | Choix de l'utilisateur | Dispatch gouverné | Rendu déterministe local |
| Contrat de sortie valide ? | Verdict de la passerelle de prompts | Persistance | 502 typé, aucun artefact fabriqué |
| Artefact satisfaisant ? | Décision humaine | Version immuable | Boucle de reprise |
⚠️ Limite réelle. La génération assistée accepte cinq familles seulement : document d'exigences produit, UML, BPMN, TOGAF et sécurité. Les modèles entité-relation et ArchiMate ne peuvent pas être générés par IA. En outre, une révision d'un artefact de ces deux familles perd son diagramme : le dispatcher de rendu ne les couvre pas.
#5. Processus — Cycle de revue avec séparation des devoirs
Aucun diagramme à afficher
Diagramme 5 — flowchart
| Activité | Responsable | Règle métier réelle | Statut |
|---|---|---|---|
| Créer la revue | Éditeur | Statut initial draft |
🟢 Livré |
| Soumettre la revue | Éditeur | Transitions légales : draft vers submitted ; changes_requested vers submitted |
🟢 Livré |
| Vérifier la transition autorisée | Service | Transition illégale ⇒ 409 listant explicitement les transitions permises | 🟢 Livré |
| Vérifier la séparation des devoirs | Service | Le soumissionnaire ne peut jamais être le relecteur qui approuve ou rejette ⇒ 403 | 🟢 Livré |
| Vérifier les critères de porte | Service | Seul le verdict approved est soumis à la porte : un fil bloquant ouvert ou un critère de définition de fini non satisfait ⇒ 422 |
🟢 Livré |
| Rendre une décision | Publieur | Rôle ≥ PUBLISHER ; verdicts approved, changes_requested, rejected |
🟢 Livré |
| Traiter les changements demandés | Éditeur | Le statut changes_requested autorise une nouvelle soumission |
🟢 Livré |
| Point de décision | Condition évaluée | Conséquence |
|---|---|---|
| Transition légale ? | Table des arêtes autorisées de la machine à états | 409 typé sinon |
| Relecteur différent du soumissionnaire ? | Comparaison des identifiants | 403 auto-approbation interdite sinon |
| Fils bloquants ou critères non satisfaits ? | Comptage réel des fils bloquants et des critères déclarés non satisfaits | 422 sinon |
Double application. L'interface d'administration bloque le bouton avant même l'appel serveur, avec un motif nommé, et le serveur reste autoritatif. Les deux gardes coexistent volontairement.
#6. Processus — Exécution d'un agent avec approbation humaine
Aucun diagramme à afficher
Diagramme 6 — flowchart
| Activité | Responsable | Règle métier réelle | Statut |
|---|---|---|---|
| Vérifier la taille du plan | Service d'exécution | Plafond de 500 étapes ; budget d'étapes par défaut de 1 000 | 🟢 Livré |
| Résoudre le plafond d'autonomie effectif | Service | Minimum entre plafond du rôle virtuel et plafond du plan ; dégradation ⇒ repli sur N1, jamais vers le haut | 🟢 Livré |
| Évaluer la politique hors boucle | Moteur de politique | Liste d'autorisations déterministe ; action non couverte ⇒ effet deny sous deny-by-default, écrit en base |
🟢 Livré |
| Emprunter un bail de secret | Exécuteur de code | Le secret ne touche jamais la spécification de la tâche, le service, la base ni un journal : seule la référence de bail est enregistrée | 🟢 Livré |
| Provisionner une tâche éphémère | Exécuteur de code | Espace de noms dédié, jamais celui de l'application ; durée de vie limitée ; suppression automatique après achèvement | 🟢 Livré |
| Exécuter dans un pod durci | Exécuteur de code | Non-root, système de fichiers racine en lecture seule, toutes les capacités retirées, élévation de privilège interdite, profil de sécurité par défaut | 🟢 Livré |
| Émettre l'événement d'activité | Service | Événements persistés puis diffusés ; reprise possible par identifiant de dernier événement | 🟢 Livré |
| Écrire un point de reprise | Service | Suspension et reprise adossées à des points de reprise numérotés et uniques par run | 🟢 Livré |
| Point de décision | Condition évaluée | Conséquence |
|---|---|---|
| Plan sous le plafond ? | Nombre d'étapes contre 500 | Refus explicite sinon |
| Action couverte ? | Motif d'action contre la liste d'autorisations | Refus journalisé sinon |
| Approbation humaine exigée ? | Champ require_approval du garde-fou |
Mise en attente sinon exécution directe |
| Budget épuisé ? | Compteur de jetons contre plafonds journalier et mensuel | 402 sinon poursuite |
Actions volontairement absentes de la liste d'autorisations — et donc refusées : déploiement en production, suppression récursive de fichiers, sortie réseau non déclarée, écriture hors de l'espace de travail, emprunt de secret non scopé.
⚠️ Écart réel. L'exécuteur par défaut du manifeste de développement est l'exécuteur en ligne, qui ne fournit pas d'isolation dure de conteneur ni de réseau. L'exécuteur par tâche Kubernetes existe, est testé, et doit être sélectionné explicitement.
#7. Processus — Génération et exécution de tests
Aucun diagramme à afficher
Diagramme 7 — flowchart
| Activité | Responsable | Règle métier réelle | Statut |
|---|---|---|---|
| Sélectionner les critères d'acceptation | Responsable qualité | Aucun critère sélectionné ⇒ refus explicite | 🟢 Livré |
| Générer les scénarios Gherkin | Service de qualité | Les scénarios sont reliés aux critères : une couverture non reliée n'est pas comptée | 🟢 Livré |
| Produire des données de test synthétiques | Fabrique de données | Aucune donnée personnelle réelle n'est utilisée | 🟢 Livré |
| Exécuter le navigateur réel | Service d'exécution | Navigateur réel en tâche ; moteur indisponible ⇒ verdict inconclusive, jamais un faux vert |
🟢 Livré en développement |
| Comparer contre la référence approuvée | Service d'exécution | Comparaison désactivée ⇒ 503 honnête ; l'approbation d'une référence exige un rôle ≥ PUBLISHER | 🟢 Livré |
| Calculer la couverture par critère | Service de qualité | Croisement exigence contre test par relations de vérification | 🟢 Livré |
| Point de décision | Condition évaluée | Conséquence |
|---|---|---|
| Moteur de navigateur disponible ? | Disponibilité réelle de l'exécuteur | Verdict inconclusive motivé sinon |
| Comparaison visuelle activée ? | Drapeau de comparaison visuelle | 503 honnête sinon |
| Couverture suffisante ? | Décision humaine sur la carte de chaleur | Boucle de complétion sinon |
Automatisation robotisée de navigateur. Le drapeau correspondant vaut false par défaut ; une exécution en mode action navigateur répond alors par un 404 typé. Statut 🟡 En cours.
#8. Processus — Pipeline de déploiement en six étapes
Aucun diagramme à afficher
Diagramme 8 — flowchart
| Étape | Ordinal | Ce qu'elle fait réellement | Verdict | Statut |
|---|---|---|---|---|
| Build | 0 | Clone puis construction de l'image ; journal publié au stockage objet ; variante sans démon disponible | Le code de retour est le verdict | 🟢 Livré en développement |
| Test | 1 | Exécution de la commande de test configurée dans l'arbre cloné | Code de sortie | 🟢 Livré |
| Scan | 2 | Trois dimensions réelles : analyse statique du code, audit des dépendances, recherche de secrets | Outil manquant ⇒ 501 nommant l'outil, jamais un vert fabriqué | 🟢 Livré |
| Gate | 3 | Aucun outil externe : verdict dérivé des trois verdicts réels précédents | Calcul pur | 🟢 Livré |
| Deploy | 4 | Application de l'image puis ré-interrogation de l'état du workload | live seulement si prêt, mis à jour, disponible et désiré coïncident |
🟢 Livré en production |
| Monitor | 5 | Relecture de l'état après déploiement | Non convergé ⇒ retour vers la spécification, boucle fermée | 🟢 Livré |
| Point de décision | Règle métier réelle |
|---|---|
| Simulation sans bloqueur ? | La simulation ne touche aucune infrastructure et n'écrit rien ; elle liste les portes non franchies et les bloqueurs |
| Portes franchies ? | Une étape d'ordinal strictement inférieur non passed produit un 409 hors séquence |
| Approbation humaine exigée ? | Drapeau d'approbation obligatoire ; défaut false |
| Approbateur différent du demandeur ? | Auto-approbation ⇒ 409 typé |
| Répliques convergées ? | Statut live seulement après ré-interrogation réelle |
| Exécution réelle activée ? | Drapeau d'exécution ; défaut false ⇒ 501 explicite, aucun déploiement simulé |
Invariant non contournable. L'étape deploy ne se marque jamais à la main : une tentative d'avancement manuel produit un 409 typé renvoyant vers le point d'accès dédié. Un seul déploiement par exécution est autorisé.
#9. Processus — Mise en ligne d'un produit sur sous-domaine
Aucun diagramme à afficher
Diagramme 9 — flowchart
| Activité | Responsable | Règle métier réelle | Statut |
|---|---|---|---|
| Demander la mise en ligne | Publieur | Rôle ≥ PUBLISHER | 🟢 Livré |
| Vérifier l'activation | Service | Mise en ligne désactivée ⇒ 501 honnête, jamais une URL fictive | 🟢 Livré |
| Rendre et appliquer les manifestes | Service | Déploiement, service et entrée rendus puis appliqués ; applicateur réel uniquement si le jeton de compte de service est monté | 🟢 Livré en production |
| Demander le certificat automatique | Infrastructure | Émission automatique par validation DNS | 🟢 Livré |
| Renvoyer l'URL publique | Service | Produit servi sur <projet>.kyrieva.com |
🟢 Livré en production |
| Vérifier dans un navigateur réel | Publieur | Discipline imposée : une réponse d'API verte ne prouve pas une interface utilisable | 🟢 Livré |
| Provisionner un realm dédié au produit | Fournisseur d'identité | Refusé en pratique : droits d'administration insuffisants, vérifiés empiriquement | 🔴 Bloqué |
| Point de décision | Condition | Conséquence |
|---|---|---|
| Mise en ligne activée ? | Drapeau de mise en ligne, défaut false |
501 honnête sinon |
| Certificat émis et répliques prêtes ? | État réel du cluster | État non convergé signalé, jamais masqué |
⚠️ Écarts d'exploitation vérifiés. Deux règles issues d'incidents réels s'appliquent à toute mise en ligne : deux répliques minimum avec une sonde de vivacité découplée de la base de données, et une politique de sortie explicite vers le fournisseur d'identité — sans elle, la passerelle redémarre en boucle sur un point de vérification injoignable et le portail semble en défaut de partage de ressources entre origines.
#10. Processus — Traitement d'un retour utilisateur
Aucun diagramme à afficher
Diagramme 10 — flowchart
| Activité | Responsable | Règle métier réelle | Statut |
|---|---|---|---|
| Ouvrir le formulaire public ou le widget | Visiteur anonyme | La garde d'authentification du portail doit exempter les routes publiques, sinon une soumission anonyme est redirigée vers la connexion — écart corrigé et vérifié | 🟢 Livré |
| Soumettre l'idée ou le défaut | Visiteur anonyme | Aucune authentification exigée sur la surface publique | 🟢 Livré |
| Publier sur le tableau des retours | Service | Tableau scopé au locataire | 🟢 Livré |
| Trier le retour | Éditeur | Le tri est humain, jamais automatique | 🟢 Livré |
| Rattacher le retour à une exigence | Éditeur | Ferme la boucle vers la spécification : un défaut remonte à l'exigence qui l'a produit | 🟢 Livré |
| Changer le statut | Publieur | Rôle ≥ PUBLISHER ; transition non permise ⇒ 409 | 🟢 Livré |
| Alimenter le journal des changements | Service | Journal public consultable sans authentification | 🟢 Livré |
| Voter | Lecteur | Un vote par personne ; vote déjà émis ⇒ opération neutre | 🟢 Livré |
| Point de décision | Condition | Conséquence |
|---|---|---|
| Route publique exemptée ? | Préfixe de chemin /public ou /auth |
Redirection vers la connexion sinon |
| Retour retenu ? | Décision humaine de tri | Clôture motivée sinon |
#11. Processus — Provisionnement d'un locataire
Aucun diagramme à afficher
Diagramme 11 — flowchart
| Activité | Responsable | Règle métier réelle | Statut |
|---|---|---|---|
| Vérifier la disponibilité de l'identifiant court | Service utilisateurs | Identifiant unique par plateforme | 🟢 Livré |
| Créer l'organisation | Service utilisateurs | Toute donnée est scopée par identifiant de locataire | 🟢 Livré |
| Rattacher le plan commercial | Service utilisateurs | Plans réels : Gratuit, Équipe à 49,00 $ CAD par mois, Entreprise sur devis | 🟢 Livré, 🟡 catalogue à nettoyer |
| Enregistrer la juridiction du locataire | Service utilisateurs | La juridiction est propagée aux services par un en-tête dédié | 🟢 Livré |
| Générer le jeton d'invitation | Service utilisateurs | Validité 7 jours ; jeton inconnu ou expiré ⇒ 404 sans fuite | 🟢 Livré |
| Créer le compte au fournisseur d'identité | Proxy d'administration | Proxy non configuré ⇒ 501 typé, reconnu et affiché honnêtement par le portail | 🟢 Livré |
| Attribuer les rôles | Proxy d'administration | Rôles composites : propriétaire vers administrateur vers publieur vers éditeur vers lecteur | 🟢 Livré |
| Point de décision | Condition | Conséquence |
|---|---|---|
| Identifiant court disponible ? | Unicité en base | Refus explicite sinon |
| Proxy d'administration configuré ? | Présence d'identifiants d'administration | 501 typé sinon |
| Jeton valide et non expiré ? | Validité et fenêtre de 7 jours | 404 sans fuite sinon |
⚠️ Écart réel affiché dans l'interface. La suspension d'un locataire n'est pas encore couverte côté service utilisateurs : le portail d'administration l'annonce explicitement dans un encart, au lieu de proposer un bouton sans effet.
#12. Processus — Dépassement de budget et de quota
Aucun diagramme à afficher
Diagramme 12 — flowchart
| Activité | Responsable | Règle métier réelle | Statut |
|---|---|---|---|
| Pré-vérifier le crédit avant appel | Garde de crédit | La pré-vérification a lieu avant l'appel facturable ; un refus empêche l'appel d'être émis | 🟢 Livré |
| Émettre un reçu non compté | Garde de crédit | Sans service de facturation joignable, le reçu porte metered=false — jamais un montant inventé |
🟢 Livré |
| Lire le budget de la portée | Service de facturation | Budget par portée : limite en dollars, seuil d'avertissement, seuil critique | 🟢 Livré |
| Mettre à jour la fenêtre de quota | Service de facturation | Fenêtre par portée et par modèle : consommation, pourcentage utilisé, date de réinitialisation | 🟢 Livré |
| Régler la consommation réelle | Garde de crédit | Règlement avec les jetons réellement consommés en entrée et en sortie | 🟢 Livré |
| Refuser l'appel d'outil | Registre d'extensions | Quota journalier d'appels d'outils : 200 pour le palier gratuit, 5 000 pour Équipe, 1 000 000 pour Entreprise | 🟢 Livré |
| Point de décision | Condition | Posture d'échec |
|---|---|---|
| Service de facturation joignable ? | Disponibilité du service | Reçu non compté, jamais de charge fabriquée |
| Solde suffisant ? | Solde contre coût estimé | 402 explicite |
| Seuil d'avertissement franchi ? | Pourcentage contre seuil configuré | Notification, pas de blocage |
| Seuil critique franchi ? | Pourcentage contre seuil critique | Notification renforcée |
| Quota journalier atteint ? | Compteur d'appels d'outils | Refus ; en cas de dégradation du plan de contrôle, le plafond journalier échoue en position ouverte |
Deux postures d'échec assumées et documentées. Les écritures de fonctions payantes échouent en position fermée — on n'accorde jamais une fonction non payée. Le plafond journalier d'appels d'outils échoue en position ouverte — on ne bloque pas un client qui paie à cause d'un incident du plan de contrôle.
#13. Processus — Ingestion d'un document avec revue humaine obligatoire
Aucun diagramme à afficher
Diagramme 13 — flowchart
| Activité | Responsable | Règle métier réelle | Statut |
|---|---|---|---|
| Téléverser un document | Éditeur | Fichier vide ⇒ 422 ; au-delà de 10 Mio ⇒ 413 ; extension hors liste ⇒ 415 | 🟢 Livré |
| Extraire le texte | Service d'ingestion | Markdown, texte, PDF et DOCX sont réellement extraits. Une image ne l'est pas : le document est stocké, marqué dégradé, et zéro candidat est produit — aucune transcription fabriquée | 🟢 Livré |
| Stocker l'objet | Service d'ingestion | Clé scopée par locataire et par document ; échec ⇒ statut de stockage explicite, jamais une référence fabriquée | 🟢 Livré |
| Classifier langue et renseignements personnels | Service d'ingestion | Détecteur local déterministe toujours disponible ; seuls des échantillons masqués sont persistés | 🟢 Livré |
| Structurer les candidats | Service d'ingestion | Règles déterministes : un tableau devient une entité, un titre une ancre, une puce est classée par marqueur. Un texte sans marqueur n'est pas inventé en candidat | 🟢 Livré |
| Dédupliquer | Service d'ingestion | Seuil de doublon 0,92 ; seuil de conflit 0,80 avec test de contradiction conservateur | 🟢 Livré |
| Décider sur le candidat | Publieur | Quatre décisions : amender, rejeter, lier, accepter. Candidat déjà décidé ⇒ 409 | 🟢 Livré |
| Exiger une justification Loi 25 | Service d'ingestion | Un candidat marqué comme porteur de renseignements personnels ne peut pas être accepté sans justification écrite ⇒ 422 sinon | 🟢 Livré |
| Créer l'objet de spécification | Service de spécification | Rien n'est jamais auto-accepté dans le magasin de spécification ; l'identifiant est celui renvoyé par le serveur | 🟢 Livré |
| Point de décision | Condition | Conséquence |
|---|---|---|
| Type de fichier supporté ? | Extension normalisée | 415 typé sinon |
| Extraction possible ? | Moteur disponible pour le type | Document dégradé, zéro candidat |
| Génération assistée activée ? | Drapeau de génération, désactivé par défaut | Mode structurel déterministe sinon |
| Candidat porteur de renseignements personnels ? | Analyse par segment | Justification Loi 25 obligatoire |
Configuration par défaut. Sans génération, sans déduplication et sans classification externe, le service tourne en mode 100 % déterministe local. C'est le chemin le plus fiable, mais sans enrichissement sémantique. Le produit le dit plutôt que de le masquer.
#14. Récapitulatif des règles métier transverses
| # | Règle | Où elle s'applique | Statut |
|---|---|---|---|
| 1 | Refus par défaut sur toute action non couverte, avec journalisation | Exécution d'agents, permissions d'outils, catalogue de capacités | 🟢 Livré |
| 2 | Séparation des devoirs : le soumissionnaire n'approuve jamais sa propre soumission | Revue, gouvernance des extensions, approbation de déploiement | 🟢 Livré |
| 3 | Réponse 501 explicite plutôt que simulation |
Déploiement, mise en ligne, export, rendu, extraction, prédictions | 🟢 Livré |
| 4 | Isolation multi-locataire par 404, jamais 403 | Toutes les lectures et écritures scopées | 🟢 Livré |
| 5 | Aucun secret en base : seule une référence de coffre circule | Registre d'outils, sources de projet, exécution de code, sessions de rebond | 🟢 Livré |
| 6 | Revue humaine obligatoire avant entrée dans le magasin de spécification | Ingestion documentaire, rétro-ingénierie | 🟢 Livré |
| 7 | Aucun artefact orphelin : toute référence de spécification est vérifiée avant persistance | Service d'artefacts | 🟢 Livré |
| 8 | Repli d'autonomie vers le bas en cas de dégradation | Résolution du plafond N0 à N3 | 🟢 Livré |
| 9 | Ré-interrogation de l'état réel après action d'infrastructure | Déploiement, mise en ligne | 🟢 Livré |
| 10 | Vérification d'interface en navigateur réel uniquement | Toute validation de surface utilisateur | 🟢 Livré |
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.