Skip to main content

Service Design Matrix designed

This page is the missing bridge between high-level architecture and coding. A developer should use it to find the owning service, data model, flow, state machine, and first validation gate before implementation starts.

Service Families

Service familyOwnsPrimary implementation anchorsFirst design page
IAM / Accesstenants, projects, memberships, service accounts, MFA posturepackages/platform/iam, auth middleware, Keycloak realm/profile configIAM and Access Service
Billing / Metering / Paymentsusage, rating, ledger, balance, payment reconciliationpackages/platform/billing, workers, ledger schemaBilling, Metering, and Payments
App Runtime / SDKapp manifests, catalog, runtime instances, app controllerspackages/products/appplatform, app SDK scripts, runtime smokesApp SDK Proof
GPU Runtime / ProvisioningSKUs, nodes, allocations, provider lifecycle, GPU slicingpackages/products/gpuaas, provisioning worker, node agentGPU Slicing and Scheduling
Terminal / Workload Accessbrowser terminal, SSH/session access, token/session bindingcmd/terminal-gateway, API session minting, node-agent stream relayWorkload Access Runtime Surfaces
Audit / Evidence / Statusprivileged audit, release/UAT/security evidence, readiness readbackspackages/platform/audit, evidence artifacts, ops read modelsAudit, Evidence, and Status/Ops
Registry / Artifacts / Trustapp/product registry, artifact trust, promotion, runtime bundlesregistry/trust contracts, app SDK promotion pathRegistry, Artifacts, and Trust

Cross-Service ER Anchor

This is a reader map, not a schema migration. Use canonical SQL and ERD source docs for exact columns.

User Launch Sequence

Runtime State Boundary

Every implementation should identify whether it is changing desired state, execution state, observed provider/node state, or projected UI state.

Implementation Checklist

Before coding a service change:

QuestionRequired answer
Which service family owns the behavior?one row from the matrix above
Which contract changes first?OpenAPI, AsyncAPI, manifest, CLI, or no contract change
Which state model changes?allocation, app runtime, billing, IAM, terminal, evidence, or none
Which data owner changes?table/schema owner, event owner, read-model owner
Which UAT flow proves it?user, tenant admin, app developer, platform admin, ops
Which CI gate catches drift?codegen, web e2e, route guard, script smoke, docs check
Which evidence proves it?artifact path, readback, screenshot, log, or API response

Where To Add Detail

If this page is too shallow for implementation, add detail in the narrow service page first. Do not bury engineering design in a product overview.

Missing detailAdd it here
IAM claim, role, service account, MFA behaviorIAM and Access Service
Ledger, metering, billing, payment behaviorBilling, Metering, and Payments
App manifest, controller, launch/connect behaviorApp SDK Proof, Add a New App
Node agent, GPU slicing, scheduler behaviorNode Agent Runtime Depth, GPU Slicing and Scheduling
Terminal/session behaviorWorkload Access Runtime Surfaces
Evidence/readiness behaviorEvidence Readiness Model, Service Version Readback