Demo A — Sales pipeline hygiene: the orchestrator overrules its own subagent
Run date: Friday, 31 July 2026 · Elapsed: 11:11 → 17:48 ET · Output: a written audit file, three email drafts, two CRM task closures, one task rescheduled
Every weekday CyberSecureRIA runs an agentic sweep of its CRM pipeline. One
orchestrator reads the day's due task queue, dispatches an enrichment subagent
per contact, hands writes to a separate agent that is the only one permitted to
touch the CRM, and files a dated audit record. This is the record from
31 July 2026, redacted.
Names, firms, domains and contact details have been replaced with role labels.
Ticket numbers, record IDs, dates and timestamps are unchanged — on their own
they identify nobody.
What to look at. Not the eight tasks that were worked. Look at the two
places where the orchestrator re-ran a subagent's check, kept the answer, and
threw out the argument that produced it.
The queue
Queue fetched with due_date=lte:2026-08-01: **8 open tasks, all due
2026-07-31, all already assigned.**
>
Reassignment buckets checked and all empty — no writes needed:
duplicate-user bucket → count 0; shock-and-awe bucket → count 0; list-scrub
bucket → count 0.
Annotation. "Verified rather than assumed" is doing real work in that
second block. Three routing rules exist; the run confirmed each returned zero
rather than reporting "no reassignments needed" because none came to mind.
A rule that was never evaluated and a rule that returned empty look identical
in a summary.
The centerpiece: an unsigned agreement
An enrichment subagent was asked whether a prospect had signed the engagement
agreement sent to him. It returned two claims:
1. He has not signed.
2. He has not even opened the document since it was resent on 29 July —
supported by two fields on the e-signature envelope.
The orchestrator did not accept the report. It re-queried the e-signature
platform itself, read-only, creating and sending nothing:
getEnvelope(...) → status: "sent" — not completed, not declined, not
voided.
>
listRecipients → **the prospect: status: "sent", completedCount: "0",
no deliveredDateTime.** The CEO: status: "completed",
signedDateTime: 2026-07-16T14:50:33Z (countersigned day one).
>
sentDateTime: 2026-07-29T21:10:56Z confirms the resend landed.
Correction 1 — conclusion upheld, reasoning rejected
CORRECTION 1 to the subagent report: it claimed lastModifiedDateTime is
identical to sentDateTime and that any view would have advanced it. False —
lastModifiedDateTime is 2026-07-16T14:50:07Z (the original send).
statusChangedDateTime is the field matching the resend. The not-signed
conclusion survives via the recipient row, which is direct evidence; **the
specific field argument was wrong.**
Annotation. The subagent's answer was right. Its reason was wrong, and it
was wrong in the most durable way — a plausible claim about a timestamp field
that nobody downstream would ever re-open, sitting inside a conclusion that
happened to be correct.
>
The orchestrator separated the two. It kept the finding because the recipient
row states the signing status directly, and it discarded the timestamp
argument because that argument was checkable and did not check out. A run that
only graded conclusions would have marked this one green and moved on.
Correction 2 — a claim downgraded from strong to weak
**CORRECTION 2 — the "hasn't viewed since the resend" claim is weaker than
presented.** The subagent leaned on the absent deliveredDateTime. But this
recipient has no deliveredDateTime at all, including before 7/24, when
he demonstrably DID open the document — he quoted the incorporation-by-
reference clause verbatim and correctly noted the envelope carried only one
exhibit. So that field does not track this recipient's views and cannot
distinguish "never opened" from "opened, not stamped."
>
The email-side evidence (no "viewed" notification from the e-signature vendor
since 7/24, **apparatus controlled against six other clients' full envelope
lifecycles in the same window**) is the real support — good, but softer than
claimed.
Annotation — this is the paragraph to read twice.
>
Three separate moves happen here, and each is a thing an unsupervised agent
normally skips.
>
It found the counter-example. The field was empty, and the subagent read
empty as "did not happen." The orchestrator went looking for a moment when the
thing had definitely happened and checked the field then. It found one: a week
earlier the prospect had quoted the contract back, clause by clause, which is
only possible if he read it. The field was empty then too. An empty field that
is empty when the event occurred is not evidence about the event.
>
It controlled the apparatus. The replacement evidence is the absence of
vendor notification emails. An absence is worthless if the mailbox search is
broken, so the same query was run against six other clients' envelopes in the
same date window, where it returned full send / view / sign lifecycles. The
search works. The absence means something.
>
It downgraded rather than deleted. The conclusion stayed. Its confidence
did not. The audit file records the claim as "good, but softer than claimed"
— which is what the human reading it on Monday needs to know before repeating
it to a prospect.
Operationally unchanged: not signed, a nudge is warranted, the ball has been
his seven days. The run also recorded a documentation gap — the newest CRM note
on the contact is dated 6/30, and nothing in the CRM records the 7/16 send, the
7/24 contract exchange, or the 7/29 resend.
Four more corrections in the same run
The self-correction above was not a one-off. The same audit file records five
other places where something already written down turned out to be wrong.
A fabricated price, labelled as verified. An opportunity's next-action notes
asserted a per-user price and annotated itself *"VERIFIED CORRECT … No
correction needed."* The figure did not correspond to any quote on record. It
was overwritten with the real basis — two line items that sum to the actual
monthly figure.
Annotation. The dangerous part is the annotation, not the number. A wrong
number invites a second look. A wrong number stamped "verified" ends the
conversation.
A metric that counted the same email several times. A prior run reported
"13 outbound / 2 inbound" for one prospect. That was a raw row count, and the
mail index stores a separate row per folder copy, plus self-forwards. The real
record: 4 unique inbound, 5 substantive outbound.
A correction that never happened. A contact's company field was annotated
*"Corrected 2026-07-30."* It was still empty. The run established why: the CRM's
update call has no parameter for that field at all — it takes a company ID and
derives the name from a linked company record, and no such company record
exists. An unrecognized parameter collapses into a generic *"No update fields
provided"* error, which reads exactly like a silent drop. Filed as a tracked
issue rather than left in a comment, and the false annotation was superseded in
place rather than deleted.
Two copies of one email, labelled backwards. A prospect's reply existed
twice in the index — once in the CEO's mailbox, once in a colleague's. The
enrichment agent had them the wrong way round. Replying to the copy it named
would have created the draft in the wrong person's mailbox, where the CEO would
never have seen it and the prospect would never have received it. The run
identified the owning mailbox from the message-ID prefix before drafting.
Two research subagents disagreed; the orchestrator went to the vendor. One
said a mobile-device feature required a specific paid tier; another said it was
included a tier lower. This determined whether a prospect would need to spend
roughly $— a year. Rather than picking the more confident agent, the
orchestrator fetched the vendor's own feature-comparison page and read it:
the feature is listed under the higher tier, and the lower editions are absent
from that tier's edition list. The cheaper answer was wrong, and the cost line
went into the client email.
And one subagent corrected itself mid-task. A researcher's first pass read a
vendor pricing page through a summarizer that attributed an enterprise mobility
feature to every plan tier. It re-derived the answer from the raw page and each
article's availability box. Its own note on the matter: uncorrected, the
recommendation would have told the prospect they get that capability on a
mid-tier plan, which is false.
What the run refused to conclude
A day's audit is judged as much by what it declined to assert.
"Did he make the call?" — escalated, not inferred. A 9:00 a.m. call slot had
elapsed. The run checked for every trace: zero CRM notes, task modification date
untouched, no support ticket, no inbound email, no new calendar event. It then
stated the limit of its own negative:
Each of those records a *side effect* of a call. An unlogged mobile call
produces none. Cannot distinguish "didn't dial" from "dialed, didn't log."
ASK JONATHAN — do not infer.
That instruction is not caution for its own sake. CyberSecureRIA audited this
class of finding and measured it: **91% of "you missed a follow-up" claims were
false — 40 of 44.** The founder follows up from his own tools, so the CRM goes
stale while the work gets done. The prior is written into the operating
instructions, and the run applied it.
The email zeros were controlled. Before trusting any "no email found"
result, the run searched a known-busy sender and got 75,319 matches, newest that
day. The zeros come from a live index, not a broken query.
A calendar was discarded as evidence. A colleague's calendar returned zero
matching events. The run checked whether it returned zero for a two-month
control window as well. It did — so the calendar is unindexed, not empty, and it
was excluded from the reasoning entirely.
A visibility gap was recorded as a gap. Whether that colleague also
telephoned the prospect could not be established either way; her calls leave no
trace in any reachable system. The audit says so, in those terms, rather than
recording an absence of evidence as evidence of absence.
Two contacts were confirmed not to exist. Two email addresses attributed to
a prospect firm produced zero artifacts. Both domain sweeps were confirmed
untruncated — 6 of 6 and 2 of 2 — before the conclusion was drawn.
What the queue would never have found
Two of the day's most consequential items were not in the task list at all.
- A prospect had replied two days earlier with a direct question and was
waiting. His CRM task offered two branches — "replied ready" and "no reply by
Friday" — and neither fit. Nudging someone who is waiting on you would have
landed badly. Answering him replaced the nudge.
- An existing client was waiting on a time commitment the CEO had made
himself for that day, with a hardware purchase on Sunday depending on it. She
is covered by a support ticket, not a CRM task, so nothing in the sales system
would ever have surfaced her.
Why this is the demo we chose
A clean run proves that a system can be built. It does not tell you whether the
system can be trusted with a compliance obligation.
What this run shows is narrower and more useful: the layer above the agents
re-derives what the agents claim, and when a claim survives on different
evidence than the one offered, it says so in writing. Four wrong statements were
already in the record — a fabricated price stamped "verified," an inflated
count, a correction that never happened, and two mailboxes swapped — and all
four came out of the same system on earlier days. The record is not clean. It is
audited, dated, and self-contradicting where it should be.
For a firm whose clients answer to the SEC, that distinction is the product.