This is a fast-build. Three weeks from kick-off to live data verification calls running against the Brabys database. Phase 2 — the sales agent — kicks off the moment Phase 1 is done.
Pipeline v2 is live and E2E proven. Concurrent dispatch, webhook-first chaining, schema-aware Scrub, campaign templates, and the Campaign Creation Wizard are all operational. Records 301, 351, 352 reached APPROVED status with real outbound calls via Twilio → Claire (ElevenLabs) → webhook → Scrub → APPROVED → merge queue. 3CX SIP from Carl still blocked — Claire uses Twilio only for now.
subscriber_view — resolves all tables into readable business recordslocalhost:3500 with authagent_6101kjdakj41fhq8ptkxffcxcwrz — fully configuredbusiness_name, phone, email, websitemax_concurrent_agents (default 2) calls simultaneouslyrunDispatchCycle()runDailyOrchestration() fires at 06:00 UTCgetOptimalCallTime(campaignId) queries 30-day answer rate by hourdispatcher.js now ~458 lines with full autonomous operationconfig/schemas/verification.json and config/schemas/debt-collection.jsoncampaigns table: added agent_id (TEXT) and schema_type (TEXT)records.status via record_stats APIagent_1801kkftqqzxe8bvmwm244ash495, 6 scenariosbrabys-agents.html page: Claire, Scrub, General, Snitch agents shown/api/general/chat → Claude Sonnet + live DB contextGET /api/schemas, GET /api/templates, GET /api/campaigns/:id/callsKey architectural and process decisions made during the build sprint.
| Decision | Rationale |
|---|---|
| No direct Informix connection | All data flows via file dumps — Carl's AIX server exports ZIP → Maverix imports into PostgreSQL. Agreed with Carl. Eliminates VPN/JDBC complexity entirely. |
| ElevenLabs hosts Claire | Pure cloud agent — no local process, no Docker, no server costs for Claire herself. ElevenLabs manages uptime and scaling. Maverix manages prompt, script, and integration. |
| Claire LLM: Claude Sonnet 3.5 | Switched from Gemini 2.5 Flash on 3 March 2026 after testing. Claude delivers significantly better conversation quality for this use case. |
| Field extraction: Claude Haiku | Haiku is fast and cheap for structured extraction tasks. Used post-call to parse transcripts and pull confirmed field changes — not for the voice conversation itself. |
| Address write-back deferred | Address changes require resolving human-readable text back to Informix code table values (cosstrdc, cossubrb, costown). Flagged for manual review until code lookup logic is built. All other fields write back automatically. |
| Browser voice testing before outbound calls | "Test with Claire" browser session built before 3CX integration to validate Claire's script and conversation flow end-to-end. Lets both teams hear Claire and refine her behaviour without needing live calls. |
Infrastructure and data blockers are resolved. E2E pipeline proven via Twilio workaround. 3CX SIP from Carl still blocked (no ETA). Snitch phone number provisioning pending.
| # | Blocker | Owner | Status — 3 Mar 2026 |
|---|---|---|---|
| B1 | 3CX SIP credentials — provide SIP account credentials + API access so ElevenLabs can connect via SIP trunk and make outbound calls. | Brabys IT / Carl | 🔴 ACTIVE 3CX SIP still not received (no ETA from Carl). Claire uses Twilio workaround for now — E2E pipeline proven with records 301, 351, 352 reaching APPROVED. Scheduler runs autonomously via Twilio. |
| B2 | Informix connectivity — JDBC driver, VPN/network access, read-only credentials. | Brabys IT | ✅ RESOLVED File dump approach agreed. Carl exports ZIP from AIX server → Maverix imports all 13 tables into PostgreSQL. No JDBC needed. |
| B3 | Sample data extract — full subscriber database for Pretoria / 012 area. | Brabys / Carl | ✅ RESOLVED All 13 Informix tables loaded. 21,872 subscribers in PostgreSQL staging DB. Import pipeline fully operational. |
| B4 | Merge approval — manual dashboard trigger or scheduled nightly window? | Mr Isaacs | 🟡 PENDING Field-level write-back built for 4 of 5 fields. Decision on address write-back and approval workflow pending pilot run. |
| B5 | ElevenLabs billing migration — transfer ElevenLabs account to Brabys for production. | Brabys | 🔴 ACTIVE Required before production go-live. Claire currently running on Maverix ElevenLabs account. Billing migration needed when outbound calling starts at scale. |
/agents, /db, /dashboard, /scripts.records (working copy), call_log (one row per call), field_updates (delta layer). Row-level access per agent role enforced.records table. Maps columns, validates fields, inserts as NEW status, outputs import report. Run with sample 100-record batch.field_updates. Connects to Informix via JDBC. Field-level updates only — subscriber ID is the immutable anchor. Logs every write. Conflict detection: never overwrites newer Informix data. Rollback script included.campaign_queue.status → records.status consistency across all dashboard views and API endpoints.The moment data verification is live, Phase 2 begins. The infrastructure is already built. The only new work is a separate agent persona, a new script, and a warm-lead trigger from Claire's call data.
The sales agent must be a completely separate persona from Claire. Claire has built trust — "this is not a sales call." That trust cannot be compromised. The sales agent gets a different name, different voice, and is never described as the same system. Warm leads from Claire's calls are the trigger — but the connection is invisible to the business being called.
sales_log table; outcomes fed back to Brabys CRM or manuallyTimeline estimate: Phase 2 is faster than Phase 1 — the infrastructure already exists. New agent persona + script + warm-lead queue is roughly 1 week of build. First sales calls within 2 weeks of Phase 1 go-live.
| Risk | Likelihood | Mitigation |
|---|---|---|
| 3CX not available / incompatible | Medium | Build call logic in simulation mode. Twilio or Vonage as fallback — 2-week decision window before switching providers. |
| Informix connectivity complex or delayed | Medium | CSV import/export as interim workaround — pilot can run without direct DB access. Not permanent but unblocks Weeks 1–2 entirely. |
| Call quality / Claire voice unacceptable | Low | Alternative ElevenLabs voices pre-tested. Script refined on early samples. Human listen-test before any calls to real customers. |
| Scrub accuracy too low (too much human review) | Medium | Confidence threshold is tunable. Start strict, loosen as accuracy is proven. Human review load decreases as system is calibrated. |
| POPIA / telecoms compliance (South Africa) | Low | DNC register enforced strictly. Brabys legal to confirm compliance posture before any live calls to real subscribers. |