Generated SaaS — workflows¶
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
Rewritten 2026-10-09 (design plan P16)
The June-2026 page is archived under catalogs 2026-06.
W1 — A product publishes its descriptor¶
sequenceDiagram
participant PR as IaCProvisioningService
participant P as GeneratedProductHost
participant GW as Product gateway (GW-07)
participant F as FleetInventoryService
PR-)P: deployed (ProvisioningApplied for the environment)
P->>P: DescriptorPublisher: identity, release, provenance, tenancy mode, contexts, endpoints, objectives
P-)F: ProductDescriptorPublished
F->>GW: GET /product/descriptor, /product/health (probe every 2 min)
W2 — A customer tenant is provisioned and mapped¶
sequenceDiagram
participant C as Customer (self-service) / Product owner
participant S as GeneratedSaasFoundations
participant ID as Authorization Server (product's)
participant F as FleetInventoryService
C->>S: ProvisionProductTenant (name, region, edition)
S->>ID: tenant realm, first admin (customer identity stays here)
S->>S: opaque customerTenantId, isolation mode, residency check
S-)F: ProductTenantProvisioned (customerTenantId, region)
F->>F: instance recorded for the product in that environment
W3 — The owner acknowledges the managed-operations handover¶
The handover record (managed edition, objectives at or above the edition floor, runbooks, contacts, maintenance windows, off-boarding terms) is generated with the product from the Agentic SaaS Product Blueprint; the product owner acknowledges it through the product's admin surface; OperationsHandoverAcknowledged lets FleetInventoryService onboard the product and FactoryCommercialService apply the managed edition to the owner's subscription (D33, D34).
W4 — A subscription lapses and restores¶
The product's own billing (SaaS Billing template) marks the customer's subscription lapsed; the tenant goes Suspended and the product refuses tenant-scoped requests with a clear state; payment restores it. The fleet sees ProductTenantStateChanged and marks the instance accordingly; nothing on the Factory side bills the customer.
W5 — A customer is off-boarded¶
sequenceDiagram
participant INC as FleetIncidentService (off-boarding saga)
participant DE as RetentionResidencyService
participant P as GeneratedProductHost (admin API via GW-07)
participant S as GeneratedSaasFoundations
INC->>DE: export order for customer tenant T
DE->>P: POST /product/operations/export (external class, receipt)
P-->>DE: bundle in open formats → ExportCompleted
INC->>INC: handover acknowledged by the customer
INC->>DE: deletion order (30-day window)
DE->>P: POST /product/operations/delete-tenant (production class)
P->>S: tenant Offboarding → Deleted
S-)INC: ProductTenantStateChanged (Deleted) → DeletionOrderCompleted
W6 — A template release re-scaffolds the product¶
Handled by the fleet platform's re-scaffold rollout (P12, W3): a Factory run regenerates the product with the new template release, the resulting release passes evaluation, and instances move in waves; the product's descriptor shows the new provenance after each promotion.