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

Section 11 · Pricing, Proposals & Closing

11.6Autonomous proposal sending

Partly built — finishing in Phase 1
No.
11.6
DMA's reference
Decision Book p.25
Phase
Phase 1
Autonomy
L3 · Act within rules
DMA's decision
Yes

◆ Amended in v3 of the book.

What DMA asked for · Decision Book p.25

Send a proposal to a qualified prospect without a person's approval by default, as long as it stays within the approved pricing, scope, proof and policy rules.

Why it matters to DMA: Without it, AI-led closing still waits on a person for the last step. Non-standard terms, new deal sizes, low confidence and anything without precedent still go to Josh.

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

How we do it

  • What runs: every proposal is priced by code from the approved card, checked line by line, with its claims checked, and rendered as a PDF. Sending uses a fixed covering note and the approved PDF, which the send governor hash-checks and attaches after every normal prospect check (consent, suppression, limits).
  • Today a person approves each proposal and clicks Send; a discount above the band goes to Josh only.
  • To finish for Phase 1: a rule in DMA's rules that lets a proposal inside every guardrail (standard package, discount within the band, a deal-size tier already seen, all checks passed) go out on its own, with the rest escalated to Josh and a sample of sent proposals reviewed afterwards.

Already in place

  • Code pricing, line checks, claims and date checks, and the PDF.
  • Sending through the governor, with the PDF hash-checked against the approval.
  • Josh-only approval above the discount band.

What the later phase adds

  • A guardrail rule that sends in-bounds proposals without a person.
  • Post-send sampling for review.

The flow

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

Checked proposalpriced by codeGuardrail rulepackage, band, size, checksInside every guardrailsend (Phase 1 finish)OutsideJosh decidesSend governorPDF hash-checked
Step 1 of 5

A checked proposal

Priced by code, claims and dates checked.

  • Stored data
  • Rule in code
  • Person

Where the data goes

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

  1. 1Proposal

    Source

    The checked proposal and PDF.

  2. 2Sync

    Copies Nutshell changes into the bridge database

    Not involved.

  3. 3Bridge database

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

    The proposal, its approval and when it was sent.

  4. 4AI

    Claude models, only through DMA's own gateway

    Wrote the words earlier; the send uses a fixed note.

  5. 5Write gate

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

    Records the send on the deal.

  6. 6Nutshell

    The system of record

    The deal shows the proposal sent.

The tables behind it

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

ctrl.policy_rulesPKiduuidrule_keytextversionintegerkindtextstatustextIDapproval_iduuidapproved_bytext+ 14 more columnsai.proposalsPKiduuidFKsupersedes_iduuidstatustextpackage_codetextmonthly_totalnumericcontract_valuenumericdiscount_pctnumericFKapproval_iduuidapproved_bytextsent_attimestamp+ 26 more columnsctrl.mail_logPKiduuidattimestampclasstextstatustextIDapproval_iduuidIDdecision_iduuid+ 12 more columns

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

TableWhat it holdsColumns
ctrl.policy_rulesDMA's rules as approved versions, including the rate card and the discount band.21
ai.proposalsEach proposal: lines priced by code, totals, discount, the checks it passed and its approval.36
ctrl.mail_logThe send, with its result.18
How the tables connect (5)
ColumnPoints toKept by
ctrl.policy_rules.approval_idctrl.approvalsThe application (by id)
ai.proposals.supersedes_idai.proposalsThe database (foreign key)
ai.proposals.approval_idctrl.approvalsThe database (foreign key)
ctrl.mail_log.approval_idctrl.approvalsThe application (by id)
ctrl.mail_log.decision_idctrl.decision_logThe application (by id)

Worked example

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

How the guardrails would sort three sample proposals.

Who sends

ProposalGuardrailsSent by
Local Growth, 3 locations, 5% offStandard package, within the band, known sizeAutomatically (Phase 1 finish)
Local Growth, 15% offAbove the discount bandJosh
Custom 24-month enterprise termNon-standard termsJosh

In the running POC

localhost:13301/approvals
Sample: a proposal waiting for Josh in Approvals.

Sample: a proposal waiting for Josh in Approvals.sample data

  1. 1Only Josh can approve this one.
  2. 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.

OpenWhereWhat to try
ApprovalsDMA AI dashboardProposals and who may approve them.

Status

Partly built — finishing in Phase 1

Partly built — finishing in Phase 1. The parts run in the POC today; the rule that joins them is being finished for Phase 1.

11.6 Autonomous proposal sending · DMA AI proof