The problem
Small businesses want an agent answering their DMs, not an AI project. That means real multi-tenancy, a human who can take over mid-conversation, and an agent that never invents a price or an availability.
Engineering decisions
- Every tenant-owned row carries
organization_id, enforced by database row-level security
- A conversation is exactly one of AI_ACTIVE / HUMAN_ACTIVE / PAUSED / CLOSED, re-read immediately before every automated reply
- Structured business facts are queried from structured data; RAG only supplements them
- Each provider call records model, tokens, an immutable rate snapshot and the credits charged
- Provider identifiers never become the domain's primary identifiers
24migrations, rebuilt from zero
245pgTAP assertions
154application tests
25/25pages in the live crawl smoke
goagentic.pro ↗
Controlled-access workspace — not yet a customer-ready beta.