Blueprints
Summary
- A Blueprint describes one epic at the level of files and functions.
- The other pages on this site describe the platform to a person who operates it.
- A Blueprint describes the platform to a person who is going to change it.
- Each Blueprint uses Simplified Technical English and numbered points.
- Each Blueprint records the commit at which a person read the code.
- A Blueprint shows the real control flow. It also shows the defects and the open decisions.
- All 16 Blueprints are complete. They hold 31 diagrams between them.
- A page with more than one workflow has one diagram for each. The captions number them.
Read a Blueprint correctly
- Check the provenance line first. It gives the commit and the files.
- If those files moved after that commit, treat the Blueprint as unreliable.
- A dashed box marks an open decision. Do not change one side of an open decision alone.
- A note in amber marks a fact that contradicts a usual assumption.
- Click a diagram to make it larger.
Compliance
Complete
Opt-outs
Three mechanisms record a stop request. One safety gate applies it. Includes one open decision about reach.
Complete
Multi-tenancy and isolation
Row-level security, the system context, and the two places the platform crosses isolation on purpose.
Making a call
Complete
The dial gate
13 checks before each dial, the order, the refusal count of each check, and the exception for rehearsals.
Complete
A call from start to end
Six workflow states, seven provider messages, and the timeout that closes an unresolved call. Two workflows: the call itself, and what happens to one arriving message.
Complete
Caller-ID pool and reputation
Five states, a ramp nobody can shorten, and the check that refuses more dials than any other. Two workflows: the five states, and the daily reputation sweep.
Call outcomes
Complete
Outcome resolution
Seven dimensions and one headline. Certain sources decide first. The phrase list and the model fill only the empty dimensions. Three workflows: the seven dimensions, the order of resolution, and the review path.
Complete
D2 — who answered
Three sources in a fixed order, and a phrase list that reads the agent’s own words. Three workflows: the sources, the values, and one wrong-number call.
Complete
D3 — intent
Five values, three with one headline, and a refusal phrase that beats any interest phrase. Three workflows: the sources, the values, and one greeting.
Complete
D4 — qualification
Step 1 needs a field that no live agent sends, and silence gives DISQUALIFIED. Three workflows: the sources, the values, and a successful call.
Complete
D5 — compliance flags
The seven flags, the two sources that raise them, and what each flag does. Two workflows: the sources, and the consequences.
Leads and data
Complete
Lead lifecycle and cadence
Ten states, three cycles of 5, 4 and 3 attempts, and the state that stops a lead moving mid-call. Two workflows: the ten states, and the calling calendar.
Complete
Import and scrub
A file becomes a dialable lead. Two reject classes, and why an absent scrub result is a refusal. Two workflows: the file, and the scrub.
Complete
Cost and reconciliation
Seven priced products per call, and the three records that must agree about the same call. Two workflows: the price of a call, and reconciliation.
Running the platform
Complete
Rehearsals
The real code path against impersonated providers, and the four things it cannot test.
Complete
Deployment pipeline
A merge becomes production. The rehearsal is the gate; the release tag asks, it does not grant. Two workflows: merge to stage, and tag to production.
Complete
Observability
Where a number on a board comes from, and the two ways it goes wrong without saying so.
Keep each Blueprint correct. A Blueprint written from memory is a confident diagram of a system that may not exist. This platform has produced that failure several times. An index listed states that cannot occur. A measurement read the wrong key. A dashboard said that a metric was impossible on the day it started to work. If you change one of these areas, change its Blueprint in the same commit and move the provenance line.