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.
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.
- 1Deals, tasks, closing
Source
Nutshell stages and tasks; proposals, signatures, payments.
- 2Sync
Copies Nutshell changes into the bridge database
Keeps stages and tasks current.
- 3Bridge database
A copy of the CRM data, plus what the AI works out
Flags, escalations, and closing statuses.
- 4AI
Claude models, only through DMA's own gateway
Finds promises in calls; the checks are rules.
- 5Write gate
The only way back into Nutshell: checked, approved when needed, sent once
Tasks go to Nutshell.
- 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.
PK primary keyFK reference the database enforces (solid line)ID reference kept by id (dashed line)
| Table | What it holds | Columns |
|---|---|---|
| ai.hygiene_flags | Stuck deals, missing next steps, departed owners. | 10 |
| ctrl.escalations | Cases with a deadline and automatic reassignment. | 33 |
| ai.proposals | Each proposal's status: drafted, approved, sent. | 36 |
How the tables connect (5)
| Column | Points to | Kept by |
|---|---|---|
| ctrl.escalations.conversation_id | conv.conversations | The application (by id) |
| ctrl.escalations.run_id | agent.runs | The application (by id) |
| ctrl.escalations.decision_id | ctrl.decision_log | The application (by id) |
| ai.proposals.supersedes_id | ai.proposals | The database (foreign key) |
| ai.proposals.approval_id | ctrl.approvals | The database (foreign key) |
Worked example
Synthetic demo data: every name, business and number is made up.
A gap that goes to a person
What you see
1.A case with a deadline
Each case has a response deadline; a missed one moves to the backup.

What happens in the system
- Rule engine
SLA clockRuns 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
| Gap | Open |
|---|---|
| Deal stuck with no activity | 164 |
| Deal with no next step | 124 |
| Owner has left DMA | 70 |
In the running POC

A case with its deadline.
- 1What happened and why.
- 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.
| Open | Where | What to try |
|---|---|---|
| Escalations | DMA AI dashboard | Open cases and their deadlines. |
Status
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.