Combo Suggestions
Overview
Section titled “Overview”Generate candidate creative combos as Suggestion Content Entities (IAO) — ICEs with measurement_confidence (ratio-scale Measurement Datum) — using internal performance Measurement Data, Tag ICE, and Agent signals. Staff can accept suggestions into Creative Act Reports.
Goal: Execute a ProcedureExecution that produces suggestion_content_entity rows with confidence scoring and supports an acceptance workflow that realizes suggestions into Reports.
Participants
Section titled “Participants”| Actor | Ontological type | Role |
|---|---|---|
| Staff user | Person (CCO) bearing Role | Requests generation with constraints |
| Dashboard API Worker | EngineeredSystem (IOF) | Validates, enqueues |
| Ingest Worker | EngineeredSystem (IOF) | ProcedureExecution: queries signals, generates Suggestion ICEs |
| PlanetScale | EngineeredSystem (IOF) | IBE store for Measurement Data + Suggestion ICEs |
Main success scenario
Section titled “Main success scenario”[PKO: ProcedureExecution producing IAO Information Content Entities with measurement_confidence]
- Person bearing Role calls
POST /api/combo-suggestions/generatewithcombo_sizeand constraints - API validates Access, enqueues
SUGGESTION_ICE_GENERATE - Ingest Worker executes ProcedureExecution:
- Step: Query signals — reads
creative_act_report(avoid duplicates),performance_measurement_datasetfor winners/risers,tag_content_entityandagent_role_assignment(if relevant) - Step: Generate — produces
suggested_combosJSON, computes measurement_confidence (ratio scale 0.00–1.00) - Step: Persist — writes
suggestion_content_entity(status='pending', measurement_confidence, performance_context)
- Step: Query signals — reads
- Person reviews via
GET /api/combo-suggestions - Person accepts suggestion →
POST /api/combo-suggestions/:id/acceptcreates acreative_act_reportentry (suggestionrealizesinto Report)
Exception flows
Section titled “Exception flows”| IssueOccurrence | FallbackStep |
|---|---|
| Not enough candidate MaterialArtifacts | Write Suggestion ICE with empty list + explanation |
| Computation exceeds Worker CPU limit | Break into multiple queue messages |
Queue contract
Section titled “Queue contract”{ "job_type": "SUGGESTION_ICE_GENERATE", "job_id": "uuid", "combo_size": 3, "constraints": { "audience": "WOMEN" }}API endpoints
Section titled “API endpoints”POST /api/combo-suggestions/generate— enqueue ProcedureExecutionGET /api/combo-suggestions— list Suggestion ICEsPOST /api/combo-suggestions/:id/accept— promote Suggestion ICE to Creative Act Report
Acceptance criteria
Section titled “Acceptance criteria”- PASS: Suggestion ICEs produced with valid measurement_confidence; accepting creates corresponding
creative_act_reportrow with correct Plan Specification Identifier convention - FAIL: Duplicates; invalid artifact_identifiers; inability to accept due to missing fields