[Coffre Secrets] Phase 3 — Intégration Spark : référence Identités + injection exécuteur #21

Open
opened 2026-10-27 21:36:32 -04:00 by bruno · 0 comments
Owner

Contexte : spec « Coffre de secrets ObsiGate » §12 (Spark). Dépend de la Phase 1 (distribution ObsiGate). Travail réparti : côté ObsiGate = contrat de distribution ; côté agent-commun = registre Identités + injection — coordonner, ne pas dupliquer la logique de chiffrement côté Spark.

Périmètre côté ObsiGate :

  • Le contrat POST /api/coffres/distribuer doit supporter le cas Spark : jeton consommateur « spark », contexte {type: "mission", id: }, erreurs explicites pour acces_requis.
  • Documentation du contrat pour agent-commun (référence, contexte, erreurs, audit).

Périmètre côté agent-commun (à suivre dans son dépôt, en branche + PR, jamais merge sans go) :

  • Le module Identités RESTE un registre sans secret, sans colonne de valeur, refusant les valeurs ressemblant à un secret (règle PR #5 inchangée). Seul changement : le champ detenteur libre (« vault ObsiGate ») devient une référence structurée coffre:/, validée à l'enregistrement.
  • Flux : LLM = référence + accès oui/non, jamais la valeur ; octroi manquant => mission en acces_requis nommant l'accès ; octroi présent + mission approuvée (enveloppe budgétaire) => le service Spark appelle /distribuer (jeton spark) => valeur injectée en variable d'environnement de l'exécuteur (patron existant des clés d'exécuteurs), jamais dans le prompt ; fin de mission = environnement détruit, rien ne persiste.
  • Révocation dans ObsiGate (ou dans Identités, qui la propage) : la mission suivante repasse en acces_requis. Limite assumée et affichée : une mission déjà démarrée conserve son environnement jusqu'à sa fin.
  • AUCUN outil MCP de lecture de secret, AUCUNE valeur dans les étapes d'activité, les journaux ou les livrables.

Critères d'acceptation :

  • Mission de test : sans octroi => acces_requis ; avec octroi => succès, aucune valeur dans les étapes, les logs ou le prompt.
  • Révocation => mission suivante en acces_requis.
Contexte : spec « Coffre de secrets ObsiGate » §12 (Spark). Dépend de la Phase 1 (distribution ObsiGate). Travail réparti : côté ObsiGate = contrat de distribution ; côté agent-commun = registre Identités + injection — coordonner, ne pas dupliquer la logique de chiffrement côté Spark. Périmètre côté ObsiGate : - Le contrat POST /api/coffres/distribuer doit supporter le cas Spark : jeton consommateur « spark », contexte {type: "mission", id: <id-mission>}, erreurs explicites pour acces_requis. - Documentation du contrat pour agent-commun (référence, contexte, erreurs, audit). Périmètre côté agent-commun (à suivre dans son dépôt, en branche + PR, jamais merge sans go) : - Le module Identités RESTE un registre sans secret, sans colonne de valeur, refusant les valeurs ressemblant à un secret (règle PR #5 inchangée). Seul changement : le champ detenteur libre (« vault ObsiGate ») devient une référence structurée coffre:<slug>/<nom>, validée à l'enregistrement. - Flux : LLM = référence + accès oui/non, jamais la valeur ; octroi manquant => mission en acces_requis nommant l'accès ; octroi présent + mission approuvée (enveloppe budgétaire) => le service Spark appelle /distribuer (jeton spark) => valeur injectée en variable d'environnement de l'exécuteur (patron existant des clés d'exécuteurs), jamais dans le prompt ; fin de mission = environnement détruit, rien ne persiste. - Révocation dans ObsiGate (ou dans Identités, qui la propage) : la mission suivante repasse en acces_requis. Limite assumée et affichée : une mission déjà démarrée conserve son environnement jusqu'à sa fin. - AUCUN outil MCP de lecture de secret, AUCUNE valeur dans les étapes d'activité, les journaux ou les livrables. Critères d'acceptation : - Mission de test : sans octroi => acces_requis ; avec octroi => succès, aucune valeur dans les étapes, les logs ou le prompt. - Révocation => mission suivante en acces_requis.
bruno added the kanban:todo label 2026-10-27 21:36:32 -04:00
bruno added kanban:review and removed kanban:todo labels 2026-10-28 00:17:16 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Projets/ObsiGate#21