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

Section 21 · Final Revenue Multipliers & Control Plane

21.5Revenue leakage detector

Built — needs DMA's data
No.
21.5
DMA's reference
Decision Book p.45
Phase
Phase 1
Autonomy
L2 · Prepare, then wait for approval
DMA's decision
Yes

◆ Amended in v3 of the book.

What DMA asked for · Decision Book p.45

Continuously look for high-value gaps: a proposal sent with no follow-up, a verbal yes with no contract, a contract with no payment, a hot lead with no owner, a promised deliverable not sent.

Why it matters to DMA: It finds money DMA had already earned the right to pursue but is losing to process failure.

In our words, from DMA's Product Decision Book v3, page 45.

How we do it

  • Parts of it run on every review of the records: deals stuck with no activity, deals with no next step, and records owned by someone who has left are flagged, with the rule that raised them.
  • Promises made on calls ("I'll send the audit Friday") become tasks, so a promised deliverable has an owner and a date.
  • A website visitor who books gets a hot-lead alert to the host, and every case for a person has a response deadline with automatic reassignment to the backup.
  • Proposals, signatures and payments each have a status in the system, so "approved but not sent", "sent but not signed" and "signed but not paid" can be listed. The full detector also needs DMA's Nutshell stages and tasks to be used consistently, which the review of the 30,000 records will show.

The flow

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

Stuck or no next stephygiene flagsPromise not kepttask with a dateHot lead, no owneralert + deadlineProposal / contract / paymentstatus trackedThe right personwith the reason
Step 1 of 2

Checks run

On every review and every new event.

  • Rule in code
  • Person

Where the data goes

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

  1. 1Deals, tasks, closing

    Source

    Nutshell stages and tasks; proposals, signatures, payments.

  2. 2Sync

    Copies Nutshell changes into the bridge database

    Keeps stages and tasks current.

  3. 3Bridge database

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

    Flags, escalations, and closing statuses.

  4. 4AI

    Claude models, only through DMA's own gateway

    Finds promises in calls; the checks are rules.

  5. 5Write gate

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

    Tasks go to Nutshell.

  6. 6Nutshell

    The system of record

    The gaps become tasks and next steps.

The tables behind it

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

ai.hygiene_flagsPKiduuidflag_codetextseveritytextdetected_attimestampresolved_attimestamp+ 5 more columnsctrl.escalationsPKiduuidtriggertextIDconversation_iduuidassigneetextsla_due_attimestampIDrun_iduuidIDdecision_iduuidreassigned_attimestamp+ 25 more columnsai.proposalsPKiduuidFKsupersedes_iduuidstatustextcontract_valuenumericFKapproval_iduuidapproved_attimestampsent_attimestamp+ 29 more columns

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

TableWhat it holdsColumns
ai.hygiene_flagsStuck deals, missing next steps, departed owners.10
ctrl.escalationsCases with a deadline and automatic reassignment.33
ai.proposalsEach proposal's status: drafted, approved, sent.36
How the tables connect (5)
ColumnPoints toKept by
ctrl.escalations.conversation_idconv.conversationsThe application (by id)
ctrl.escalations.run_idagent.runsThe application (by id)
ctrl.escalations.decision_idctrl.decision_logThe application (by id)
ai.proposals.supersedes_idai.proposalsThe database (foreign key)
ai.proposals.approval_idctrl.approvalsThe database (foreign key)

Worked example

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

A gap that goes to a person

1 / 1

What you see

1.A case with a deadline

Each case has a response deadline; a missed one moves to the backup.

localhost:13301/escalations
A case with its deadline.
Callout 1

What happens in the system

  • Rule engineSLA clock

    Runs every minute; an overdue case goes to the next person on the roster, who is notified.

Open flags in the prototype's synthetic records.

Gaps found

GapOpen
Deal stuck with no activity164
Deal with no next step124
Owner has left DMA70

In the running POC

localhost:13301/escalations
A case with its deadline.

A case with its deadline.

  1. 1What happened and why.
  2. 2The brief.

Dashboard · Escalations, one case open. 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
EscalationsDMA AI dashboardOpen cases and their deadlines.

Status

Built — needs DMA's data

Built — needs DMA's data. This capability runs in the POC today. It needs DMA's own content or data to go live; no code change is needed for that.

21.5 Revenue leakage detector · DMA AI proof