Confidential · © 2026 Space-O Technologies Inc. · Prepared exclusively for DMA. Please do not copy, save or share.

Part A · How DMA AI works

A.9One message, end to end

Built in the POC
No.
A.9
Relates to DMA's book
Decision Book p.2, p.10, p.46
Part
A · the foundation

What this part does · Decision Book p.2, p.10, p.46

DMA's book describes the inbound path in one line: a new visitor, an AI conversation, qualification, a score, the right sales approach, Nutshell, then an AI-led close or a hand-off to a person.

Why DMA needs it: Seeing one real message go through every layer shows how the pieces on the other pages fit together, and that each step is checked and recorded.

How we do it

  • The visitor's message goes to the conversation service, is stored encrypted and marked as untrusted, and is checked by a fast model and fixed rules before the AI strategist sees it.
  • The strategist (the website salesperson worker) gets a short brief, may call its own read-only tools (each checked by the rule engine), and writes a reply through the AI gateway.
  • Each sentence of the reply is checked before it is shown. A smaller model then updates the notes, and code turns them into the score and tier.
  • Everything above shares one trace id, so DMA can open the whole message on the Observe page, step by step, with the cost of each step. When the visitor books, the lead goes to Nutshell through the write gate.

The flow

It plays on its own while it's on screen; hover or use the controls to pause or step through.

shownshownon bookingon bookingVisitortypes a messageInput checksfast model + rulesWebsite salespersonbrief + own toolsAI gatewaymodel, tokens, costSentence checksbefore it's shownNotes and scoremodel notes, code scoresOne traceopen it on ObserveNutshellon booking, via the writegate
Step 1 of 5

The message arrives

Stored encrypted, marked untrusted, never read as an instruction.

  • Person
  • Rule in code
  • AI
  • Stored data
  • Routing
  • Screen
  • Nutshell

Where the data goes

The same six stages on every page. Nothing reaches Nutshell except through the write gate.

  1. 1Website chat

    Source

    One visitor message.

  2. 2Sync

    Copies Nutshell changes into the bridge database

    Mirrors the lead back once it is written.

  3. 3Bridge database

    A copy of the CRM data, plus what the AI works out

    The message, the decisions, the model calls and the notes, under one trace id.

  4. 4AI

    Claude models, only through DMA's own gateway

    An input check, the reply and the note-taker, all through the gateway.

  5. 5Write gate

    The only way back into Nutshell: checked, approved when needed, sent once

    Creates the lead with its summary and score when the visitor books.

  6. 6Nutshell

    The system of record

    The lead, as the salesperson will see it.

The tables behind it

Drawn from the POC's database catalogue: structure only, no data.

conv.messagesPKiduuidFKconversation_iduuidseqintegerIDparticipant_iduuidsender_kindtextis_untrustedbooleansent_attimestampIDdecision_iduuidIDagent_version_iduuid+ 12 more columnsctrl.decision_logPKiduuidPKoccurred_attimestampIDagent_version_iduuidIDrun_iduuidtooltextdecision_typetextIDconversation_iduuidpolicy_resulttexttrace_idtext+ 19 more columnsops.llm_callsPKiduuidPKoccurred_attimestampIDagent_version_iduuidIDrun_iduuidIDconversation_iduuidIDdecision_iduuidpurposetextmodel_resolvedtextinput_tokensintegeroutput_tokensintegercost_usdnumerictrace_idtext+ 25 more columnsagent.runsPKiduuidPKstarted_attimestampIDagent_version_iduuidagent_keytexttriggertextIDconversation_iduuidstatustextcost_usdnumeric+ 9 more columns

PK primary keyFK reference the database enforces (solid line)ID reference kept by id (dashed line)

TableWhat it holdsColumns
conv.messagesThe visitor's line and the reply, encrypted, in order.21
ctrl.decision_logEvery step's decision, with the shared trace id.28
ops.llm_callsEvery model call of the message: model, tokens, cost, time.37
agent.runsThe website salesperson's run for this visitor.17
How the tables connect (13)
ColumnPoints toKept by
conv.messages.conversation_idconv.conversationsThe database (foreign key)
conv.messages.participant_idconv.participantsThe application (by id)
conv.messages.decision_idctrl.decision_logThe application (by id)
conv.messages.agent_version_idagent.agent_versionsThe application (by id)
ctrl.decision_log.agent_version_idagent.agent_versionsThe application (by id)
ctrl.decision_log.run_idagent.runsThe application (by id)
ctrl.decision_log.conversation_idconv.conversationsThe application (by id)
ops.llm_calls.agent_version_idagent.agent_versionsThe application (by id)
ops.llm_calls.run_idagent.runsThe application (by id)
ops.llm_calls.conversation_idconv.conversationsThe application (by id)
ops.llm_calls.decision_idctrl.decision_logThe application (by id)
agent.runs.agent_version_idagent.agent_versionsThe application (by id)
agent.runs.conversation_idconv.conversationsThe application (by id)

Worked example

Synthetic demo data: every name, business and number is made up.

The recorded message, layer by layer

1 / 5

What you see

1.The visitor types

"I own a dental practice with 3 locations. New patient calls are down this year."

The recorded message and its reply.
Callout 1

What happens in the system

  • Conversation serviceconversation service

    Receives the message; trace tr_muh5sw3y109o05zmqjmp6 starts.

  • Bridge databaseconv.messages

    Stored encrypted as the next message, marked untrusted.

  • LLM gatewayinput check

    Claude Haiku 4.5: 586 tokens in, 47 out · $0.0008 · 1.8 s. An ordinary message.

Right-hand values come from a real run of the POC on September 25, 2026 (trace tr_muh5sw194tot7e797019, tr_muh5sw3y109o05zmqjmp6…). Rows marked “sample” are illustrative.

A recorded message on the BrightSmile demo site (synthetic visitor, real system): what happened, in order.

The message's steps

#StepDone byWhat happened
1StoreConversation serviceThe line is stored encrypted, marked untrusted
2Input checkClaude Haiku 4.5An ordinary message: no attack, nothing to escalate
3Fixed routesRulesNot a booking, pricing or "person, please" request, so it goes to the strategist
4ReplyClaude Sonnet 5One reflection of the problem and one question
5Sentence checksRulesNo price, promise or unsourced number: shown as written
6Notes and scoreClaude Haiku 4.5, then codeIndustry, locations and problem recorded; the score recomputed

In the running POC

The recorded message and its reply.

1 / 4The recorded message and its reply.

  1. 1The visitor's message.
  2. 2The strategist's reply: one reflection, one question.

Website chat · BrightSmile Dental demo site. Captured from the running POC on September 25, 2026; synthetic data.

See it live

Opens the exact screen in the running POC, in a new tab.

OpenWhereWhat to try
BrightSmile Dental demo siteDemo prospect websiteSend a message, then open Observe.
ObserveDMA AI dashboardOpen the newest reply as a trace.

Status

Built in the POC

Built in the POC. This capability runs in the POC today, on synthetic data, end to end.

A.9 One message, end to end · DMA AI proof