Pipeline de changement
L'écran Pipeline de changement permet d'ouvrir un changement pour une nouvelle version d'un prompt, d'un skill, d'un
connecteur, d'une règle, d'un modèle, d'une politique, d'un outil, d'un agent ou d'un pack, et de le faire passer du
brouillon à la production par les tests, la revue sécurité et l'approbation métier, avec ses preuves ; un changement
peut aussi être rejeté. Chemin dans le portail : /marketplace/changes. Il sert aux éditeurs (tenant_admin,
developer) et aux responsables sécurité (security_officer) qui relisent et rejettent.
Ce que montre l'écran
Un tableau Changements avec les filtres Type, Référence et Étape et Filtrer, puis Actualiser et Nouveau changement :
| Colonne | Contenu |
|---|---|
| Type | prompt, skill, connector, rule, model, policy, tool, agent ou pack. |
| Référence | Référence de l'objet modifié. |
| Version | Version portée par le changement. |
| Titre | Titre du changement. |
| Étape | draft, test, security_review, business_approval, staging, production, monitoring, ou rejected. |
| Approbation en attente | Identifiant de l'approbation qu'attend l'étape suivante, vide sinon. |
| Mis à jour | Date du dernier changement. |
Un clic sur une ligne ouvre un panneau latéral avec le changement lu dans l'API. La liste est lue en un seul appel. État vide : Aucun changement, « Ouvrez un changement pour une nouvelle version, puis faites-le avancer étape par étape avec ses preuves. »
Actions
| Bouton ou action | Ce qu'il fait | Appel d'API | Rôles |
|---|---|---|---|
| Ouverture de l'écran, Type, Référence, Étape puis Filtrer | Lit les changements, éventuellement filtrés. | GET /v1/marketplace/changes | Membre du tenant |
| Nouveau changement puis Créer | Formulaire Type (obligatoire), Référence (obligatoire), Version (obligatoire), Titre. Le changement démarre à draft. | POST /v1/marketplace/changes | tenant_admin, developer |
| Clic sur une ligne | Ouvre le panneau de détail. | GET /v1/marketplace/changes/{id} | Membre du tenant |
Faire avancer (étape ni monitoring ni rejected) | Boîte de dialogue Approbation et Preuves (JSON, {} par défaut) ; passe à l'étape suivante, ou ouvre l'approbation que cette étape exige et répond pending_approval avec son identifiant. La réponse est affichée. | POST /v1/marketplace/changes/{id}/advance | tenant_admin, developer, security_officer |
Rejeter (étape autre que rejected) | Boîte de dialogue Raison (obligatoire) ; clos le changement à rejected. | POST /v1/marketplace/changes/{id}/reject | tenant_admin, security_officer |
Rôles
D'après services/control-plane/src/eai/domains/marketplace/routes.py : la lecture exige un principal rattaché à un
tenant ; créer exige PUBLISH_ROLES (tenant_admin, developer) ; faire avancer exige PUBLISH_ROLES ou
TRUST_ROLES (tenant_admin, developer, security_officer) ; rejeter exige TRUST_ROLES (tenant_admin,
security_officer). platform_admin passe chaque contrôle. Le portail masque Nouveau changement aux rôles hors de
ROLES.marketplacePublishers ; Faire avancer et Rejeter s'affichent à tous et sont vérifiés par le serveur.
Tâches courantes
Amener une nouvelle version de prompt en production
- Ouvrir le changement. Bouton Nouveau changement : Type
prompt, Référence du prompt, Version2.0.0, Titre, puis Créer. Résultat attendu : une ligne à l'étapedraft. En cas d'échec :forbiddensi vous n'êtes nitenant_adminnideveloper. - Faire avancer avec les preuves. Menu de la ligne > Faire avancer, collez dans Preuves le résultat des
tests (par exemple l'identifiant de l'exécution d'évaluation), envoyez. Résultat attendu : l'étape passe à
test, puis aux étapes suivantes. En cas d'échec : la réponse affichepending_approvalavec un identifiant d'approbation quand l'étape exige une décision. - Franchir les étapes d'approbation. Quand Approbation en attente est rempli, d'autres personnes la décident
dans Approbations ; relancez ensuite Faire avancer avec cet identifiant dans Approbation. Résultat
attendu : l'étape avance jusqu'à
production, puismonitoring. En cas d'échec : l'approbation n'est pas encore accordée.
Rejeter un changement
- Rejeter. Menu de la ligne > Rejeter, saisissez la Raison, envoyez. Résultat attendu : l'étape
rejected; Faire avancer disparaît. En cas d'échec :forbiddensi vous n'êtes nitenant_adminnisecurity_officer.
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
change_closed (HTTP 409) | Le changement est déjà à monitoring ou rejected. | Ouvrez un nouveau changement pour une nouvelle version. |
change_not_found (HTTP 404) | Identifiant de changement inconnu. | Cliquez Actualiser. |
change_not_author (HTTP 403) | Seul l'auteur d'un changement, ou un tenant_admin, le fait sortir de draft. | Adressez-vous à l'auteur ou à un tenant_admin. |
La réponse de Faire avancer est pending_approval | L'étape suivante exige une approbation à double validation. | Faites-la décider dans Approbations, puis faites avancer avec l'identifiant dans Approbation. |
forbidden (HTTP 403) | L'action exige un autre rôle (voir la section Rôles). | Adressez-vous à un tenant_admin ou à un security_officer. |
| Pas de bouton Nouveau changement | Votre rôle n'est pas un rôle d'éditeur. | Adressez-vous à un tenant_admin ou à un developer. |