Architecture references, workflow playbooks, and evaluation guides for the team. Press ⌘K to jump anywhere.
Outreach
The design of Outreach, our agentic campaign app: a fresh decision at each step, specialist drafts, human approval of every outbound action, two Inngest workflows and a due sweep.
05 · Runtime
The one runtime: the durable segment loop on Inngest, the AgentExecutor checks, and the Agno agent loop that reasons, calls tools and answers.
Agentic infra
The high-level system design of the agentic infra - who starts a run, the one run start, the runtime, what a run can do and know, and where it is stored.
01 · Surfaces and channels
Where work is asked for: the web app, the ac CLI, the channel gateway, and the planned MCP server.
Every article, grouped by domain and type.
3 articles
Roadmap - June 2026
June 2026 product plan across four themes. The spine is moving our agents onto an isolated sandbox runtime and rebuilding the core agents and workflows on it, then standing up a read-through intelligence data store and shipping the Stripe billing system. Knowledge base, assistant, and credit tracking carry into the July roadmap.
Roadmap - July 2026
July 2026 product plan across three themes, all carried over from June. Building on June's sandbox runtime, July grounds the agents in a knowledge base, launches the AI chat assistant, and meters every action with per-action credit tracking that reconciles into the Stripe billing system shipped in June.
Roadmap slides - June 2026
Board-review slide deck for the June 2026 product roadmap, rendered directly from the original PPTX in the docs site.
13 articles
Company Signals
Company Signals
Signal-first company discovery for marketing agencies, on the Claude Agent SDK, with a global intelligence cache and deterministic composite scoring.
Company Signals Monitoring
Superseded. Realtime signal capture layer on top of the data graph. Detects hot events, scores them with a Claude managed agent against each agency's ICP, fans out alerts.
People Signals
People Signals
Signal-first people discovery for marketing agencies, built on the headhunter pipeline, with a composite score weighted by signal strength, source reputation, recency, and ICP fit.
People Signals Monitoring
Forward-looking design for the push layer that tracks known people - champions, past contacts, target-company decision-makers - and fires a warm lead the moment they change jobs, get promoted, or their company has an event.
Enrichment
People Enrichment
The people enrichment workflow - a cache-first read in front of the people intelligence database that fills profile, contact and employment facts via a fixed-order provider waterfall, keyed on the LinkedIn URL, and writes every resolved fact back with provenance so the first org pays once and every later search rides free. The fill step Headhunter and People Signals both call.
Company Enrichment
The company enrichment workflow - a cache-first read in front of the company intelligence database that fills firmographic, contact and technographic facts via a fixed-order provider waterfall, and writes every resolved fact back with provenance so the first org pays once and every later search rides free.
General Search
Sequences
Agentic CRM
Concepts
Designing chat agents
The 2026 playbook for production chat agents that reach into internal systems via tools — context engineering, memory, tool design, when to add complexity.
System prompt architecture
How to structure a production chat agent system prompt — eight sections, what each one does, and the rules vendors converge on.
Reference
13 articles
Intelligence databases
Company Intelligence Database
Decided architecture for ENG-669, the cross-org company intelligence layer that acts as a read-through cache in front of enrichment providers, with public-facts-only privacy and provenance-tracked write-back.
People Intelligence Database
Decided architecture for the cross-org people intelligence layer - a read-through cache in front of headhunter research and Hunter email lookups, with LinkedIn-URL identity, append-only employment edges, per-tier freshness stamps on the flat profile, shared intel_sources provenance, unified intel_signals, and a GDPR erasure path.
Signals Intelligence Database
Decided v1 architecture for the unified signal store - one polymorphic append-only intel_signals table that holds both company and person signals, with a shared taxonomy, source-ranked provenance, an intel_signal_ingests log that records which pipeline found each signal, decay at read time, and a person-to-company rollup so a champion job change surfaces on the company feed.
Org Signal Feed
The per-org activation layer on top of the shared signals store. One immutable intel_signals row fans out to many orgs through scoring (signal-type weight times ICP fit times recency decay) and materializes as ranked, tiered rows in intel_org_signal_feed - the only org-scoped, RLS-per-org table of the signal stack, the door the launchpad, inbox and digest all read through. Signals enter by two ingest classes - a user's sonar pull (ungated) or an automated push (gated by threshold plus an optional competitor-ICP check) - logged in intel_signal_ingests, and each feed row records its origin.
CRM
Companies
Deep dive on crm_companies, the account record at the centre of the CRM — where it is served from, how a row is born and read, and its full schema, relationships and rules.
People
Deep dive on crm_people, the contact record of the CRM — where it is served from, how a row is born and read, and its full schema, relationships and rules.
Deals
Deep dive on the deal pipeline — crm_deals, crm_pipeline_stages and crm_pipeline_config. Where it is served from, the life of a deal, and its full schema, relationships and rules.
Activities
Deep dive on crm_activities, the interaction + task log of the CRM — where it is served from, how a row is born and read, and its full schema, relationships and rules.
Communications
Deep dive on crm_communications and crm_communication_events, the unified email/call/message log and its per-message engagement tracking — where it is served from, the outbound message lifecycle, and the full schema, relationships and rules.
Lists
Deep dive on crm_lists and crm_list_members, the static or dynamic member collections of the CRM — where they are served from, how a list and its members come to be and are read, and their schema, relationships and rules.
Signals
Deep dive on the signals tables - signals, company_signals and person_signals, the CRM's sales-intelligence layer. Where signals are served from, how one is born and attached, and the full schema, relationships and rules.
Saved filters
Deep dive on crm_saved_filters, the named reusable filter snapshots over the company, person and signal list views — where it is served from, how a saved view is born and applied, and its full schema, relationships and rules.
31 articles
System design
Agentic infra
Agentic infra
The high-level system design of the agentic infra - who starts a run, the one run start, the runtime, what a run can do and know, and where it is stored.
01 · Surfaces and channels
Where work is asked for: the web app, the ac CLI, the channel gateway, and the planned MCP server.
02 · Triggers
How events, webhooks and schedules match one rule and start a run without a person.
03 · Front Door
How a conversation reads scoped context and answers, asks, or selects one Agent or Workflow.
04 · Runs
The one run start: RunManager, admission, the frozen definition, and dispatch.
05 · Runtime
The one runtime: the durable segment loop on Inngest, the AgentExecutor checks, and the Agno agent loop that reasons, calls tools and answers.
06 · Model provider
The LLM vendors behind the agent loop, model choice, and token cost.
07 · Capabilities
The business actions a user can request: search, enrich, signals, the CRM question, and the definition builder.
08 · Tools and integrations
The tool registry and the provider jobs that reach third-party data vendors.
09 · Context and memory
Scoped context packing, memory, and the platform corpus.
10 · Intelligence and product state
Where discovery work lands: global intelligence, then organization prospects, then CRM.
11 · Governance
Policy at admission, at every tool call and as cost accrues, plus approvals, budgets and idempotency.
12 · Observability and cost
The run row, the spans, the cost meter, and the live events.
13 · Storage
Postgres on Supabase, pgvector, and Redis.
Glossary
The terms the agentic infra pages use, in one place.
Mission Control
Experience
L6. Where a person observes and controls the company, and the one rule that keeps the UI out of the business.
Intelligence
L5. The agent is the primitive. A skill is how it works, a tool is how it reaches the world, and the two are never the same thing.
Orchestration
L4. Workflow, run, step, trigger and event. Five nouns that turn a decision into durable execution.
Company context
L3. Company state, knowledge and memory are three different things. One deterministic builder turns them into one brief.
Tools and integrations
L2. One contract for every capability. The tool is the only route to the world, and it is where policy, audit and tenancy meet.
Foundation
L1. Generic infrastructure with no business logic in it. The test is that another product could run on it unchanged.
Policy and governance
A plane, not a layer. One place decides what an agent may do, under what conditions, and how much. Human approval is one of its three answers.
Metrics and connectors
A worked example across every layer. Three vendors, one metric pipeline, three views, and the rule that decides what we store.
Workflows
Company search
Implementation notes for company.search. Search resolves and gates company identities; enrichment is a separate capability.
People search
Implementation notes for people.search. Bounded company scope and persona gates return selectable person identities without enrichment.
Enrichment
Reusable company and people enrichment workflows with canonical Intelligence write-back, existing tier freshness and bounded asynchronous email.
Signals search
Superseded. The earlier on-demand buying-signal search component, kept as a record of the design that the agentic platform Signals Search workflow replaces.
Reference
Cloudflare agent sandbox
Cloudflare's Workers-based agent platform, evaluated as an alternative sandbox for our Agno workflows.
Virtual filesystem for AI assistants
How ChromaFs provides AI agents with structured file access.
Agno → Claude Agent SDK migration
Superseded. Agno stays the agent runtime. System-design spec for moving the ac-python-api workflow engine off Agno onto Anthropic's Claude Agent SDK / Managed Agents, tiered by control-flow shape.
2 articles
Product positioning
How AgencyCore is positioned: an always-on AI business development teammate for founder-led marketing agencies. AgencyCore does the prospecting work; the agency owner keeps the decisions.
Outreach
The design of Outreach, our agentic campaign app: a fresh decision at each step, specialist drafts, human approval of every outbound action, two Inngest workflows and a due sweep.
11 articles
Agents
Oncall agent
Interactive design for a Symphony oncall agent that turns Sentry incidents into rich Linear tickets, investigates with Codex, opens fix PRs, and resolves Sentry after merge.
DevOps agent
Interactive design for a Slack-first Symphony DevOps agent that wraps production promotion, rollback, audit, and operational jobs behind policy gates, typed runbooks, and an auditable ledger.
Timed jobs
Nightly local staging E2E
Interactive design for the Symphony timed job that seeds local Supabase, runs ac-frontend Playwright E2E against the local staging stack, uploads evidence, and cleans artifacts.
Nightly staging QA
Interactive design for the Symphony timed job that seeds a staging QA Linear issue, runs an agent-browser crawl, validates feature-map coverage, and files focused follow-up work.
Daily Sentry triage
Interactive design for the Symphony timed job that performs read-only Sentry triage, deduplicates existing tracked clusters, and creates focused ENG bugs for new actionable errors.
Daily security agent
Interactive design for a report-only Symphony timed job that reviews the last 24h of commits, scans the system for vulnerabilities, and opens focused follow-up tickets.
Housekeeping
Codex vacuum
Interactive design for the Symphony housekeeping timer that checkpoints and vacuums Codex sqlite stores on the VPS.
Workspace cleanup
Interactive design for the Symphony housekeeping timer that prunes idle per-issue workspaces after their TTL.
Host cleanup
Interactive design for the Symphony housekeeping timer that removes stale /tmp debris, vacuums the journal, and optionally cleans the apt package cache.
System design