Skip to content

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)
Hold "Alt" / "Option" to enable pan & zoom

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
Hold "Alt" / "Option" to enable pan & zoom

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
Hold "Alt" / "Option" to enable pan & zoom

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.