AI Strategy5 November 20269 min read

From Conversation to Cart — Part 15 of 15

The production-ready agentic retail checklist

A retail agent is ready for shoppers when evidence exists across twelve dimensions, from outcome and data to authority, capacity, security and operational ownership. Part 15 of From Conversation to Cart closes the series with a reusable checklist: what good looks like, the evidence to ask for, and the red flag that should stop a launch.

#Agentic Retail#Production Readiness#AI Architecture#Risk Management#AI Evaluation
A shopper holding a phone in a grocery store at dusk, as a thread of light links highlighted produce on the shelves to a glowing basket on the counter.

The launch review for the meal assistant is on a Thursday afternoon, a week before the planned staff pilot. The status slide is mostly green. Lindiwe Dube, head of digital commerce, looks at it for a moment and asks for something else: "Show me one basket." She picks the request the team has used since the first demo: supper for four tonight, one child is allergic to peanuts, keep it under R400, we already have rice.

Ruan Botha, the AI engineering lead, runs it with the primary model forced unavailable, the condition the slide marks as tested. The fallback route returns a sensible meal plan and a tidy basket. The trace shows the peanut-allergy filter never ran. The workflow was right; the routing was not. The fallback deployment in the second location ran an older routing configuration that sent plans straight to the matcher, around the workflow's constraint step. The slide was not lying about the tests. The tests had checked that fallback produced a basket, not that it produced a safe one.

Ubuntu Grocer is a composite: a fictional South African grocery retailer whose scenario draws on lessons from real enterprise retail-agent delivery, with illustrative people, systems and figures that describe no single organisation. Part 14 covered the operations assistant. This final part turns the whole series into one review you can run on your own programme.

Three rules for using the checklist

The checklist has twelve dimensions. Each has a description of what good looks like, the evidence to ask for and a red flag. Three rules make it work.

Evidence, not assertion. Every status points to something a reviewer can open: a signed decision-rights map, a load-test report, a trace, an evaluation run. "The team is confident" is not evidence. This is the same move CloudNala's definition of production-ready makes in general, and why a passed test is not proof of production readiness.

Red flags first, and never averaged. A single red flag decides a dimension's status, however good the rest of its evidence looks, and some red flags hold the launch on their own.

Assigning a status to one dimensionPick one dimensionAny red flag present?yesRed flag: status red; hold if one of the fournoEvidence exists, is current?noMissing: partial at best; owner and date requiredyesShown on one real basket?noPartial: claimed but not yet demonstratedyesReadyLink the evidence on the scorecard; set a review date
Check red flags first, because a single one makes the status red however good the rest of the evidence looks, and any of the four launch-holding flags holds the launch. Then ask whether evidence exists and is current, and finally whether it can be shown working on one real, traced basket. At Ubuntu Grocer a claim that cannot be demonstrated on a basket is recorded as partial, not ready.

Show it on one basket. Almost every dimension can be demonstrated on a single traced journey: the outcome it produced, the constraints applied, the models it used, the tokens it spent, the fallback it took, the edge decisions it passed. If a claim cannot be shown on one real basket, record it as partial.

The checklist

Part numbers link to the article that explains the mechanism behind each row. SLO is a service level objective, SKU a stock-keeping unit (one sellable product), and WAF the web application firewall at the edge.

DimensionWhat good looks likeEvidence to ask forRed flagParts
OutcomeSuccess is measured on baskets: valid basket rate, line acceptance and plan-to-checkout conversion, with a journey SLO and a named business ownerThe measures in writing; the SLO; a baseline from today's manual journeySuccess is counted in conversations or answers1, 2
DataProduct identity, allergens, dietary marks, pack sizes and local-language synonyms are maintained by named owners; recipe lines map to SKUs through an explicit intermediate step; a product with missing allergen data is excluded from allergy baskets (fail closed)Attribute coverage by category; owner list; mapping tests for units and pack sizesAllergen attributes inferred by the model, or a missing value treated as safe3, 5
AuthorityA decision-rights map says who may search, recommend, substitute, change the basket and check outThe signed map; tests showing the basket agent cannot reach checkoutThe agent can call checkout or payment6
WorkflowA deterministic journey calls bounded agent steps; hard constraints filter in code at a fixed stepWorkflow definition; a test proving a hard-constraint violation cannot reach the basketAllergies or halaal rules exist only in the prompt4, 6
CapacityThe knee of the latency curve is known for realistic journeys, and quotas fit peak demand with headroomJourney load-test report with scenario mix; a token capacity model; agreed quotasLoad tested with one prompt, or with the edge bypassed7, 8, 9
CostCost per accepted basket is known by step and model, and has a budget and an ownerToken and cost telemetry joined to journey outcomesOnly a monthly model bill exists9, 10
ObservabilityOne journey ID links front end, gateway, models, catalogue, cache, database and basketOne real basket's trace, opened in the meetingTeams diagnose by comparing separate dashboards11
ResilienceFallback degrades one rung at a time, the constraint filter runs on every rung and route, and constraint dependencies fail closed; pods × pool size at maximum replicas and surge fits the database limit; configuration matches across locationsForced-failover test that asserts the filter event in the trace; the connection budget; a drift checkA fallback rung or route that skips the constraint filter, or readiness that reports healthy before dependencies are10, 12
SecurityEdge rules have should-allow and should-deny tests, roll out in stages and roll back quicklyThe two-way test suite; rollout record; blocked-legitimate metricRules changed directly in production; deny-list access rules on internal pages13
EvaluationEvaluation sets cover allergens, budgets, pack sizes, multilingual requests and long conversations, and gate releasesEvaluation results per release; scenario generator configEvaluated on demo prompts only2, 4, 7
Human approvalThe shopper reviews and confirms every basket; operational changes need a named approverBasket review screen; approval records bound to exact changesBasket changes or checkout without explicit shopper action2, 6, 14
Operational ownershipEvery component, including each agent step and the catalogue data, has an on-call owner and a runbookOwnership register; runbooks; the SRE assistant's authority mapA component that "belongs to the AI team" with no on-call rota5, 12, 14

Four red flags hold a launch on their own, whatever else is green: a hard constraint that can be bypassed on any path, agent access to checkout or payment, a fallback that drops constraints, and a component nobody operates. Each one means a shopper can be harmed or a failure can go unanswered, and no score elsewhere compensates.

The data row deserves one more note. Allergy, health and religious dietary information is special personal information under section 26 of the Protection of Personal Information Act (POPIA), so the data evidence should include how it is minimised, where it is stored and who can read it. That is general information, not legal advice; take it to your information officer.

The fourteen mechanisms behind the checklist

The twelve rows draw on fourteen mechanisms, one per part.

The value journey. Part 1: the model is one box in a stack, and value appears only when the whole stack works. Part 2: the outcome is a valid basket the shopper accepts, not the answer. Part 3: recipes and catalogues need an explicit mapping from ingredient line to chosen SKU and quantity.

Catalogue and decisions. Part 4: hard constraints filter in code; soft preferences rank. Part 5: catalogue quality controls answer quality. Part 6: decide the boundary and the decision rights before building the agent.

Production engineering. Part 7: load-test varied journeys, not one endpoint. Part 8: the bottleneck moves as concurrency rises; find the knee. Part 9: tokens per journey are a capacity input. Part 10: route by task and degrade without dropping hard constraints. Part 11: one journey ID across every dependency. Part 12: probes, pools and configuration decide production.

Governance and operations. Part 13: security rules fail both ways and roll out in stages. Part 14: operations assistants start read-only and earn authority per action.

Readiness is staged too

Not every row must be complete for a staff pilot. Some must be complete before anyone uses the assistant, and the rest accumulate as exposure grows.

Readiness accumulates across launch gatesEACH GATE ADDS REQUIREMENTS; NONE ARE REMOVEDGATE 1Staff pilotOutcome definedHard rules in codeAuthority map signedNo agent checkoutTrace per journeyFallback keeps rulesOwner per componentGATE 2Invited shoppersMultilingual eval setNamed data ownersKill switch testedCost per basketShopper feedback pathGATE 3Small shopper shareJourney load testWAF two-way testsValid basket rate SLOOn-call runbookBlocked-traffic alertGATE 4Peak tradingRetest at peak shapeQuota headroom agreedSecond capacity poolRead-only SRE at peakChange freeze planExposure grows only when the evidence for the next gate exists
Not every dimension has to be complete for a staff pilot, but some are non-negotiable from the first user: hard constraints in code, a signed authority map, no agent-initiated checkout, a trace per journey, a fallback proven to keep the rules and an owner for every component. Each later gate keeps everything before it and adds what more exposure demands, ending with a retest at the shape of Ubuntu Grocer’s month-end and festive peaks.

The first gate, a staff pilot, is short but strict: the outcome is defined, hard constraints are in code, the authority map is signed, no agent can reach checkout, every journey is traced, the fallback is proven to keep the rules, and every component has an owner. Those last two are launch-holding red flags, so they cannot wait. Later gates, from invited shoppers onwards, add what more exposure demands: evaluation in the languages shoppers really use, a load test through the edge and two-way security tests. The last gate is a retest at the shape of a real peak, such as month-end payday or the festive season, because the knee found in a quiet week is not the knee on a Sunday afternoon in December.

Ubuntu Grocer's review

An illustrative readiness scorecardUBUNTU GROCER, STAFF-PILOT REVIEW (ILLUSTRATIVE)OUTCOMEReadyaccepted-basket SLODATAPartialallergen gaps remainAUTHORITYReadyno agent checkoutWORKFLOWReadybounded agent stepsCAPACITYPartialknee not retestedCOSTReadycost per basket knownOBSERVABILITYReadyone trace per basketRESILIENCERed flagfallback drops rulesSECURITYPartialno should-allow testsEVALUATIONPartialno multilingual setHUMAN APPROVALReadyshopper confirms allOPERATIONAL OWNERSHIPRed flagno owner for matcherVerdict: held. Red flags are not averaged away.
Ubuntu Grocer’s staff-pilot review, with illustrative results. Six dimensions were ready and four partial, each partial with an owner and a date. Two red flags held the launch: a drifted fallback route bypassed the workflow’s constraint step, and nobody owned the ingredient-to-product matcher in production. Ten other tiles did not outvote them.

The illustrative results above are where Ubuntu Grocer's Thursday review ended. Six dimensions were ready. Four were partial, each with an owner and a date: allergen attributes still missing for some categories, so those products were excluded from allergy baskets until fixed, a load test not repeated since the matcher changed, no should-allow security tests and no multilingual evaluation set. Two red flags held the launch: the fallback route that skipped the allergy filter, and the ingredient-to-product matcher, which had been built by the AI team and handed to nobody for production support.

Neither fix was large. The drifted routing configuration was rebuilt from the same source as the primary, a drift check joined the pipeline, and the forced-failover test now asserts that the filter event appears in the trace, not merely that a basket came back. The matcher got an owner, a runbook and a place in the on-call rota. The peanut basket was rerun, the filter appeared in the trace, and the staff pilot went ahead.

Each owner signed their own rows: Sipho Nkosi for data, Pieter van Wyk for workflow and resilience, Thandeka Mokoena for security, Ayesha Patel for operations, Ruan Botha for evaluation, and Lindiwe for the outcome and the launch decision. Nobody signed the whole sheet alone. The review is repeated before each peak and after any model, prompt or routing change, because if you cannot define good you cannot ship the model change.

Questions to take into your architecture review

  1. Can every status on your readiness slide be traced to evidence a reviewer can open today?
  2. Which red flags would hold your launch on their own, and is that list written down?
  3. Can you show one real basket's trace, end to end, including the edge and every model call?
  4. Does any route through the system, including fallback, skip a hard-constraint check?
  5. Who signs each dimension, and does anyone sign the whole review alone?
  6. What must be true before the first shopper, and what can wait for a later gate?
  7. When was the review last repeated, and what change since then should trigger it again?
  8. Which component would nobody answer for at two in the morning on Black Friday?

Key points

  • Production readiness for a retail agent is twelve dimensions of evidence, not one adjective.
  • Check red flags first and never average them away. Some hold the launch on their own.
  • Demonstrate each dimension on one real, traced basket; a claim that cannot be shown is partial.
  • Stage readiness with exposure, but treat hard constraints, authority and tracing as day-one requirements.
  • Owners sign their own rows, and the review is repeated before peaks and after model or routing changes.

CloudNala's point of view

The most useful question in any launch review is "show me one basket". It cuts through slides, because a single trace reveals whether the outcome, constraints, routing, cost and ownership hold together. In reviews of retail-agent programmes we rarely find a weak model; we find a fallback nobody tested for safety, a component nobody operates, or a security rule nobody tested against real shoppers. The agent really is the smallest part of the system, and this checklist is how you check the rest.

This is the final part. All parts are on the series page. To start again, read Part 1, The retail agent is the smallest part of the system.

How CloudNala can help

CloudNala runs this checklist as an Agentic Retail Review: we collect the evidence for each of the twelve dimensions, trace real baskets through your journey, identify red flags that should hold a launch, and leave you with a scorecard whose rows have named owners, dates and the evidence behind them. It works before a first launch, before a peak and after a major model or routing change.


Work with CloudNala

CloudNala helps organisations move from technology ambition to practical execution across cloud, AI, data, platform engineering and digital services.

Whether you are exploring AI, modernising your cloud environment, building a public-sector digital service, or turning an idea into a working MVP, we can help you shape the roadmap and deliver the next step.

Book an Agentic Retail Review or write to us at consult@cloudnala.co.za