Skip to main content

Change pipeline

The Change pipeline screen lets you open a change for a new version of a prompt, skill, connector, rule, model, policy, tool, agent or pack, and move it from draft to production through tests, security review and business approval, with its evidence; a change can also be rejected. Portal path: /marketplace/changes. It is used by the publishers (tenant_admin, developer) and by the security officers (security_officer) who review and reject.

What the screen shows​

A Changes table with the filters Kind, Reference and Stage and Filter, then Refresh and New change:

ColumnContent
Kindprompt, skill, connector, rule, model, policy, tool, agent or pack.
ReferenceReference of the object changed.
VersionVersion carried by the change.
TitleTitle of the change.
Stagedraft, test, security_review, business_approval, staging, production, monitoring, or rejected.
Pending approvalIdentifier of the approval the next stage waits for, empty otherwise.
UpdatedDate of the last change.

A click on a line opens a side panel with the change read from the API. The list is read in one call. Empty state: No change, "Open a change for a new version, then advance it stage by stage with its evidence."

Actions​

Button or actionWhat it doesAPI callRoles
Opening the screen, Kind, Reference, Stage then FilterReads the changes, optionally filtered.GET /v1/marketplace/changesMember of the tenant
New change then CreateForm Kind (required), Reference (required), Version (required), Title. The change starts at draft.POST /v1/marketplace/changestenant_admin, developer
Click on a lineOpens the detail panel.GET /v1/marketplace/changes/{id}Member of the tenant
Advance (stage neither monitoring nor rejected)Dialog Approval and Evidence (JSON, {} by default); moves to the next stage, or opens the approval that stage needs and answers pending_approval with its identifier. The answer is shown.POST /v1/marketplace/changes/{id}/advancetenant_admin, developer, security_officer
Reject (stage not rejected)Dialog Reason (required); closes the change at rejected.POST /v1/marketplace/changes/{id}/rejecttenant_admin, security_officer

Roles​

From services/control-plane/src/eai/domains/marketplace/routes.py: reading needs a principal inside a tenant; creating requires PUBLISH_ROLES (tenant_admin, developer); advancing requires PUBLISH_ROLES or TRUST_ROLES (tenant_admin, developer, security_officer); rejecting requires TRUST_ROLES (tenant_admin, security_officer). platform_admin passes every check. The portal hides New change for the roles outside ROLES.marketplacePublishers; Advance and Reject are shown to everyone and checked by the server.

Typical tasks​

Bring a new prompt version to production​

  1. Open the change. Button New change: Kind prompt, Reference of the prompt, Version 2.0.0, Title, then Create. Expected result: a line at stage draft. If it fails: forbidden when you are neither tenant_admin nor developer.
  2. Advance with the evidence. Row menu > Advance, paste in Evidence the result of the tests (for example the evaluation run identifier), submit. Expected result: the stage moves to test, then the next stages. If it fails: the answer shows pending_approval with an approval identifier when the stage needs a decision.
  3. Pass the approval stages. When Pending approval is filled, other people decide it in Approvals inbox; then Advance again with that identifier in Approval. Expected result: the stage moves on up to production, then monitoring. If it fails: the approval is not approved yet.

Reject a change​

  1. Reject. Row menu > Reject, type the Reason, submit. Expected result: the stage rejected; Advance disappears. If it fails: forbidden when you are neither tenant_admin nor security_officer.

Troubleshooting​

SymptomCauseFix
change_closed (HTTP 409)The change is already at monitoring or rejected.Open a new change for a new version.
change_not_found (HTTP 404)Unknown change identifier.Click Refresh.
change_not_author (HTTP 403)Only the author of a change, or a tenant_admin, advances it out of draft.Ask the author or a tenant_admin.
The answer of Advance is pending_approvalThe next stage needs a four eyes approval.Have it decided in Approvals inbox, then advance with the Approval identifier.
forbidden (HTTP 403)The action needs another role (see the Roles section).Ask a tenant_admin or a security_officer.
No New change buttonYour role is not a publisher role.Ask a tenant_admin or a developer.