[{"data":1,"prerenderedAt":2136},["ShallowReactive",2],{"docs-nav":3,"docs-article-engineering\u002Fsystem-design\u002Fmission-control":797},[4,17,27,44,55,67,75,82,94,106,114,122,129,135,144,153,161,169,177,189,202,211,218,229,240,248,260,268,276,286,296,305,314,323,331,337,343,350,356,364,371,378,383,393,401,410,415,422,432,439,444,451,458,462,467,475,487,499,509,516,525,533,539,545,551,557,563,567,579,593,603,614,621,626,633,640,646,653,658,665,673,678,686,692,699,704,710,721,730,740,747,753,761,767,776,782,791],{"path":5,"title":6,"description":7,"group":8,"section":6,"order":9,"tags":10,"lastUpdated":16},"\u002Fagents\u002Fagentic-crm","Agentic CRM","Research brief and build plan for an AgencyCore agentic CRM layer, rendered as an interactive page — the core operating loop, the target architecture, the typed-tool risk gateway, the proposed-actions review queue, and the four-slice MVP.","Agents",0,[11,12,13,14,15],"crm","agents","ai","architecture","research","2026-06-12",{"path":18,"title":19,"description":20,"group":8,"section":21,"order":22,"tags":23,"lastUpdated":26},"\u002Fagents\u002Fchat","Chat agent","High-level system design of the AgencyCore chat agent — core components, data flow, and the two abstractions that hold it together.","Reference",1,[12,14,24,25],"chat","system-design","2026-05-13",{"path":28,"title":29,"description":30,"group":8,"section":31,"order":32,"tags":33,"lastUpdated":43},"\u002Fagents\u002Fcompany-enrichment","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.","Enrichment",2,[12,34,35,36,37,38,39,40,41,42],"workflow","enrichment","companies","waterfall","cache","intelligence-database","firmographics","provenance","sonar","2026-06-10",{"path":45,"title":46,"description":47,"group":8,"section":48,"order":9,"tags":49,"lastUpdated":54},"\u002Fagents\u002Fcompany-sonar","Company Signals","Signal-first company discovery for marketing agencies, on the Claude Agent SDK, with a global intelligence cache and deterministic composite scoring.","Company Sonar",[12,34,42,50,51,52,35,53,14],"company-search","signals","agent-sdk","scoring","2026-06-08",{"path":56,"title":57,"description":58,"group":8,"section":48,"order":22,"tags":59,"lastUpdated":66},"\u002Fagents\u002Fcompany-sonar\u002Fsignal-monitoring","Company Signals Monitoring","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.",[14,51,60,61,62,63,64,65],"intel","icp","alerts","monitoring","sse","managed-agents","2026-06-09",{"path":68,"title":69,"description":70,"group":8,"section":71,"order":22,"tags":72,"lastUpdated":74},"\u002Fagents\u002Fconcepts\u002Fchat-agent-design-principles","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.","Concepts",[12,14,24,73],"context-engineering","2026-05-14",{"path":76,"title":77,"description":78,"group":8,"section":71,"order":32,"tags":79,"lastUpdated":74},"\u002Fagents\u002Fconcepts\u002Fsystem-prompt-architecture","System prompt architecture","How to structure a production chat agent system prompt — eight sections, what each one does, and the rules vendors converge on.",[12,80,81],"prompt-engineering","system-prompt",{"path":83,"title":84,"description":85,"group":8,"section":84,"order":9,"tags":86,"lastUpdated":54},"\u002Fagents\u002Fenvoy","Envoy","High-level system design for the AI outreach engine — the sequence step state machine, the human-in-the-loop draft approval gate, multi-source context enrichment, and the inbox sentiment flow, rendered as an interactive page.",[12,87,88,89,90,91,92,93,14],"envoy","outreach","sales-engagement","sequences","state-machine","human-in-the-loop","nylas",{"path":95,"title":96,"description":97,"group":8,"section":98,"order":9,"tags":99,"lastUpdated":16},"\u002Fagents\u002Fheadhunter","Headhunter","The AI talent-search pipeline on one page - the production six-step design with its current-title relevance gate, and the 2.0 system design with internal-first waterfall sourcing, a pluggable source registry, automatic entity resolution, and a people intelligence graph that compounds every run.","General Search",[12,34,100,101,14,25,102,37,103,104,105],"headhunter","recruiting","multi-source","entity-resolution","people-intelligence","flywheel",{"path":107,"title":108,"description":109,"group":8,"section":21,"order":32,"tags":110,"lastUpdated":113},"\u002Fagents\u002Fpaperclip","Paperclip","Architecture deep dive into the Paperclip orchestration system.",[12,14,111,112],"orchestration","paperclip","2026-04-20",{"path":115,"title":116,"description":117,"group":8,"section":31,"order":22,"tags":118,"lastUpdated":16},"\u002Fagents\u002Fpeople-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.",[12,34,35,119,37,38,39,120,41,100,121],"people","linkedin","people-sonar",{"path":123,"title":124,"description":125,"group":8,"section":126,"order":9,"tags":127,"lastUpdated":54},"\u002Fagents\u002Fpeople-sonar","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 Sonar",[12,34,121,128,51,100,35,53,14],"people-search",{"path":130,"title":131,"description":132,"group":8,"section":126,"order":22,"tags":133,"lastUpdated":54},"\u002Fagents\u002Fpeople-sonar\u002Fpeople-signal-monitoring","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.",[14,51,60,119,63,134],"warm-leads",{"path":136,"title":137,"description":138,"group":139,"section":140,"order":22,"tags":141,"lastUpdated":143},"\u002Fengineering\u002Fguides\u002Fagent-execution-stack","The Agent Execution Stack","Durable workflows over pluggable agent backends — how AgencyCore runs AI agents on Inngest over a webhook-driven Claude Managed Agents backend.","Engineering","Guides",[12,142,14,25],"inngest","2026-06-25",{"path":145,"title":146,"description":147,"group":139,"section":140,"order":9,"tags":148,"lastUpdated":143},"\u002Fengineering\u002Fguides\u002Fagent-runtime","Agent runtime","How AgencyCore runs AI agents on a provider-neutral runtime — the abstraction layer that lets us swap the agent backend, with Claude managed agents as the current provider.",[12,149,14,150,151,152,25],"runtime","anthropic","claude","providers",{"path":154,"title":155,"description":156,"group":139,"section":21,"order":157,"tags":158,"lastUpdated":160},"\u002Fengineering\u002Freference\u002Fagno-to-agent-sdk-migration","Agno → Claude Agent SDK migration","System-design spec for moving the ac-python-api workflow engine off Agno onto Anthropic's Claude Agent SDK \u002F Managed Agents, tiered by control-flow shape.",10,[12,14,159,52,65],"migration","2026-06-06",{"path":162,"title":163,"description":164,"group":139,"section":21,"order":22,"tags":165,"lastUpdated":54},"\u002Fengineering\u002Freference\u002Fcloudflare-agent-sandbox","Cloudflare agent sandbox","Cloudflare's Workers-based agent platform, evaluated as an alternative sandbox for our Agno workflows.",[12,166,167,168,159],"sandbox","cloudflare","workers",{"path":170,"title":171,"description":172,"group":139,"section":21,"order":32,"tags":173,"lastUpdated":176},"\u002Fengineering\u002Freference\u002Fvirtual-filesystem-rag","Virtual filesystem for AI assistants","How ChromaFs provides AI agents with structured file access.",[12,174,14,175],"rag","chromafs","2026-04-18",{"path":178,"title":179,"description":180,"group":139,"section":181,"order":182,"tags":183,"lastUpdated":188},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fcapabilities\u002Fstate-and-knowledge","State and knowledge","What a run may know. One deterministic context builder over application state, knowledge and memory, one owner for every fact, and memory that is written through a tool.","Agentic platform",11,[184,185,186,11,187],"context","memory","knowledge","pgvector","2026-08-31",{"path":190,"title":191,"description":192,"group":139,"section":181,"order":157,"tags":193,"lastUpdated":201},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fcapabilities\u002Ftools-and-integrations","Tools and integrations","A tool is the one way an agent reaches the world. AgencyCore owns the model facing contract, the invoke path, the credentials and the result boundary.",[194,195,196,197,198,199,200],"tools","integrations","mcp","agno","policy","security","idempotency","2026-09-04",{"path":203,"title":204,"description":205,"group":139,"section":181,"order":22,"tags":206,"lastUpdated":210},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fcontract","Platform contract","One platform behind chat, interactive channels, triggers, approvals and background runs, with one Agno runtime, one tool layer, one state layer, and three cross-cutting planes.",[12,14,197,142,194,207,149,208,198,209],"skills","channels","observability","2026-09-02",{"path":212,"title":181,"description":213,"group":139,"section":214,"order":22,"tags":215,"lastUpdated":201},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform","The whole agentic platform on one page - who starts a run, the one boundary every run passes, how the work executes, and what comes back.","System design",[12,14,216,197,142,217,198],"overview","runs",{"path":219,"title":220,"description":221,"group":139,"section":181,"order":222,"tags":223,"lastUpdated":228},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Finterfaces\u002Fagent-access","Agent access (CLI and MCP)","How an outside AI agent reaches AgencyCore. The ac CLI works today as a user seat. An MCP server is planned and not designed.",6,[224,196,12,151,225,226,227],"cli","access","auth","todo","2026-08-18",{"path":230,"title":231,"description":232,"group":139,"section":181,"order":233,"tags":234,"lastUpdated":239},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Finterfaces\u002Fchannel-gateway","Channel gateway","The only layer that knows both an interactive channel and the platform. One message shape converges inbound, one intent shape diverges outbound, and no model call happens here.",3,[208,235,236,237,238,199],"slack","web","identity","sessions","2026-08-30",{"path":241,"title":242,"description":243,"group":139,"section":181,"order":244,"tags":245,"lastUpdated":210},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Finterfaces\u002Ffront-door","Front door","The conversational control layer. It turns a request into one structured decision, then deterministic application code answers or hands work to RunManager.",4,[246,247,197,184,198,217],"front-door","routing",{"path":249,"title":250,"description":251,"group":139,"section":181,"order":32,"tags":252,"lastUpdated":259},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Finterfaces\u002Fsurfaces","Surfaces","Every product surface and its API contract. Web chat goes through the gateway; every schema-native surface calls the domain API.",[253,254,24,255,256,257,258,217,64],"surfaces","api","approvals","prospects","saved-searches","builder","2026-09-03",{"path":261,"title":262,"description":263,"group":139,"section":181,"order":264,"tags":265,"lastUpdated":188},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Finterfaces\u002Ftriggers","Triggers","A Run with no person. Every producer emits one Event, matching is deterministic, and dispatch reuses RunManager, Policy and Inngest.",5,[266,267,142,200],"triggers","events",{"path":269,"title":270,"description":271,"group":139,"section":181,"order":272,"tags":273,"lastUpdated":259},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fplanes\u002Fidempotency","Idempotency","One durable PostgreSQL key service prevents duplicate effects and freezes mutable input before selected Run starts. A Run start is guarded by a unique index on the Run row.",14,[200,217,194,274,275],"webhooks","reliability",{"path":277,"title":278,"description":279,"group":139,"section":181,"order":280,"tags":281,"lastUpdated":285},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fplanes\u002Fobservability-and-operations","Observability and operations","One run row, one span tree and one usage meter. Sentry reports system failure; AgencyCore spans explain what the agent did.",13,[209,217,282,283,64,284],"spans","usage","sentry","2026-08-26",{"path":287,"title":288,"description":289,"group":139,"section":181,"order":290,"tags":291,"lastUpdated":295},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fplanes\u002Fpolicy-and-governance","Policy and governance","One deterministic plane answers may this happen, at three checkpoints, with one grant model, one approval model and one decision log.",12,[198,292,255,293,294],"permissions","limits","governance","2026-08-25",{"path":297,"title":6,"description":298,"group":139,"section":299,"order":22,"tags":300,"lastUpdated":210},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Fagentic-crm","The AgencyCore CRM loop for turning signals and discovery into qualified organization prospects, CRM relationships and outreach.","Agentic products",[11,301,51,302,256,35,303,304,87],"lead-generation","intelligence","signals-search","email-sequence",{"path":306,"title":307,"description":308,"group":139,"section":299,"order":264,"tags":309,"lastUpdated":188},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Fbuilder-chat","Front door builder chat","Conversational authoring for organization-specific Agent and Workflow definitions, entered through the normal Front Door and backed by the existing DefinitionService.",[310,311,246,12,312,313,198],"authoring","definitions","workflows","templates",{"path":315,"title":316,"description":317,"group":139,"section":181,"order":318,"tags":319,"lastUpdated":201},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Fcapability-contracts","Company, People and Signals contracts","The five Phase 7 product capabilities, their bounded inputs, stable references, permissions and results.",21,[320,321,119,51,322],"capabilities","company","contracts",{"path":324,"title":325,"description":326,"group":139,"section":181,"order":327,"tags":328,"lastUpdated":330},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Fcapability-scenarios","Capability design scenarios","Normal, failure and recovery cases for the Phase 7 capability contracts, with implementation owners.",22,[320,329,321,119,51],"validation","2026-09-05",{"path":332,"title":333,"description":334,"group":139,"section":299,"order":233,"tags":335,"lastUpdated":210},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Femail-sequence","Email sequence workflow","Envoy durable outreach for one or many people, with fresh context, approvals, reply waits, follow-ups and Nylas transport.",[336,87,34,142,93,255],"email",{"path":338,"title":339,"description":340,"group":139,"section":299,"order":244,"tags":341,"lastUpdated":188},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Fgeneral-chat","Front door general chat","The default conversational answer path for AgencyCore. It answers from supplied context, cites what it used, asks when context is insufficient, and delegates real work through the normal Front Door.",[24,246,186,184,247,342],"citations",{"path":344,"title":345,"description":346,"group":139,"section":299,"order":222,"tags":347,"lastUpdated":188},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Fhuman-review","Human review inbox","One product page for every agentic action that is paused because a person must authorize an exact proposal. It is a view over the shared approval primitive, not a second review system.",[348,255,349,198,12],"human-review","inbox",{"path":351,"title":352,"description":353,"group":139,"section":299,"order":32,"tags":354,"lastUpdated":259},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Fsignals-search","Signals Search","One bounded discovery workflow that finds companies, verifies signals, finds relevant people, and produces evidence-backed organization prospects without prematurely creating CRM records.",[303,355,36,119,51,302,256,11,35],"discovery",{"path":357,"title":358,"description":359,"group":139,"section":299,"order":360,"tags":361,"lastUpdated":188},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Fworkflow-visualizer","Workflow visualizer","One constrained workflow graph, reused to author a draft, read a published definition, and watch a Run. Build mode edits the draft; run mode overlays Run and span state on the frozen snapshot.",7,[312,362,258,311,217,282,363,255],"visualizer","graph",{"path":365,"title":366,"description":367,"group":139,"section":181,"order":368,"tags":369,"lastUpdated":201},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fruntime\u002Fdefinitions","Runtime definitions","Editable drafts, one published configuration per definition, template forks, deterministic validation, and the Run snapshot that keeps in flight work stable.",8,[149,311,329,370],"publishing",{"path":372,"title":373,"description":374,"group":139,"section":181,"order":375,"tags":376,"lastUpdated":259},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fruntime\u002Fexecution","Runtime execution","The Run record, the Inngest step boundaries, agent segments, workflow nodes, approvals, cancellation, failure handling and live events.",9,[149,217,197,142,255,377,64],"cancellation",{"path":379,"title":380,"description":381,"group":139,"section":181,"order":360,"tags":382,"lastUpdated":285},"\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fruntime","Agentic runtime","One Run contract, one Agno agent runtime, one deterministic workflow model, and the component boundaries that keep the framework replaceable.",[149,217,197,312,207,142],{"path":384,"title":385,"description":386,"group":139,"section":387,"order":244,"tags":388,"lastUpdated":392},"\u002Fengineering\u002Fsystem-design\u002Fmission-control\u002Fcompany-context","Company context","L3. Company state, knowledge and memory are three different things. One deterministic builder turns them into one brief.","Mission Control",[389,390,186,185,184,391,11],"mission-control","company-state","retrieval","2026-08-12",{"path":394,"title":395,"description":396,"group":139,"section":387,"order":22,"tags":397,"lastUpdated":392},"\u002Fengineering\u002Fsystem-design\u002Fmission-control\u002Fexperience","Experience","L6. Where a person observes and controls the company, and the one rule that keeps the UI out of the business.",[389,398,399,255,400],"ui","control-plane","activity",{"path":402,"title":403,"description":404,"group":139,"section":387,"order":222,"tags":405,"lastUpdated":392},"\u002Fengineering\u002Fsystem-design\u002Fmission-control\u002Ffoundation","Foundation","L1. Generic infrastructure with no business logic in it. The test is that another product could run on it unchanged.",[389,406,407,408,267,409,226,209],"infrastructure","database","queue","storage",{"path":411,"title":387,"description":412,"group":139,"section":214,"order":233,"tags":413,"lastUpdated":392},"\u002Fengineering\u002Fsystem-design\u002Fmission-control","The internal Company OS. Six layers and one policy plane put a person in control of company state and of autonomous execution.",[389,414,14,12,312,198,399],"company-os",{"path":416,"title":417,"description":418,"group":139,"section":387,"order":32,"tags":419,"lastUpdated":392},"\u002Fengineering\u002Fsystem-design\u002Fmission-control\u002Fintelligence","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.",[389,12,207,420,421],"planning","reasoning",{"path":423,"title":424,"description":425,"group":139,"section":387,"order":368,"tags":426,"lastUpdated":392},"\u002Fengineering\u002Fsystem-design\u002Fmission-control\u002Fmetrics-and-connectors","Metrics and connectors","A worked example across every layer. Three vendors, one metric pipeline, three views, and the rule that decides what we store.",[389,427,195,428,429,284,430,431],"metrics","stripe","posthog","ingest","dashboards",{"path":433,"title":434,"description":435,"group":139,"section":387,"order":233,"tags":436,"lastUpdated":392},"\u002Fengineering\u002Fsystem-design\u002Fmission-control\u002Forchestration","Orchestration","L4. Workflow, run, step, trigger and event. Five nouns that turn a decision into durable execution.",[389,312,217,266,267,437,438],"durability","retry",{"path":440,"title":288,"description":441,"group":139,"section":387,"order":360,"tags":442,"lastUpdated":392},"\u002Fengineering\u002Fsystem-design\u002Fmission-control\u002Fpolicy-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.",[389,198,294,255,292,293,443],"audit",{"path":445,"title":191,"description":446,"group":139,"section":387,"order":264,"tags":447,"lastUpdated":392},"\u002Fengineering\u002Fsystem-design\u002Fmission-control\u002Ftools-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.",[389,194,195,448,449,450],"adapters","registry","credentials",{"path":452,"title":453,"description":454,"group":139,"section":455,"order":22,"tags":456,"lastUpdated":210},"\u002Fengineering\u002Fsystem-design\u002Fworkflows\u002Fcompany-search","Company search","Implementation notes for company.search. Search resolves and gates company identities; enrichment is a separate capability.","Workflows",[321,457,142,42],"search",{"path":459,"title":31,"description":460,"group":139,"section":455,"order":233,"tags":461,"lastUpdated":210},"\u002Fengineering\u002Fsystem-design\u002Fworkflows\u002Fenrichment","Reusable company and people enrichment workflows with canonical Intelligence write-back, existing tier freshness and bounded asynchronous email.",[35,321,119,142],{"path":463,"title":464,"description":465,"group":139,"section":455,"order":32,"tags":466,"lastUpdated":259},"\u002Fengineering\u002Fsystem-design\u002Fworkflows\u002Fpeople-search","People search","Implementation notes for people.search. Bounded company scope and persona gates return selectable person identities without enrichment.",[119,457,142,100],{"path":468,"title":469,"description":470,"group":139,"section":455,"order":244,"tags":471,"lastUpdated":474},"\u002Fengineering\u002Fsystem-design\u002Fworkflows\u002Fsignals-search","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.",[51,12,142,472,473],"intelligence-databases","superseded","2026-08-28",{"path":476,"title":477,"description":478,"group":479,"section":480,"order":481,"tags":482,"lastUpdated":66},"\u002Flearnings\u002Fagentic-sdlc","The agentic SDLC","How AI agents move from autocomplete to owning the loop across the software lifecycle, and why that shifts the bottleneck from coding to verification.","Learnings",null,30,[12,483,484,485,486],"sdlc","engineering","verification","review",{"path":488,"title":489,"description":490,"group":479,"section":480,"order":491,"tags":492,"lastUpdated":498},"\u002Flearnings\u002Fagi-to-asi","From AGI to ASI","What lies beyond human-level AI. The four technological pathways from AGI to artificial superintelligence, the formal ceiling that bounds them, and the six bottlenecks that could stall the climb - distilled from the DeepMind report.",50,[493,494,495,496,497],"ai-futures","asi","agi","scaling","recursive-self-improvement","2026-06-19",{"path":500,"title":501,"description":502,"group":479,"section":480,"order":503,"tags":504,"lastUpdated":66},"\u002Flearnings\u002Fai-native-company-playbook","AI native company playbook","Why AI should be the operating system your company runs on, not a tool it uses, and the concrete practices that follow - closed loops, a queryable org, software factories, and token maxing.",40,[505,506,12,507,508],"ai-native","company-building","gtm","founders",{"path":510,"title":511,"description":512,"group":479,"section":480,"order":157,"tags":513,"lastUpdated":54},"\u002Flearnings\u002Fbuying-intent-signals","Buying intent signals","How buyers leak their intent before they ever fill in a form, and how to read those signals before the window closes.",[514,51,507,515],"intent","sales",{"path":517,"title":518,"description":519,"group":479,"section":480,"order":520,"tags":521,"lastUpdated":54},"\u002Flearnings\u002Fcold-outbound-system","Cold outbound system","A high-level study of an open-source 29-skill cold email system, organized into five sequential tracks from ICP to iteration.",20,[522,523,507,524],"outbound","cold-email","systems",{"path":526,"title":527,"description":528,"group":479,"section":480,"order":529,"tags":530,"lastUpdated":532},"\u002Flearnings\u002Fswan-gtm-skills-architecture","Swan GTM skills architecture","A research note on Swan AI's foundations and maps model for GTM agents, with ASCII diagrams and ideas AgencyCore can borrow.",60,[507,12,73,531,14],"swan","2026-07-01",{"path":534,"title":535,"description":536,"group":387,"section":480,"order":272,"tags":537,"lastUpdated":43},"\u002Fmission-control\u002Fciops-agent","CIOps agent","High-level system architecture and design notes for the Mission Control CIOps agent.",[389,12,538,14],"ciops",{"path":540,"title":541,"description":542,"group":387,"section":480,"order":182,"tags":543,"lastUpdated":43},"\u002Fmission-control\u002Fcostops-agent","CostOps agent","High-level system architecture and design notes for the Mission Control CostOps agent.",[389,12,544,14],"finops",{"path":546,"title":547,"description":548,"group":387,"section":480,"order":520,"tags":549,"lastUpdated":54},"\u002Fmission-control\u002Fdashboard","Dashboard","The Mission Control product UI - a dark cockpit with a fleet-nav rail, company-state grid, a working escalation queue, live ledger and a global kill switch.",[389,12,550,398],"dashboard",{"path":552,"title":553,"description":554,"group":387,"section":480,"order":280,"tags":555,"lastUpdated":43},"\u002Fmission-control\u002Fproduct-analytics-agent","ProductAnalytics agent","High-level system architecture and design notes for the Mission Control ProductAnalytics agent.",[389,12,556,14],"product-analytics",{"path":558,"title":559,"description":560,"group":387,"section":480,"order":290,"tags":561,"lastUpdated":43},"\u002Fmission-control\u002Frevenueops-agent","RevenueOps agent","High-level system architecture and design notes for the Mission Control RevenueOps agent.",[389,12,562,14],"revops",{"path":564,"title":214,"description":565,"group":387,"section":480,"order":157,"tags":566,"lastUpdated":54},"\u002Fmission-control\u002Fsystem-design","One screen for the whole company, watched by a guardrailed fleet of ops agents that explain, propose, act and learn overnight.",[389,12,544,14],{"path":568,"title":569,"description":570,"group":571,"section":480,"order":32,"tags":572,"lastUpdated":578},"\u002Fproduct-design\u002Fonboarding-flow","Onboarding flow","Product design for the signup wizard and how TAM building folds into it. Analyzes the flow today (account, profile, company), the gap (no ICP, empty dashboard), and the integration of a new \"who you sell to\" ICP step plus a build-and-reveal screen that lands the user on a populated, ranked list.","Product Design",[573,61,574,575,576,577],"onboarding","tam","activation","ux","user-journey","2026-06-11",{"path":580,"title":581,"description":582,"group":571,"section":480,"order":233,"tags":583,"lastUpdated":592},"\u002Fproduct-design\u002Fpricing-entitlements","Pricing tiers, entitlements and usage credits","Specification for subscription tiers with gated platform access: composable plan entitlements, a unified usage-credit currency, plan-sourced limits, per-module trials and a two-ticket delivery plan built on the Stripe billing foundation. Written for discussion; the Linear document is the canonical copy with ticket links.",[584,585,586,587,588,589,590,591],"pricing","entitlements","billing","credits","subscriptions","plans","seats","trials","2026-07-06",{"path":594,"title":595,"description":596,"group":571,"section":480,"order":233,"tags":597,"lastUpdated":578},"\u002Fproduct-design\u002Fsales-signals-ux","Designing Signals","Product design for the sales-signals experience in ac-frontend: the 14-type taxonomy and its color system, the anatomy of a signal card across four densities, the 0-10 lead score scale, the origin tag (sonar pull vs proactive push), the seven surfaces where signals render (launchpad, sonar app, company detail, timeline, activities, data layer, Envoy), and the interaction rules that keep them consistent.",[51,576,598,11,42,599,600,601,602],"design-system","lead-score","origin","pull","push",{"path":604,"title":605,"description":606,"group":607,"section":608,"order":244,"tags":609,"lastUpdated":43},"\u002Fproprietary-data\u002Fcrm\u002Factivities","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.","Proprietary data","CRM",[11,610,611,612,613],"activities","tasks","data-model","schema",{"path":615,"title":616,"description":617,"group":607,"section":608,"order":264,"tags":618,"lastUpdated":43},"\u002Fproprietary-data\u002Fcrm\u002Fcommunications","Communications","Deep dive on crm_communications and crm_communication_events, the unified email\u002Fcall\u002Fmessage log and its per-message engagement tracking — where it is served from, the outbound message lifecycle, and the full schema, relationships and rules.",[11,619,336,620,612],"communications","engagement",{"path":622,"title":623,"description":624,"group":607,"section":608,"order":22,"tags":625,"lastUpdated":43},"\u002Fproprietary-data\u002Fcrm\u002Fcompanies","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.",[11,36,612,613,14],{"path":627,"title":628,"description":629,"group":607,"section":608,"order":233,"tags":630,"lastUpdated":43},"\u002Fproprietary-data\u002Fcrm\u002Fdeals","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.",[11,631,632,612,613],"deals","pipeline",{"path":634,"title":635,"description":636,"group":607,"section":608,"order":222,"tags":637,"lastUpdated":43},"\u002Fproprietary-data\u002Fcrm\u002Flists","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.",[11,638,639,612,613],"lists","segments",{"path":641,"title":642,"description":643,"group":607,"section":608,"order":32,"tags":644,"lastUpdated":43},"\u002Fproprietary-data\u002Fcrm\u002Fpeople","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.",[11,119,645,612,613],"contacts",{"path":647,"title":648,"description":649,"group":607,"section":608,"order":368,"tags":650,"lastUpdated":43},"\u002Fproprietary-data\u002Fcrm\u002Fsaved-filters","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.",[11,651,652,612,613],"saved-filters","views",{"path":654,"title":655,"description":656,"group":607,"section":608,"order":360,"tags":657,"lastUpdated":578},"\u002Fproprietary-data\u002Fcrm\u002Fsignals","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.",[11,51,302,612,613],{"path":659,"title":660,"description":661,"group":607,"section":662,"order":22,"tags":663,"lastUpdated":43},"\u002Fproprietary-data\u002Fintelligence-databases\u002Fcompany-intelligence-database","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.","Intelligence databases",[14,60,36,51,38,664],"eng-669",{"path":666,"title":667,"description":668,"group":607,"section":662,"order":244,"tags":669,"lastUpdated":578},"\u002Fproprietary-data\u002Fintelligence-databases\u002Forg-signal-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.",[14,60,51,670,53,671,672,575,430,601,602,600],"feed","decay","rls",{"path":674,"title":675,"description":676,"group":607,"section":662,"order":32,"tags":677,"lastUpdated":578},"\u002Fproprietary-data\u002Fintelligence-databases\u002Fpeople-intelligence-database","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.",[14,60,119,51,38,100],{"path":679,"title":680,"description":681,"group":607,"section":662,"order":233,"tags":682,"lastUpdated":578},"\u002Fproprietary-data\u002Fintelligence-databases\u002Fsignals-intelligence-database","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.",[14,60,51,683,671,684,670,685,41,601,602],"polymorphic","taxonomy","ingests",{"path":687,"title":688,"description":689,"group":607,"section":480,"order":9,"tags":690,"lastUpdated":16},"\u002Fproprietary-data\u002Foverview","Data Layer Overview","The AgencyCore data layer in one map - the org-scoped CRM plane in production today and the global intelligence plane designed to sit in front of it, with interactive diagrams of both, the end-to-end data flow, freshness and precedence rules, the privacy seam, and the rollout path.",[691,14,60,11,51,38,25,216],"data-layer",{"path":693,"title":694,"description":695,"group":696,"section":480,"order":9,"tags":697,"lastUpdated":54},"\u002Froadmap","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",[698,420],"roadmap",{"path":700,"title":701,"description":702,"group":696,"section":480,"order":22,"tags":703,"lastUpdated":54},"\u002Froadmap\u002Fjuly-2026","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.",[698,420],{"path":705,"title":706,"description":707,"group":696,"section":480,"order":32,"tags":708,"lastUpdated":532},"\u002Froadmap\u002Fjune-2026-slides","Roadmap slides - June 2026","Board-review slide deck for the June 2026 product roadmap, rendered directly from the original PPTX in the docs site.",[698,420,709],"slides",{"path":711,"title":712,"description":713,"group":714,"section":8,"order":520,"tags":715,"lastUpdated":16},"\u002Fsymphony\u002Fagents\u002Fdevops-agent","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.","Symphony",[716,235,717,718,719,720],"symphony","devops","production","runbooks","operations",{"path":722,"title":723,"description":724,"group":714,"section":8,"order":157,"tags":725,"lastUpdated":16},"\u002Fsymphony\u002Fagents\u002Foncall-agent","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.",[716,284,726,727,728,729],"linear","oncall","incident-response","codex",{"path":731,"title":732,"description":733,"group":714,"section":734,"order":157,"tags":735,"lastUpdated":16},"\u002Fsymphony\u002Fhousekeeping\u002Fcodex-vacuum","Codex vacuum","Interactive design for the Symphony housekeeping timer that checkpoints and vacuums Codex sqlite stores on the VPS.","Housekeeping",[716,736,737,729,738,739],"timed-jobs","housekeeping","sqlite","vps",{"path":741,"title":742,"description":743,"group":714,"section":734,"order":481,"tags":744,"lastUpdated":16},"\u002Fsymphony\u002Fhousekeeping\u002Fhost-cleanup","Host cleanup","Interactive design for the Symphony housekeeping timer that removes stale \u002Ftmp debris, vacuums the journal, and optionally cleans the apt package cache.",[716,736,737,739,745,746],"disk","cleanup",{"path":748,"title":749,"description":750,"group":714,"section":734,"order":520,"tags":751,"lastUpdated":16},"\u002Fsymphony\u002Fhousekeeping\u002Fworkspace-cleanup","Workspace cleanup","Interactive design for the Symphony housekeeping timer that prunes idle per-issue workspaces after their TTL.",[716,736,737,752,746,739],"workspaces",{"path":754,"title":755,"description":756,"group":714,"section":480,"order":9,"tags":757,"lastUpdated":66},"\u002Fsymphony","Symphony orchestration","How AgencyCore runs OpenAI Symphony as a long-running daemon that turns Linear tickets into isolated, autonomous Codex runs, reviewed by Claude and merged by humans. High-level workflow, system architecture, and the engineer playbook.",[716,729,726,758,111,739,759,760],"claude-review","qa","automation",{"path":762,"title":763,"description":764,"group":714,"section":214,"order":22,"tags":765,"lastUpdated":392},"\u002Fsymphony\u002Fsystem-design\u002Fhigh-level-design","High-level design","The Symphony daemon end to end — the standing agent workforce and its label-routed workflows, then the runtime that polls, dispatches, runs and writes back.",[716,14,111,12,729,726,766],"systemd",{"path":768,"title":769,"description":770,"group":714,"section":771,"order":503,"tags":772,"lastUpdated":16},"\u002Fsymphony\u002Ftimed-jobs\u002Fdaily-security-agent","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.","Timed jobs",[716,199,736,729,773,774,775],"semgrep","threat-model","ownership",{"path":777,"title":778,"description":779,"group":714,"section":771,"order":481,"tags":780,"lastUpdated":16},"\u002Fsymphony\u002Ftimed-jobs\u002Fdaily-sentry-triage","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.",[716,736,284,209,781,726],"triage",{"path":783,"title":784,"description":785,"group":714,"section":771,"order":157,"tags":786,"lastUpdated":16},"\u002Fsymphony\u002Ftimed-jobs\u002Fnightly-local-staging-e2e","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.",[716,736,787,788,789,790],"e2e","playwright","staging","frontend",{"path":792,"title":793,"description":794,"group":714,"section":771,"order":520,"tags":795,"lastUpdated":16},"\u002Fsymphony\u002Ftimed-jobs\u002Fnightly-staging-qa","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.",[716,736,789,759,796,726],"agent-browser",{"id":798,"title":387,"body":799,"customComponent":480,"description":412,"extension":2119,"group":139,"lastUpdated":392,"meta":2120,"navigation":2121,"order":233,"path":411,"related":2122,"section":214,"seo":2132,"stem":2133,"tags":2134,"__hash__":2135},"docs\u002Fengineering\u002Fsystem-design\u002Fmission-control\u002Findex.md",{"type":800,"value":801,"toc":2105},"minimark",[802,805,817,820,823,828,831,834,845,848,851,895,906,910,980,984,987,992,995,1066,1073,1076,1080,1198,1201,1207,1211,1214,1371,1375,1378,1614,1644,1654,1661,1691,1695,1701,1704,1707,1713,1719,1725,1731,1734,1738,1986,1990,2043,2047,2050,2056,2059,2065,2068,2072,2079,2085,2088,2092],[803,804,387],"h1",{"id":389},[806,807,808,812,813,816],"p",{},[809,810,811],"strong",{},"Status:"," draft for review · ",[809,814,815],{},"Date:"," 2026-08-12",[806,818,819],{},"This is the high-level design. It shows the six layers, the policy plane, and the rules that hold them apart. Each layer has its own page with its components and its detail diagram. This page does not repeat them.",[821,822],"hr",{},[824,825,827],"h2",{"id":826},"_1-what-mission-control-is","1. What Mission Control is",[806,829,830],{},"Mission Control is the internal Company OS. It is the human control plane over company state and over autonomous execution.",[806,832,833],{},"A person uses it to do five things.",[835,836,841],"pre",{"className":837,"code":839,"language":840},[838],"language-text","Observe · Understand · Direct · Approve · Intervene\n","text",[842,843,839],"code",{"__ignoreMap":844},"",[806,846,847],{},"It is not a dashboard. A dashboard shows numbers. Mission Control operates the company through a mix of people, agents, workflows, company data and external systems.",[806,849,850],{},"Three properties set its scope.",[852,853,854,867],"table",{},[855,856,857],"thead",{},[858,859,860,864],"tr",{},[861,862,863],"th",{},"Property",[861,865,866],{},"What it means",[868,869,870,879,887],"tbody",{},[858,871,872,876],{},[873,874,875],"td",{},"Internal only",[873,877,878],{},"Employees use it. No customer reaches it.",[858,880,881,884],{},[873,882,883],{},"Independently deployable",[873,885,886],{},"It ships on its own schedule, and it fails on its own.",[858,888,889,892],{},[873,890,891],{},"Same blueprint, separate stack",[873,893,894],{},"It repeats the layer architecture of the agentic platform. It does not run on it.",[806,896,897,900,901,905],{},[809,898,899],{},"Same blueprint, separate stack."," Mission Control copies the layer model of the ",[902,903,904],"a",{"href":212},"agentic platform",", and shares its vocabulary and its rules. It shares no database, no run table and no deployment. Internal operations must not stop when the customer product stops. A customer must never reach an internal agent. The cost of this decision is real, and it is deliberate: two implementations of the same shape, kept in step by review.",[824,907,909],{"id":908},"_2-principles","2. Principles",[911,912,913,920,926,932,938,944,950,956,962,968,974],"ol",{},[914,915,916,919],"li",{},[809,917,918],{},"One execution substrate."," One run table, one status model, one event stream, one reaper.",[914,921,922,925],{},[809,923,924],{},"Definitions are data, not code."," An agent is a row. A workflow is a row. A tool is a row. A policy is a row.",[914,927,928,931],{},[809,929,930],{},"Intelligence is not execution."," An agent decides. A workflow sequences. A run executes. A trigger starts.",[914,933,934,937],{},[809,935,936],{},"Knowledge is not memory."," Knowledge is what the company knows. Memory is what happened before.",[914,939,940,943],{},[809,941,942],{},"A capability is not its implementation."," A tool is the contract. The service behind it can change.",[914,945,946,949],{},[809,947,948],{},"An agent reaches the world only through a tool."," It holds no credential, and it writes no SQL.",[914,951,952,955],{},[809,953,954],{},"Company state is a first-class primitive."," The CRM is one domain inside it, not the whole of it.",[914,957,958,961],{},[809,959,960],{},"Policy is external to the agent."," An agent must not decide its own authorization.",[914,963,964,967],{},[809,965,966],{},"Human approval is a policy decision."," It is not a branch in agent code.",[914,969,970,973],{},[809,971,972],{},"Dependencies flow down."," A layer knows the layer below it. It never knows the layer above it.",[914,975,976,979],{},[809,977,978],{},"Prefer a declarative specification."," A spec is easier to inspect, to version and to control than code.",[824,981,983],{"id":982},"_3-how-the-system-works","3. How the system works",[806,985,986],{},"Six layers and one plane. Each layer is thin. The design is in how few of them there are, and in what each one refuses to do.",[988,989],"doc-diagram",{"caption":990,"name":991},"Six layers from the human control plane down to the foundation, and one policy plane that applies across L2 to L5. A person enters at the top, a trigger enters at the orchestration layer, and both meet in one run.","mission-control-layers",[806,993,994],{},"One request moves through Mission Control in eleven steps.",[911,996,997,1000,1007,1014,1021,1027,1033,1039,1042,1052,1059],{},[914,998,999],{},"A person writes an instruction in Mission Control, or opens a proposal.",[914,1001,1002,1003,1006],{},"The ",[809,1004,1005],{},"control API"," turns the instruction into one request. The UI runs no business operation.",[914,1008,1009,1010,1013],{},"An ",[809,1011,1012],{},"agent"," reads the intent and the context. It answers, asks a question, or writes a brief.",[914,1015,1016,1017,1020],{},"A brief starts one ",[809,1018,1019],{},"run",", for an agent or for a workflow.",[914,1022,1023,1026],{},[809,1024,1025],{},"Policy"," admits the run. It checks the principal, the agent and the account limits.",[914,1028,1002,1029,1032],{},[809,1030,1031],{},"orchestration layer"," resolves what to run: the agent version, its skills and its tools.",[914,1034,1002,1035,1038],{},[809,1036,1037],{},"context builder"," reads company state, knowledge and memory. It returns one brief.",[914,1040,1041],{},"The run executes. Each step is durable, so a crash resumes rather than restarts.",[914,1043,1044,1045,1048,1049,1051],{},"The agent calls a ",[809,1046,1047],{},"tool"," for anything outside its own context. ",[809,1050,1025],{}," answers allow, deny or require approval.",[914,1053,1054,1055,1058],{},"On require approval the run writes an ",[809,1056,1057],{},"approval"," row and waits. A person decides in the approval center.",[914,1060,1061,1062,1065],{},"The tool writes to ",[809,1063,1064],{},"company state",". Run events stream back to Mission Control.",[806,1067,1068,1069,1072],{},"A ",[809,1070,1071],{},"trigger"," starts the same flow at step 4, with no person. Step 5 still runs.",[806,1074,1075],{},"The run writes back to company state through tools. That is what the next brief reads.",[824,1077,1079],{"id":1078},"_4-the-layers","4. The layers",[852,1081,1082,1098],{},[855,1083,1084],{},[858,1085,1086,1089,1092,1095],{},[861,1087,1088],{},"#",[861,1090,1091],{},"Layer",[861,1093,1094],{},"Job",[861,1096,1097],{},"Page",[868,1099,1100,1114,1128,1142,1156,1170,1184],{},[858,1101,1102,1105,1107,1110],{},[873,1103,1104],{},"L6",[873,1106,395],{},[873,1108,1109],{},"Where a person observes and controls the company",[873,1111,1112],{},[902,1113,395],{"href":394},[858,1115,1116,1119,1121,1124],{},[873,1117,1118],{},"L5",[873,1120,417],{},[873,1122,1123],{},"Decide what to do, and how",[873,1125,1126],{},[902,1127,417],{"href":416},[858,1129,1130,1133,1135,1138],{},[873,1131,1132],{},"L4",[873,1134,434],{},[873,1136,1137],{},"Turn a decision into durable execution",[873,1139,1140],{},[902,1141,434],{"href":433},[858,1143,1144,1147,1149,1152],{},[873,1145,1146],{},"L3",[873,1148,385],{},[873,1150,1151],{},"What the work knows",[873,1153,1154],{},[902,1155,385],{"href":384},[858,1157,1158,1161,1163,1166],{},[873,1159,1160],{},"L2",[873,1162,191],{},[873,1164,1165],{},"The only route to the outside world",[873,1167,1168],{},[902,1169,191],{"href":445},[858,1171,1172,1175,1177,1180],{},[873,1173,1174],{},"L1",[873,1176,403],{},[873,1178,1179],{},"The technical base, with no business logic",[873,1181,1182],{},[902,1183,403],{"href":402},[858,1185,1186,1189,1191,1194],{},[873,1187,1188],{},"—",[873,1190,288],{},[873,1192,1193],{},"What is allowed, under what conditions, and how much",[873,1195,1196],{},[902,1197,288],{"href":440},[806,1199,1200],{},"Policy has no number, because it is not a step in the path. Nothing passes through it. It is asked one question at three points, and it answers in one word.",[806,1202,1203,1204,1206],{},"One more page cuts across every layer. ",[902,1205,424],{"href":423}," is a worked example: three vendors, one metric pipeline, three views, and no new machinery. Read it to see how a feature is supposed to land.",[824,1208,1210],{"id":1209},"_5-core-primitives","5. Core primitives",[806,1212,1213],{},"Fourteen nouns carry the whole system. A reader who knows these knows Mission Control.",[852,1215,1216,1228],{},[855,1217,1218],{},[858,1219,1220,1223,1225],{},[861,1221,1222],{},"Primitive",[861,1224,1091],{},[861,1226,1227],{},"Responsibility",[868,1229,1230,1240,1250,1260,1270,1280,1290,1300,1310,1320,1330,1340,1350,1360],{},[858,1231,1232,1235,1237],{},[873,1233,1234],{},"Agent",[873,1236,1118],{},[873,1238,1239],{},"Decide and reason",[858,1241,1242,1245,1247],{},[873,1243,1244],{},"Skill",[873,1246,1118],{},[873,1248,1249],{},"A reusable procedure an agent loads",[858,1251,1252,1255,1257],{},[873,1253,1254],{},"Workflow",[873,1256,1132],{},[873,1258,1259],{},"An ordered process definition",[858,1261,1262,1265,1267],{},[873,1263,1264],{},"Run",[873,1266,1132],{},[873,1268,1269],{},"One execution of an agent or a workflow",[858,1271,1272,1275,1277],{},[873,1273,1274],{},"Step",[873,1276,1132],{},[873,1278,1279],{},"One durable unit inside a run",[858,1281,1282,1285,1287],{},[873,1283,1284],{},"Trigger",[873,1286,1132],{},[873,1288,1289],{},"The condition that starts a run",[858,1291,1292,1295,1297],{},[873,1293,1294],{},"Event",[873,1296,1132],{},[873,1298,1299],{},"One fact a run emitted",[858,1301,1302,1305,1307],{},[873,1303,1304],{},"Company state",[873,1306,1146],{},[873,1308,1309],{},"The structured state of the business",[858,1311,1312,1315,1317],{},[873,1313,1314],{},"Knowledge",[873,1316,1146],{},[873,1318,1319],{},"Durable information the company holds",[858,1321,1322,1325,1327],{},[873,1323,1324],{},"Memory",[873,1326,1146],{},[873,1328,1329],{},"What happened before, and what was learned",[858,1331,1332,1335,1337],{},[873,1333,1334],{},"Context",[873,1336,1146],{},[873,1338,1339],{},"The brief assembled for one run",[858,1341,1342,1345,1347],{},[873,1343,1344],{},"Tool",[873,1346,1160],{},[873,1348,1349],{},"A capability offered to an agent",[858,1351,1352,1354,1357],{},[873,1353,1025],{},[873,1355,1356],{},"Plane",[873,1358,1359],{},"One rule that decides an action",[858,1361,1362,1365,1368],{},[873,1363,1364],{},"Approval",[873,1366,1367],{},"Plane, L6",[873,1369,1370],{},"One human decision on one action",[824,1372,1374],{"id":1373},"_6-data-model","6. Data model",[806,1376,1377],{},"Eighteen tables carry the platform, plus the company state domain tables. Every definition is a row, so a new agent, workflow, tool or rule is a write and not a deploy.",[852,1379,1380,1392],{},[855,1381,1382],{},[858,1383,1384,1387,1389],{},[861,1385,1386],{},"Table",[861,1388,1091],{},[861,1390,1391],{},"Holds",[868,1393,1394,1405,1416,1427,1438,1450,1461,1473,1485,1497,1509,1520,1532,1544,1556,1567,1579,1590,1602],{},[858,1395,1396,1400,1402],{},[873,1397,1398],{},[842,1399,12],{},[873,1401,1118],{},[873,1403,1404],{},"The versioned agent spec: instructions, model, skills, tools, context policy, budget.",[858,1406,1407,1411,1413],{},[873,1408,1409],{},[842,1410,207],{},[873,1412,1118],{},[873,1414,1415],{},"One reusable procedure, and the tools it needs.",[858,1417,1418,1422,1424],{},[873,1419,1420],{},[842,1421,312],{},[873,1423,1132],{},[873,1425,1426],{},"The versioned ordered steps.",[858,1428,1429,1433,1435],{},[873,1430,1431],{},[842,1432,217],{},[873,1434,1132],{},[873,1436,1437],{},"One execution: input, state, output, error, cost. A workflow run is the parent of its step runs.",[858,1439,1440,1445,1447],{},[873,1441,1442],{},[842,1443,1444],{},"run_events",[873,1446,1132],{},[873,1448,1449],{},"One append-only fact from a run. This is the activity feed and the replay log.",[858,1451,1452,1456,1458],{},[873,1453,1454],{},[842,1455,266],{},[873,1457,1132],{},[873,1459,1460],{},"The start condition: manual, schedule, event, webhook or agent.",[858,1462,1463,1468,1470],{},[873,1464,1465],{},[842,1466,1467],{},"artifacts",[873,1469,1132],{},[873,1471,1472],{},"One file or record a run produced, and the step that produced it.",[858,1474,1475,1480,1482],{},[873,1476,1477],{},[842,1478,1479],{},"documents",[873,1481,1146],{},[873,1483,1484],{},"One durable knowledge document, and its source.",[858,1486,1487,1492,1494],{},[873,1488,1489],{},[842,1490,1491],{},"document_chunks",[873,1493,1146],{},[873,1495,1496],{},"One embedded passage, for retrieval.",[858,1498,1499,1504,1506],{},[873,1500,1501],{},[842,1502,1503],{},"memories",[873,1505,1146],{},[873,1507,1508],{},"One preference or observation, and the run that proposed it.",[858,1510,1511,1515,1517],{},[873,1512,1513],{},[842,1514,194],{},[873,1516,1160],{},[873,1518,1519],{},"The registry: name, schema, kind, binding, scopes, side effect, risk.",[858,1521,1522,1527,1529],{},[873,1523,1524],{},[842,1525,1526],{},"connections",[873,1528,1160],{},[873,1530,1531],{},"One external account, and its vault credential.",[858,1533,1534,1539,1541],{},[873,1535,1536],{},[842,1537,1538],{},"external_refs",[873,1540,1146],{},[873,1542,1543],{},"One mapping: our entity, our id, the connection, the vendor id.",[858,1545,1546,1551,1553],{},[873,1547,1548],{},[842,1549,1550],{},"policies",[873,1552,1356],{},[873,1554,1555],{},"One rule: scope, action, conditions, decision.",[858,1557,1558,1562,1564],{},[873,1559,1560],{},[842,1561,293],{},[873,1563,1356],{},[873,1565,1566],{},"One ceiling: scope, metric, window, value.",[858,1568,1569,1574,1576],{},[873,1570,1571],{},[842,1572,1573],{},"policy_decisions",[873,1575,1356],{},[873,1577,1578],{},"One evaluation: principal, action, matched policy, decision.",[858,1580,1581,1585,1587],{},[873,1582,1583],{},[842,1584,255],{},[873,1586,1356],{},[873,1588,1589],{},"One pending human decision, its TTL and its outcome.",[858,1591,1592,1597,1599],{},[873,1593,1594],{},[842,1595,1596],{},"users",[873,1598,1174],{},[873,1600,1601],{},"One employee, and the roles that set what they may do.",[858,1603,1604,1609,1611],{},[873,1605,1606],{},[842,1607,1608],{},"secrets",[873,1610,1174],{},[873,1612,1613],{},"One credential reference. The value lives in the vault, never in a row.",[806,1615,1616,1617,1619,1620,1619,1622,1619,1625,1619,1628,1619,1630,1619,1633,1619,1635,1619,1637,1640,1641,1643],{},"Company state adds one table for each business entity: ",[842,1618,36],{},", ",[842,1621,119],{},[842,1623,1624],{},"opportunities",[842,1626,1627],{},"projects",[842,1629,611],{},[842,1631,1632],{},"goals",[842,1634,427],{},[842,1636,610],{},[842,1638,1639],{},"decisions",". Each one has exactly one owning domain. See ",[902,1642,385],{"href":384},".",[806,1645,1646,1648,1649,1651,1652,1643],{},[842,1647,427],{}," and ",[842,1650,1538],{}," carry every external number and every vendor id, whatever the source. Their shape is on ",[902,1653,424],{"href":423},[806,1655,1656,1657,1660],{},"Three tables that do ",[809,1658,1659],{},"not"," exist are as important as the ones that do.",[1662,1663,1664,1670,1681],"ul",{},[914,1665,1666,1669],{},[809,1667,1668],{},"No permission table."," An agent's permission surface is its tool list and its scopes. A person's rights are their roles. The plane computes the intersection, and stores neither side.",[914,1671,1672,1675,1676,1648,1678,1680],{},[809,1673,1674],{},"No audit table."," ",[842,1677,1444],{},[842,1679,1573],{}," are the audit trail. A third copy would drift.",[914,1682,1683,1686,1687,1648,1689,1643],{},[809,1684,1685],{},"No working memory table."," Working memory is the run. Episodic memory is a query over ",[842,1688,217],{},[842,1690,1444],{},[824,1692,1694],{"id":1693},"_7-dependency-rules","7. Dependency rules",[835,1696,1699],{"className":1697,"code":1698,"language":840},[838],"L6 Experience\n   ↓\nL5 Intelligence\n   ↓\nL4 Orchestration\n   ↓\nL3 Company context\n   ↓\nL2 Tools and integrations\n   ↓\nL1 Foundation\n",[842,1700,1698],{"__ignoreMap":844},[806,1702,1703],{},"A layer calls the layers below it, and not only the adjacent one. A workflow step at L4 calls a tool at L2 with no agent in the path. A lower layer never calls a higher one. It emits an event instead, and something above it listens.",[806,1705,1706],{},"Two consequences carry most of the value.",[806,1708,1709,1712],{},[809,1710,1711],{},"An agent knows no infrastructure."," It does not know PostgreSQL, Redis, a Slack SDK, an HTTP controller or a UI component. It knows a tool.",[835,1714,1717],{"className":1715,"code":1716,"language":840},[838],"Agent → Tool → Service → Infrastructure\n",[842,1718,1716],{"__ignoreMap":844},[806,1720,1721,1724],{},[809,1722,1723],{},"The UI mutates nothing directly."," Every change of state passes through the control API and lands as a run or a record write.",[835,1726,1729],{"className":1727,"code":1728,"language":840},[838],"UI → Control API → Agent, workflow or run → Tool → Company state\n",[842,1730,1728],{"__ignoreMap":844},[806,1732,1733],{},"There is one deliberate exception. The context builder reads company state, knowledge and memory directly, because it is deterministic infrastructure and not a capability an agent chooses. Both paths obey the same row-level security.",[824,1735,1737],{"id":1736},"_8-key-decisions","8. Key decisions",[852,1739,1740,1755],{},[855,1741,1742],{},[858,1743,1744,1746,1749,1752],{},[861,1745,1088],{},[861,1747,1748],{},"Decision",[861,1750,1751],{},"Why",[861,1753,1754],{},"What would change it",[868,1756,1757,1771,1785,1799,1813,1827,1841,1855,1869,1883,1897,1911,1925,1938,1951,1968],{},[858,1758,1759,1762,1765,1768],{},[873,1760,1761],{},"D1",[873,1763,1764],{},"Mission Control is a separate stack from the agentic platform, on the same blueprint",[873,1766,1767],{},"Internal operations must survive a customer-product outage, and a customer must never reach an internal agent",[873,1769,1770],{},"The cost of two implementations exceeding the cost of a hard tenancy boundary inside one platform",[858,1772,1773,1776,1779,1782],{},[873,1774,1775],{},"D2",[873,1777,1778],{},"Agents, workflows, tools and policies live in the database, not in code",[873,1780,1781],{},"A new agent must be a write, not a deploy. Versioning, inspection and rollback come free",[873,1783,1784],{},"Authorship that stays engineer-only forever",[858,1786,1787,1790,1793,1796],{},[873,1788,1789],{},"D3",[873,1791,1792],{},"One run table for agent runs and workflow runs. A workflow run is the parent of its step runs",[873,1794,1795],{},"Two run tables means two status models, two reapers and two activity feeds",[873,1797,1798],{},"A workflow step whose shape a run row cannot carry",[858,1800,1801,1804,1807,1810],{},[873,1802,1803],{},"D4",[873,1805,1806],{},"One agentic hop. An agent calls a workflow, and a workflow calls steps. An agent does not call an agent",[873,1808,1809],{},"Routing errors multiply through nested reasoning chains",[873,1811,1812],{},"An agent that must fan out, which it does to runs, not to other agents",[858,1814,1815,1818,1821,1824],{},[873,1816,1817],{},"D5",[873,1819,1820],{},"A workflow is a first-class definition of ordered steps, not a compiled agent",[873,1822,1823],{},"Sequence, parallel branch, retry, wait, approval and schedule are what real processes need",[873,1825,1826],{},"Agents becoming reliable enough that a fixed order adds nothing",[858,1828,1829,1832,1835,1838],{},[873,1830,1831],{},"D6",[873,1833,1834],{},"The tool is the only route to the world, and it is the policy boundary",[873,1836,1837],{},"It is also the audit line and the place a service change is absorbed",[873,1839,1840],{},"Nothing. This is the containment story",[858,1842,1843,1846,1849,1852],{},[873,1844,1845],{},"D7",[873,1847,1848],{},"Company state is one model with many domains. The CRM is one of them",[873,1850,1851],{},"A CRM-shaped company model cannot hold a goal, a project or a decision",[873,1853,1854],{},"Nothing",[858,1856,1857,1860,1863,1866],{},[873,1858,1859],{},"D8",[873,1861,1862],{},"The CRM beats knowledge, and knowledge beats memory, on a conflict",[873,1864,1865],{},"Without an order, three stores disagree and the agent picks the one that reads best",[873,1867,1868],{},"Nothing. A system with no precedence rule has three sources of truth",[858,1870,1871,1874,1877,1880],{},[873,1872,1873],{},"D9",[873,1875,1876],{},"The context builder is deterministic, and a context policy on the agent row drives it",[873,1878,1879],{},"An agent that chooses what to retrieve is a second hop, which D4 forbids",[873,1881,1882],{},"Retrieval quality a fixed policy cannot reach. Then a ranking model inside one step, still not a hop",[858,1884,1885,1888,1891,1894],{},[873,1886,1887],{},"D10",[873,1889,1890],{},"Policy is a plane consulted at three checkpoints, not a layer in the path",[873,1892,1893],{},"A check only at the start is bypassed by reaching the same action on a later turn",[873,1895,1896],{},"A measurement showing the per-call check costs more than it prevents",[858,1898,1899,1902,1905,1908],{},[873,1900,1901],{},"D11",[873,1903,1904],{},"The decision set is closed at allow, deny and require approval",[873,1906,1907],{},"An open set becomes a rules language, and a rules language is new infrastructure",[873,1909,1910],{},"A real case that none of the three, plus a condition on the arguments, can express",[858,1912,1913,1916,1919,1922],{},[873,1914,1915],{},"D12",[873,1917,1918],{},"A policy binds to an action, not to an agent",[873,1920,1921],{},"Per-agent rules are the fragmentation the plane exists to remove",[873,1923,1924],{},"Nothing. An agent scope is already available as a narrowing",[858,1926,1927,1930,1933,1936],{},[873,1928,1929],{},"D13",[873,1931,1932],{},"An approval cannot grant a permission the approver does not hold",[873,1934,1935],{},"Otherwise approval is a privilege escalation path",[873,1937,1854],{},[858,1939,1940,1943,1946,1949],{},[873,1941,1942],{},"D14",[873,1944,1945],{},"The UI executes no business operation",[873,1947,1948],{},"A UI that writes directly bypasses policy, audit and the run record in one step",[873,1950,1854],{},[858,1952,1953,1956,1962,1965],{},[873,1954,1955],{},"D15",[873,1957,1958,1959,1961],{},"An external number is stored as a ",[842,1960,427],{}," row. An external record detail is never stored, and is read live",[873,1963,1964],{},"A stored number is company state, so a trigger can fire on it and an agent can reason over it. A stored record is a mirror of a vendor's model that goes stale",[873,1966,1967],{},"A number so large or so fast that storing it costs more than the trigger is worth",[858,1969,1970,1973,1980,1983],{},[873,1971,1972],{},"D16",[873,1974,1975,1976,1979],{},"A tool is called by an agent ",[809,1977,1978],{},"or"," by a workflow step. A deterministic pipeline calls tools with no model in the path",[873,1981,1982],{},"Ingest needs the adapter, the credential and the audit line, and none of that needs reasoning",[873,1984,1985],{},"Nothing. A model in an ingest pipeline is cost with no decision",[824,1987,1989],{"id":1988},"_9-not-building","9. Not building",[1662,1991,1992,1995,1998,2001,2004,2007,2010,2013,2016,2019,2022,2025,2028,2031,2034,2037,2040],{},[914,1993,1994],{},"A second orchestration engine. A workflow step is a durable step on the engine we already run.",[914,1996,1997],{},"A second run table.",[914,1999,2000],{},"A pause and resume checkpointer of our own.",[914,2002,2003],{},"Agent hierarchies deeper than one hop.",[914,2005,2006],{},"A general policy language, or a fourth decision beyond allow, deny and require approval.",[914,2008,2009],{},"A permission table.",[914,2011,2012],{},"A separate audit store.",[914,2014,2015],{},"A store for working memory or for episodic memory.",[914,2017,2018],{},"A knowledge graph. Company state is the entity model.",[914,2020,2021],{},"A retrieval agent. The context builder is deterministic.",[914,2023,2024],{},"A vector database. The vector index is an extension of the database we already run.",[914,2026,2027],{},"Direct database access for an agent, in any form.",[914,2029,2030],{},"Raw REST routes exposed to a model.",[914,2032,2033],{},"Business logic in the foundation layer.",[914,2035,2036],{},"An analytics product. We store the numbers the company is operated on, and we link out for the rest.",[914,2038,2039],{},"A mirror of a vendor's object model. We map a vendor id, and we store no vendor record.",[914,2041,2042],{},"A dashboard per data source. A source is a connector, and a dashboard is the Company view, filtered.",[824,2044,2046],{"id":2045},"_10-end-to-end-example","10. End-to-end example",[806,2048,2049],{},"The instruction is one sentence.",[2051,2052,2053],"blockquote",{},[806,2054,2055],{},"Find promising companies, enrich them, and add the qualified ones to the CRM.",[806,2057,2058],{},"The path is eleven hops, and every one of them is a primitive from section 5.",[835,2060,2063],{"className":2061,"code":2062,"language":840},[838],"Person\n  → Mission Control            L6  the instruction becomes one request\n  → Agent                      L5  read the intent, write a plan\n  → Workflow                   L4  four ordered steps\n      ├── Research             L4  step run, calls the web search tool\n      ├── Enrichment           L4  step run, calls the company data tool\n      ├── Qualification        L5  step run, agent reasoning, no tool\n      └── CRM update           L2  step run, calls the CRM tool\n  → Policy                     ··  allow, or require approval\n      └── Approval             L6  a person decides in the approval center\n  → CRM tool                   L2  the write happens once, and it is idempotent\n  → Company state              L3  the record changes\n  → Run events                 L4  the change appears in Mission Control\n",[842,2064,2062],{"__ignoreMap":844},[806,2066,2067],{},"Nothing in this path is specific to prospecting. Change the four steps and the same machinery runs a hiring loop, a monthly close or an incident review.",[824,2069,2071],{"id":2070},"_11-what-comes-next","11. What comes next",[806,2073,2074,2075,2078],{},"The layers are settled. The ",[809,2076,2077],{},"contracts between them"," are not, and they decide whether the system stays modular.",[835,2080,2083],{"className":2081,"code":2082,"language":840},[838],"Agent → Workflow → Run → Context → Policy → Tool → Company state\n",[842,2084,2082],{"__ignoreMap":844},[806,2086,2087],{},"Each arrow is a schema that two layers must agree on. Each layer page ends with the open questions for its own arrow.",[824,2089,2091],{"id":2090},"_12-references","12. References",[1662,2093,2094,2099],{},[914,2095,2096,2098],{},[902,2097,181],{"href":212}," — the customer-facing system on the same blueprint",[914,2100,2101,2104],{},[902,2102,2103],{"href":564},"Mission Control product design"," — the product surface and the ops agent fleet",{"title":844,"searchDepth":32,"depth":233,"links":2106},[2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118],{"id":826,"depth":32,"text":827},{"id":908,"depth":32,"text":909},{"id":982,"depth":32,"text":983},{"id":1078,"depth":32,"text":1079},{"id":1209,"depth":32,"text":1210},{"id":1373,"depth":32,"text":1374},{"id":1693,"depth":32,"text":1694},{"id":1736,"depth":32,"text":1737},{"id":1988,"depth":32,"text":1989},{"id":2045,"depth":32,"text":2046},{"id":2070,"depth":32,"text":2071},{"id":2090,"depth":32,"text":2091},"md",{},true,[2123,2124,2125,2126,2127,2128,2129,2130,2131],"engineering\u002Fsystem-design\u002Fmission-control\u002Fexperience","engineering\u002Fsystem-design\u002Fmission-control\u002Fintelligence","engineering\u002Fsystem-design\u002Fmission-control\u002Forchestration","engineering\u002Fsystem-design\u002Fmission-control\u002Fcompany-context","engineering\u002Fsystem-design\u002Fmission-control\u002Ftools-and-integrations","engineering\u002Fsystem-design\u002Fmission-control\u002Ffoundation","engineering\u002Fsystem-design\u002Fmission-control\u002Fpolicy-and-governance","engineering\u002Fsystem-design\u002Fmission-control\u002Fmetrics-and-connectors","engineering\u002Fsystem-design\u002Fagentic-platform",{"title":387,"description":412},"engineering\u002Fsystem-design\u002Fmission-control\u002Findex",[389,414,14,12,312,198,399],"UeayJOLozIxoRyO8s1ITxY4SOC9SuQ4HGYTzASu9dQs",1788650190087]