Skip to main content
Tenant paths are constructed by src/lib/tenancy.ts. Workspace membership is resolved before tenant-scoped reads or writes. Binary media belongs in the asset store; DynamoDB records identifiers, URIs, digests, rights, and lineage. SQS delivers triggers, while DynamoDB transactions decide whether a trigger is current and claimable. See State ownership. See Campaigns and production planning for policy configuration and plan/item command records.

Operational feed records

workspaces/{workspaceId}/operational_feeds/{brandId} stores the current compact projection and lastSequence. Its updates subcollection uses zero-padded sequence IDs. A synchronization transaction emits at most 400 changes so the feed remains below DynamoDB’s per-transaction write ceiling; later polls converge any remaining changes. Job control receipts live below the job in control_commands/{commandId}. A receipt records the payload digest, authenticated actor, accepted or rejected outcome, and resulting control version when accepted.

Data batches

workspaces/{workspaceId}/data_batches/{batchId} owns the manifest identity and batch policy. Work items live in work_items/{itemId} and record partition identity, state, attempt, epoch, lease owner digest, dispatch visibility, artifacts, and terminal failure code. Batch initialization states are initializing, pending, running, complete, partial, failed, and cancelled. Work-item states are pending, claimed, succeeded, failed, dead_lettered, and cancelled.
Last modified on September 14, 2026