Skip to content

Scenarios Overview

These scenarios follow the OAGi ConnectSpec pattern — each defines participants (typed by ontological category), assumptions, a business workflow (sequence described with PKO vocabulary), and exception handling (PKO IssueOccurrences + FallbackSteps). They serve as the Operational Analysis (OA) layer in the Arcadia method, directly traceable to logical components and physical infrastructure.

Every scenario’s entities, relations, and processes are grounded in the ontology stack. See the Domain Ontology Mapping for the single source of truth on entity-to-ontology mappings.

ScenarioTriggerPrimary actorsKey tablesOntological character
Daily Shopify Bulk SyncCron (daily) or manualCron, Ingest Worker, Shopify APIprocedure_execution_*, commercial_transaction_record, transaction_participation_record, material_artifact, sales_measurement_dataset, performance_measurement_datasetProcedureExecution acquiring Process Records
Product Tag SyncManual (“Sync Tags”)Staff, Ingest Worker, Shopify APImaterial_artifactAct updating MaterialArtifact Qualities
Asset IngestStaff submits artifact + URLStaff, Ingest Worker, Dropbox, R2, Shopifyinformation_content_entity, denotation_relationProcedureExecution: ICE concretized_by IBE, denotes MaterialArtifact
CSV ExportStaff requests exportStaff, Ingest Worker, R2document_artifact, commercial_transaction_recordProcedureExecution producing Document Artifact
Fulfillment MonitoringRead-only (data from daily sync)Fulfillment teamfulfillment_daily_summaryMeasurement Data by Temporal Region

Analytics & classification (Measurement Data + Nominal Classification)

Section titled “Analytics & classification (Measurement Data + Nominal Classification)”
ScenarioTriggerPrimary actorsKey tablesOntological character
Performance MetricsBrowsing + settingsOps/Creative, Dashboard APIperformance_measurement_dataset, objective_specificationMeasurement Data retrieval; Objective Specification governs Nominal Classification
Tag AnalyticsBrowsing + refreshCreative/Ops, Dashboard APImaterial_artifact, sales_measurement_dataset, tag_content_entityAggregation over ICEs producing Measurement Data
Tag GroupsStaff creates/edits groupsCreative/Ops, Dashboard APIinformation_entity_collectionCRUD on ICE Collections (member_part_of)
Tag ClassificationStaff bulk-classifies tagsStaff, Dashboard APItag_content_entityCreating ICEs with is_about relation to MaterialArtifact collections
Designer AssignmentStaff assigns tags to designersCreative lead, Dashboard APIagent_role_assignment, material_artifact, sales_measurement_datasetPerson bearing DesignerRole; agent_in relation to sales attribution

Combo management (Plan Specifications + Creative Act Reports)

Section titled “Combo management (Plan Specifications + Creative Act Reports)”
ScenarioTriggerPrimary actorsKey tablesOntological character
Combo Log CRUDStaff creates/imports combosStaff, Dashboard APIcreative_act_reportReport (IAO) lifecycle; realizes Plan Specification
Combo TemplatesStaff manages template libraryCreative, Dashboard APIplan_specificationPlan Specification lifecycle with Action Specifications
Combo SuggestionsStaff requests generationStaff, Ingest Workersuggestion_content_entity, creative_act_report, performance_measurement_datasetProcedureExecution producing ICEs with measurement_confidence
ScenarioTriggerPrimary actorsKey tablesOntological character
Order LookupStaff searches by ID/nameStaff, Dashboard APIcommercial_transaction_record, transaction_participation_recordInformation retrieval of Process Records (orders as Occurrents)
ScenarioEndpointsAuth
Bulk SyncPOST /api/performance-metrics/sync, GET /api/ingest/runs, GET /api/healthCF_ACCESS
Tag SyncPOST /api/products/tags/sync, GET /api/products/tags/sync/statusCF_ACCESS
Performance MetricsGET/POST/PUT/DELETE /api/performance-metrics, GET /api/performance-metrics/stats/summary, GET/PUT /api/performance-metrics/settings/classificationCF_ACCESS
Tag AnalyticsPOST /api/tag-analytics/performance, GET /api/tag-analytics/distribution/:category, GET /api/tag-analytics/group-performance/:groupId, POST /api/tag-analytics/refreshCF_ACCESS
Tag GroupsGET/POST /api/tag-groups, DELETE /api/tag-groups/:groupIdCF_ACCESS
Tag ClassificationPOST /api/tag-classifications/bulk, GET /api/tag-classifications/unclassifiedCF_ACCESS
Designer AssignmentGET /api/designers, GET /api/designers/names, POST /api/designers/assign, DELETE /api/designers/unassign, DELETE /api/designers/:designerNameCF_ACCESS
Combo CRUDGET/POST /api/combo-logs, PUT/DELETE /api/combo-logs/:id, POST /api/combo-logs/import, GET /api/combo-logs/exportCF_ACCESS
Combo TemplatesGET/POST /api/combo-templates, DELETE /api/combo-templates/:templateIdCF_ACCESS
Combo SuggestionsPOST /api/combo-suggestions/generate, GET /api/combo-suggestions, POST /api/combo-suggestions/:id/acceptCF_ACCESS
Asset IngestPOST /api/assets/ingest, GET /api/assets/:productId, GET /api/assets/status/:productIdCF_ACCESS
CSV ExportPOST /api/csv/generate, GET /api/csv/exports, GET /api/csv/exports/:idCF_ACCESS
Order LookupPOST /api/orders/lookupCF_ACCESS
FulfillmentGET /api/fulfillment-daily-summaryCF_ACCESS

All endpoints are staff-only, protected by Cloudflare Access. All authenticated users are Persons (CCO) bearing Roles (BFO). JWT validation uses the Cf-Access-Jwt-Assertion header (cookie is not guaranteed).

Scenarios using Cloudflare Queues for ProcedureExecution dispatch assume:

  • Batch delivery: configurable max_batch_size (default 10) and max_batch_timeout (default 5s)
  • Default delivery retries: 3
  • Explicit msg.ack() prevents redelivery even if later messages fail
  • Delayed retry: up to 12 hours (for rate-limit backoff)
  • DLQ recommended for poison messages (PKO IssueOccurrences that exhaust FallbackSteps)

All pipeline writes must respect PlanetScale limits: 100k rows per statement, 64 MiB result size, 20s transaction timeout.

These one-time or maintenance workflows exist in the codebase but don’t warrant standalone scenarios:

ScriptPurposeFrequency
Shopify OAuth callbackOne-time token exchange for permanent offline accessOnce
Asset backfillBatch-process existing Dropbox links into R2 (IBEs)One-time migration
Metafield auditCompare Dropbox links vs denotation_relationAd-hoc diagnostic
Asset retry / cleanupRetry failed ProcedureExecutions, fix content types, delete old ICEsAd-hoc maintenance