AI automation / case 07
Muriersilk AI Sales Concierge
Retrieval-grounded commerce concierge
A reusable commerce concierge that streams through CopilotKit and AG-UI, retrieves products and knowledge through a guarded hybrid pipeline, hydrates current commercial facts in the browser, preserves durable context, and hands operations to Chatwoot.
- Classification
- Client Delivery
- Delivery status
- Production deployed / live customer surface
- Full record
- Open canonical case
The problem
A useful commerce assistant must help with discovery and care questions without inventing prices, recommending ineligible products, turning marketing copy into medical claims, or coupling model failures to checkout.
- 01
Problem
A useful commerce assistant must help with discovery and care questions without inventing prices, recommending ineligible products, turning marketing copy into medical claims, or coupling model failures to checkout.
- 02
Ownership
I defined the product boundary, retrieval architecture, two-run interaction contract, context budgets, catalog and safety guards, multi-tenant runtime, operator workflow, and release evidence. AI agents produced most implementation code under those constraints.
- 03
Capabilities
CopilotKit and AG-UI streaming with activity-aware customer states · Dense and BM25 sparse product retrieval fused with reciprocal rank fusion
- 04
Decisions
Keep PostgreSQL and Medusa as the commercial source of truth while treating Qdrant as a rebuildable retrieval projection. Let the model select stable product IDs and reasons, then let the browser hydrate current names, images, prices, currency, and URLs.
My role
I defined the product boundary, retrieval architecture, two-run interaction contract, context budgets, catalog and safety guards, multi-tenant runtime, operator workflow, and release evidence. AI agents produced most implementation code under those constraints.
Capabilities
- 01
CopilotKit and AG-UI streaming with activity-aware customer states
- 02
Dense and BM25 sparse product retrieval fused with reciprocal rank fusion
- 03
Stable product ID selection followed by live Medusa hydration
- 04
Parallel product and knowledge retrieval with bounded candidate sets
- 05
Durable conversation state, turn packs, trace, replay, and recovery
- 06
Catalog eligibility and medical-claim safety guards
- 07
Chatwoot replay, assignment, internal notes, takeover, and embedded operations
Verification evidence
- •
Cold local indexing covered 35 active products, 15 categories, and 125 blogs. Canonical reconciliation later covered 175 of 175 entities with zero missing, zero unexpected, zero pending outbox items, and zero unresolved dead letters.
- •
The initial local generation produced 866 Qdrant points and 866 indexed vectors with a green health state.
- •
A real provider smoke completed Run A, exact glove cards, Run B, a second product-card turn, and replay. The highest observed compiler input was 25,822 tokens and the highest provider prompt was 5,785.
- •
Backend fresh verification passed 70 test suites and 572 tests, followed by build:chatbot.
- •
Storefront verification passed 56 test files with 860 unit tests, four Playwright browser scenarios, and the production build.
- •
API readiness reported acceptingInput=true and retrievalMode=hybrid.
- •
The production rollout added bounded runtime telemetry and deployment gates across the chatbot service chain and storefront release path.
System arrangement
How the system works
Medusa and PostgreSQL remain commercial truth. The indexer projects products and knowledge into filtered dense and sparse recall lanes, RRF bounds the candidate set, and the planner can select only stable product IDs.
- 01SourceMedusa + PostgreSQL
Canonical products, content, and policy
- 02CapabilityOutbox + indexer
Incremental rebuildable projection
- 03CapabilityQdrant dense
Nomic v1.5 via llama.cpp
- 04CapabilityBM25 / FTS sparse
Exact terms and catalog language
- 05ControlTaxonomy filters
Product type and material first
- 06CapabilityRRF candidate pool
Products 10, knowledge 4 to 5
- 07ControlGuarded planner
Selects only 1 to 3 stable product IDs
- 08OutcomeBrowser hydration
Live price, currency, image, and URL