Sarah
The CCDocs company brain

One AI that runs
on the whole company.

Sarah is a single AI persona -- in Slack, on the phone, in Zoom -- that answers questions and takes action across the business: call-center stats, client appointments, ticket filing, email triage, scheduling. Not a chatbot: a governed, audited, tenant-scoped operator where who you are decides what she can reach.

16
narrow workers
1
guarded door
7
promotion tiers
1
memory store
Postgres + pgvector

every request, through one guarded door

Staff / ops -- the full picture
A client -- only their own data
An agent -- only their campaign
THE GUARD PIPELINE
one chokepoint scope stamped from who you are + which channel, spread in last -- the model can't widen it
the right worker, scoped
or an honest refusal
every decision audited
no back door -- not even for internal tools. scope comes from structure, never from what you type.
A short menu of narrow workers

What Sarah can do

One orchestrator holds a menu of small, single-purpose workers and routes to one through the guarded door -- never a pile of 50 tools it runs itself. A new capability is a new worker, never a wider brain.

vici

Read-only VICIdial: call stats, dispositions, agent status, lists, DIDs, hopper depth.

scope: campaign
client-legend

Storm client lookups: appointments, packages, balance, disputes, QC, ZIP coverage.

scope: storm
ticket

File a bug / feature / support ticket on your behalf -- one-turn, no interrogation.

-> engineering
policy-sop

Company policy, SOP, onboarding + scheduling knowledge, scoped to you.

RAG
calendar

Look up / create / edit Google Calendar events (writes are approval-gated).

principal
gmail-text

Draft an email or text -- records only, never sends without approval.

draft-only
vici-dnc

Add or remove a number from the VICIdial Do-Not-Call list.

scope: campaign
closer-commission

Your commission: per-deal lines, chargebacks, bonuses; managers see their reps.

principal
onboarding-status

Your onboarding + contract-signing status, next step, dated timeline.

principal
lms-status

Your training: enrollments, progress, overdue courses, cert expirations.

principal
payroll-read

Your latest pay-period summary, history + line items.

finance-gated
escalation

When she can't do it: tag a human and file the ticket so nothing drops.

always available
Safe by construction

Why you can let her act

SCOPE FROM STRUCTURE

You can't talk her wider

What you're allowed to see comes from who you are and where you're standing -- not anything you or the model can type. Scope arguments are overwritten server-side, spread in last, so the AI's version can never loosen them.

TWO-TRACK ISOLATION

The channel is the wall

Storm clients share one campaign, so each is routed to their own client-scoped data and can never reach a dialer query -- seeing that would mean seeing every sibling client. The track decides the data source and the worker allowlist.

SPLIT FAIL POSTURE

Safety never rides on speed

If memory is slow she degrades and keeps answering (fail-open on latency). If she can't prove which tenant you are, she refuses rather than fetch everything (fail-closed on scope).

EVERYTHING AUDITED

Reconstruct exactly what she did

Every routing decision and every action emits one audit row through one shared emitter -- mutations on a tamper-evident sha256 hash chain with an undo hint. No console-log trail, no second store.

NO BUILT-BUT-UNWIRED

Nothing ships dark

The orchestrator can only reach a worker that's actually registered; an unknown one becomes an honest refusal. A coded-but-never-called component is treated as a defect.

SHADOW -> CANARY -> SERVE

Proven before it speaks

The new brain runs dark beside the live one -- same real scope, zero tokens, never posting -- then promotes traffic 5 / 25 / 50 / 100% on a deterministic per-conversation hash. The serve switch stays human-gated.

One brain, one memory

She remembers, in one place

Every turn is logged to a single Postgres + pgvector store -- episodic recall plus a semantic layer that collapses near-duplicates nightly, and degrades to plain timestamp recall if the vector index is ever missing. One store, never a second that can drift out of sync.

Slack -- primary Phone -- voice brain Zoom -- meeting bot Browser -- avatar ~16 workers Postgres + pgvector
Part of the CCDocs suite

The brain behind it all

Sarah is the front door to the whole platform -- she files the tickets Fabrica builds, and stands beside the apps the forge shipped.