Section 11 · Pricing, Proposals & Closing
11.2Negotiation limits
Built — needs DMA's data- No.
- 11.2
- DMA's reference
- Decision Book p.24
- Phase
- Phase 1
- Autonomy
- L1 · Recommend
- DMA's decision
- Yes
◆ Amended in v3 of the book.
What DMA asked for · Decision Book p.24
Define exactly what the AI may discount or concede, and when it must hand over to a person.
Why it matters to DMA: The same safety rail, extended to negotiation, before any AI-led pricing conversation.
In our words, from DMA's Product Decision Book v3, page 24.
How we do it
- The rate card carries an approved discount band (10% on the sample card). Within the band the AI may propose a discount on a proposal.
- Above the band, nothing is applied quietly: the proposal is assigned to Josh, and only his decision counts. The send step checks that it did.
- Terms (minimum term, notice period, payment terms) come from the card too, never from the AI. DMA's own band and terms are the data this needs.
The flow
It plays on its own while it's on screen; hover or use the controls to pause or step through.
A discount is asked for
15% on the monthly fee.
- Person
- Rule in code
- AI
Where the data goes
The same six stages on every page. Nothing reaches Nutshell except through the write gate.
- 1Rate card
Source
The discount band and terms.
- 2Sync
Copies Nutshell changes into the bridge database
Not involved.
- 3Bridge database
A copy of the CRM data, plus what the AI works out
The proposal, its discount and who approved it.
- 4AI
Claude models, only through DMA's own gateway
May propose within the band only.
- 5Write gate
The only way back into Nutshell: checked, approved when needed, sent once
Not involved until the deal closes.
- 6Nutshell
The system of record
The deal's value, after approval.
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 |
|---|---|---|
| ctrl.policy_rules | DMA's rules as approved versions, including the rate card and the discount band. | 21 |
| ai.proposals | Each proposal: lines priced by code, totals, discount, the checks it passed and its approval. | 36 |
| ctrl.approvals | The proposal approval, assigned to Josh when the discount is above the band. | 22 |
How the tables connect (3)
| Column | Points to | Kept by |
|---|---|---|
| ctrl.policy_rules.approval_id | ctrl.approvals | 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.
Three discount requests against the sample card's 10% band.
What happens
| Discount | What happens |
|---|---|
| 5% | Within the band: the AI may propose it; the proposal is approved as usual. |
| 10% | At the band's limit: allowed. |
| 15% | Above the band: assigned to Josh; nothing is sent without his decision. |
In the running POC

1 / 2Sample: a proposal waiting for Josh in Approvals.sample data
- 1Only Josh can approve this one.
- 2The proposal PDF, as it would be sent.
Dashboard · Approvals, a proposal waiting for Josh. 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 |
|---|---|---|
| Approvals | DMA AI dashboard | Proposals waiting for a decision. |
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.