AI Agent Orchestration Platform · View 16 of 32 · 3 · Data
Decisions
- tenant_id is the partition key on every execution-plane container; no entity is reachable without it
- agent_version and workflow_version are separate entities with their own hashes, because a workflow can be republished without changing any agent
- tool_call carries a unique idempotency key, which is what makes at-least-once delivery safe at the data layer rather than only in code
Deliberately not modelled here
- Message and intermediate result payloads — they live in the artifact store, referenced by id
- Telemetry spans — they live in Application Insights and Data Explorer, joined by correlation_id
- Vector embeddings — stored beside their memory item, referenced by embedding_ref
Risks
- A hot tenant makes its Cosmos partition hot; the mitigation is a synthetic suffix on high-volume containers, which complicates queries
- Cross-entity reporting spans SQL and Cosmos; the console reads a projection rather than joining across stores at query time