[{"data":1,"prerenderedAt":2180},["ShallowReactive",2],{"docs-nav":3,"docs-article-engineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Fgeneral-chat":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":339,"body":799,"customComponent":480,"description":340,"extension":2168,"group":139,"lastUpdated":188,"meta":2169,"navigation":2170,"order":244,"path":338,"related":2171,"section":299,"seo":2176,"stem":2177,"tags":2178,"__hash__":2179},"docs\u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Fgeneral-chat.md",{"type":800,"value":801,"toc":2137},"minimark",[802,806,810,816,819,824,826,831,834,837,845,856,867,872,875,909,916,924,928,931,934,954,957,961,964,970,976,982,985,989,992,1095,1102,1105,1109,1112,1118,1121,1203,1206,1210,1213,1218,1224,1227,1231,1237,1240,1244,1250,1253,1257,1263,1266,1270,1273,1279,1282,1288,1291,1313,1316,1320,1323,1329,1336,1342,1345,1351,1354,1358,1363,1392,1395,1397,1420,1426,1430,1433,1503,1506,1510,1616,1619,1623,1627,1633,1637,1643,1647,1653,1657,1663,1667,1670,1731,1734,1738,1741,1747,1750,1753,1806,1809,1813,1816,1893,1896,1900,1903,1906,1932,1935,1939,2017,2021,2083,2087,2133],[803,804,339],"h1",{"id":805},"front-door-general-chat",[807,808,809],"p",{},"AgencyCore chat is the user's front door. A person may ask:",[811,812,813],"blockquote",{},[807,814,815],{},"\"What can AgencyCore do with this company?\"",[807,817,818],{},"or:",[811,820,821],{},[807,822,823],{},"\"Why did the prospect search stop?\"",[807,825,818],{},[811,827,828],{},[807,829,830],{},"\"What is lifecycle stage?\"",[807,832,833],{},"Those are not all task requests. Some are product questions, some are questions about live or past Runs, some are follow-ups on scoped business entities, and some are requests to start work. The Front Door must handle that breadth without becoming a second runtime.",[807,835,836],{},"The rule is:",[811,838,839],{},[807,840,841],{},[842,843,844],"strong",{},"General chat answers from supplied context, or it asks, delegates, or controls a Run.",[846,847,853],"pre",{"className":848,"code":850,"language":851,"meta":852},[849],"language-text","User message\n    |\n    v\nFront Door\n    +-- conversation context\n    +-- entities in scope\n    +-- run history\n    +-- platform and organization knowledge\n    +-- capability shortlist\n            |\n            v\n    answer \u002F clarify \u002F delegate \u002F control_run\n","text","",[854,855,850],"code",{"__ignoreMap":852},[807,857,858,859,862,863,866],{},"No new Front Door outcome is required. General chat is the product contract for the ",[854,860,861],{},"answer"," and ",[854,864,865],{},"clarify"," paths, plus the routing discipline that keeps work in delegated Agents and Workflows.",[868,869,871],"h2",{"id":870},"what-the-feature-owns","What the feature owns",[807,873,874],{},"General chat owns the everyday conversational experience before a specialized capability takes over:",[876,877,878,882,885,888,891,894,897,900,903,906],"ul",{},[879,880,881],"li",{},"build the right bounded context for the user's question;",[879,883,884],{},"answer product and platform questions from retrieved knowledge;",[879,886,887],{},"answer questions about scoped business entities from application context;",[879,889,890],{},"summarize live and recent Runs from run history;",[879,892,893],{},"resolve conversational follow-ups such as \"this company\" through entity scope;",[879,895,896],{},"cite the records, documents or Runs that support a factual answer;",[879,898,899],{},"ask one focused question when the user intent or reference is ambiguous;",[879,901,902],{},"explain when the platform lacks enough context or capability;",[879,904,905],{},"delegate work requests to one published Agent or Workflow;",[879,907,908],{},"control a live Run when the user clearly asks to stop it.",[807,910,911,912,915],{},"It does ",[842,913,914],{},"not"," own deep research, CRM exploration, email search, web browsing, tool execution, workflow steps, policy, approval rules, memory writes, trigger scheduling or definition authoring.",[807,917,918,919,923],{},"The ",[920,921,922],"a",{"href":306},"front door builder chat"," is still a delegated specialized Agent. General chat may route authoring intent to it, but it does not create or patch definitions itself.",[868,925,927],{"id":926},"phase-6-focus","Phase 6 focus",[807,929,930],{},"Phase 6 is not the final chat product. It is the slice that makes chat dependable as the default entry point.",[807,932,933],{},"The focus is:",[876,935,936,939,942,945,948,951],{},[879,937,938],{},"high-quality context assembly for general chat;",[879,940,941],{},"evaluation against real question scenarios;",[879,943,944],{},"missing knowledge and read capabilities for CRM, workflows and agents;",[879,946,947],{},"broad question generation for test coverage;",[879,949,950],{},"stress testing the chat flow for stability and latency;",[879,952,953],{},"useful progress messages while the user waits.",[807,955,956],{},"The UI should follow the existing chat experience. Phase 6 should not redesign chat chrome, message layout, navigation or source rendering. Any source affordance should fit the current message model and can be replaced later with the full chat redesign.",[868,958,960],{"id":959},"why-this-is-not-more-task-logic","Why this is not more task logic",[807,962,963],{},"The Front Door already has the correct closed set:",[846,965,968],{"className":966,"code":967,"language":851,"meta":852},[849],"answer(text)\nclarify(question)\ndelegate(capability_id, input)\ncontrol_run(run_id, action)\n",[854,969,967],{"__ignoreMap":852},[807,971,972,973,975],{},"General chat makes ",[854,974,861],{}," useful. It does not widen what the Front Door may do.",[846,977,980],{"className":978,"code":979,"language":851,"meta":852},[849],"\"What does lifecycle mean?\"\n        |\n        v\nanswer from platform knowledge\n\n\"Find fintech companies hiring a head of growth.\"\n        |\n        v\ndelegate(Signals Search, original message)\n\n\"Add a human review step to the workflow.\"\n        |\n        v\ndelegate(Definition Builder, authoring brief)\n",[854,981,979],{"__ignoreMap":852},[807,983,984],{},"A general answer is a conversational product result. A delegated Run is execution. The distinction stays visible in both state and UI.",[868,986,988],{"id":987},"context-sources","Context sources",[807,990,991],{},"Phase 5 enables the web chat surface and the thin Front Door. Phase 6 should make that Front Door useful as the actual front door by adding the missing context sources and entity scope.",[993,994,995,1011],"table",{},[996,997,998],"thead",{},[999,1000,1001,1005,1008],"tr",{},[1002,1003,1004],"th",{},"Source",[1002,1006,1007],{},"Answers",[1002,1009,1010],{},"Boundary",[1012,1013,1014,1028,1045,1058,1071,1083],"tbody",{},[999,1015,1016,1022,1025],{},[1017,1018,1019],"td",{},[854,1020,1021],{},"conversation",[1017,1023,1024],{},"What did we just discuss?",[1017,1026,1027],{},"Recent messages and summary only.",[999,1029,1030,1035,1038],{},[1017,1031,1032],{},[854,1033,1034],{},"entity_scope",[1017,1036,1037],{},"What does \"this company\", \"that run\" or \"the draft\" refer to?",[1017,1039,1040,1041,1044],{},"Conversation-scoped ",[854,1042,1043],{},"ResourceRef","s.",[999,1046,1047,1052,1055],{},[1017,1048,1049],{},[854,1050,1051],{},"application",[1017,1053,1054],{},"What is true about an already-scoped CRM\u002Fproduct entity?",[1017,1056,1057],{},"Scoped projections only, no search.",[999,1059,1060,1065,1068],{},[1017,1061,1062],{},[854,1063,1064],{},"run_history",[1017,1066,1067],{},"What happened with recent or active work?",[1017,1069,1070],{},"Root\u002Fchild Run summaries and refs, not span trees.",[999,1072,1073,1077,1080],{},[1017,1074,1075],{},[854,1076,186],{},[1017,1078,1079],{},"What do AgencyCore docs or organization docs say?",[1017,1081,1082],{},"Bounded retrieval over ready chunks.",[999,1084,1085,1089,1092],{},[1017,1086,1087],{},[854,1088,185],{},[1017,1090,1091],{},"What preferences or observations should shape the answer?",[1017,1093,1094],{},"User or agent memory, never authority for live facts.",[807,1096,1097,1098,1101],{},"The ContextBuilder owns retrieval. The model receives a bounded ",[854,1099,1100],{},"ContextBrief","; it does not call search tools from the Front Door.",[807,1103,1104],{},"Fresh exploration remains delegated. If the user asks \"which companies match this ICP?\", the Front Door does not run a CRM or web search. It delegates to the appropriate capability.",[868,1106,1108],{"id":1107},"context-evaluation","Context evaluation",[807,1110,1111],{},"The success of general chat depends more on context quality than on prompt wording. Phase 6 should evaluate the context builder against use cases before tuning the model.",[846,1113,1116],{"className":1114,"code":1115,"language":851,"meta":852},[849],"Question scenario\n    |\n    v\nExpected context ingredients\n    |\n    v\nContextBuilder policy and source retrieval\n    |\n    v\nPacked ContextBrief\n    |\n    v\nFront Door outcome\n    |\n    v\nAnswer, clarify, delegate or control_run\n",[854,1117,1115],{"__ignoreMap":852},[807,1119,1120],{},"Each scenario should record:",[993,1122,1123,1133],{},[996,1124,1125],{},[999,1126,1127,1130],{},[1002,1128,1129],{},"Field",[1002,1131,1132],{},"Purpose",[1012,1134,1135,1143,1163,1171,1179,1187,1195],{},[999,1136,1137,1140],{},[1017,1138,1139],{},"User question",[1017,1141,1142],{},"The exact phrasing to test.",[999,1144,1145,1148],{},[1017,1146,1147],{},"Expected outcome",[1017,1149,1150,1152,1153,1152,1155,1158,1159,1162],{},[854,1151,861],{},", ",[854,1154,865],{},[854,1156,1157],{},"delegate"," or ",[854,1160,1161],{},"control_run",".",[999,1164,1165,1168],{},[1017,1166,1167],{},"Required sources",[1017,1169,1170],{},"Which context sources must appear.",[999,1172,1173,1176],{},[1017,1174,1175],{},"Forbidden sources",[1017,1177,1178],{},"Sources that would imply task work or over-retrieval.",[999,1180,1181,1184],{},[1017,1182,1183],{},"Required citations",[1017,1185,1186],{},"Refs the answer must cite when it makes factual claims.",[999,1188,1189,1192],{},[1017,1190,1191],{},"Latency target",[1017,1193,1194],{},"Whether this should feel instant or show progress.",[999,1196,1197,1200],{},[1017,1198,1199],{},"Failure expectation",[1017,1201,1202],{},"What the system should say when context is missing.",[807,1204,1205],{},"Evaluation should include both positive and negative cases. A good result is not only \"the answer is right\"; it is also \"the Front Door did not search, execute or guess.\"",[868,1207,1209],{"id":1208},"initial-question-set","Initial question set",[807,1211,1212],{},"Phase 6 should generate and test a large library of user questions. The first scope is CRM, workflows and agents.",[1214,1215,1217],"h3",{"id":1216},"crm-questions","CRM questions",[846,1219,1222],{"className":1220,"code":1221,"language":851,"meta":852},[849],"What does lifecycle stage mean?\nWhy is this company marked as a prospect?\nWhat changed on this company recently?\nWho owns this deal?\nWhy is this prospect waiting for review?\nWhat evidence supports this opportunity score?\nShow me the last activity on this company.\nWhy did this company stop matching our ICP?\nCan I promote this prospect to CRM?\nFind more companies like this one.\n",[854,1223,1221],{"__ignoreMap":852},[807,1225,1226],{},"Most CRM explanation questions should answer from scoped application context and knowledge. Discovery questions such as \"find more companies\" should delegate.",[1214,1228,1230],{"id":1229},"workflow-questions","Workflow questions",[846,1232,1235],{"className":1233,"code":1234,"language":851,"meta":852},[849],"What steps does Signals Search run?\nWhy is this workflow waiting?\nWhat happens after the approval step?\nCan I change this workflow to add human review?\nWhich workflow should I use for outreach?\nWhy did this workflow fail?\nWhat data does this workflow write?\nRun this workflow every Monday.\nStop that workflow run.\n",[854,1236,1234],{"__ignoreMap":852},[807,1238,1239],{},"Definition and behaviour questions should answer from knowledge and definition summaries. Authoring questions should delegate to Builder Chat. Trigger questions should route to trigger configuration when that capability exists.",[1214,1241,1243],{"id":1242},"agent-questions","Agent questions",[846,1245,1248],{"className":1246,"code":1247,"language":851,"meta":852},[849],"What agents can I use?\nWhat does the Definition Builder do?\nWhich tools can this agent use?\nWhy did this agent ask for approval?\nWhat memory does this agent keep?\nCreate an agent that qualifies inbound leads.\nCan this agent send email?\nWhy did the agent stop?\nChange the running agent's instructions.\n",[854,1249,1247],{"__ignoreMap":852},[807,1251,1252],{},"Capability questions can answer from the capability index and platform knowledge, but the capability index is not evidence for factual product behaviour. Authoring requests delegate. Live steering still clarifies or explains cancel plus restart.",[1214,1254,1256],{"id":1255},"general-platform-questions","General platform questions",[846,1258,1261],{"className":1259,"code":1260,"language":851,"meta":852},[849],"What can AgencyCore do?\nHow is chat different from running a workflow?\nWhat does approval mean?\nWhere do citations come from?\nWhy can you not answer this from chat?\nWhat should I upload so you can answer this?\n",[854,1262,1260],{"__ignoreMap":852},[807,1264,1265],{},"These should answer from platform knowledge. If the relevant docs are not ingested, the answer should name the missing knowledge instead of guessing.",[868,1267,1269],{"id":1268},"entity-scope","Entity scope",[807,1271,1272],{},"General chat needs a durable way to resolve follow-ups.",[846,1274,1277],{"className":1275,"code":1276,"language":851,"meta":852},[849],"Run result returns ResourceRefs\n        |\n        v\nconversation stores entities in scope\n        |\n        v\nnext Front Door turn carries those refs\n        |\n        v\nApplicationContextSource resolves only those refs\n",[854,1278,1276],{"__ignoreMap":852},[807,1280,1281],{},"The conversation should store a small ordered set of scoped entities:",[846,1283,1286],{"className":1284,"code":1285,"language":851,"meta":852},[849],"agent.conversation_entities\n  conversation_id\n  kind\n  resource_id\n  label\n  introduced_by_message_id\n  last_referenced_at\n",[854,1287,1285],{"__ignoreMap":852},[807,1289,1290],{},"Rules:",[876,1292,1293,1296,1299,1302,1307,1310],{},[879,1294,1295],{},"Entity scope is a pointer set, not a knowledge store.",[879,1297,1298],{},"A Run result, an assistant answer or an explicit user mention may add a ref.",[879,1300,1301],{},"An exact, unambiguous relevant ref resolves \"this\" or \"that\".",[879,1303,1304,1305,1162],{},"If more than one ref fits, the Front Door returns ",[854,1306,865],{},[879,1308,1309],{},"The source still resolves every ref through the normal scoped reader.",[879,1311,1312],{},"Losing the pointer loses convenience, not data.",[807,1314,1315],{},"Builder Chat uses the same mechanism for active definition drafts. No authoring-session table is needed.",[868,1317,1319],{"id":1318},"knowledge-backed-answers","Knowledge-backed answers",[807,1321,1322],{},"Platform documentation is the main source for product questions:",[846,1324,1327],{"className":1325,"code":1326,"language":851,"meta":852},[849],"docs page\n  -> extract text\n  -> chunk\n  -> embed\n  -> agent.knowledge_sources(scope = platform)\n  -> agent.knowledge_chunks\n  -> ContextBuilder knowledge source\n  -> Front Door answer\n",[854,1328,1326],{"__ignoreMap":852},[807,1330,1331,1332,1335],{},"An organization document uses the same tables with ",[854,1333,1334],{},"organization_id"," set. The Front Door may read only sources visible to the actor's organization.",[807,1337,1338,1339,1162],{},"Knowledge retrieval is not live web search. It answers from documents AgencyCore has ingested and marked ",[854,1340,1341],{},"ready",[807,1343,1344],{},"Every factual answer from knowledge should carry source refs:",[846,1346,1349],{"className":1347,"code":1348,"language":851,"meta":852},[849],"Knowledge source: \u002Fengineering\u002Fsystem-design\u002Fagentic-platform\u002Finterfaces\u002Ffront-door\nChunk: 12\nClaim: The Front Door selects one Agent or Workflow and never executes work itself.\n",[854,1350,1348],{"__ignoreMap":852},[807,1352,1353],{},"The UI may render those refs as source chips or footnotes. The storage requirement is simpler: the assistant message records the refs it used so an answer can be audited later.",[868,1355,1357],{"id":1356},"answer-contract","Answer contract",[807,1359,1360,1362],{},[854,1361,861],{}," remains one Front Door outcome, but Phase 6 should make its payload structured enough to audit.",[846,1364,1368],{"className":1365,"code":1366,"language":1367,"meta":852,"style":852},"language-python shiki shiki-themes github-dark","class FrontDoorAnswer(BaseModel):\n    text: str\n    citations: list[ResourceRef] = []\n    unresolved: list[str] = []\n","python",[854,1369,1370,1377,1382,1387],{"__ignoreMap":852},[1371,1372,1374],"span",{"class":1373,"line":22},"line",[1371,1375,1376],{},"class FrontDoorAnswer(BaseModel):\n",[1371,1378,1379],{"class":1373,"line":32},[1371,1380,1381],{},"    text: str\n",[1371,1383,1384],{"class":1373,"line":233},[1371,1385,1386],{},"    citations: list[ResourceRef] = []\n",[1371,1388,1389],{"class":1373,"line":244},[1371,1390,1391],{},"    unresolved: list[str] = []\n",[807,1393,1394],{},"The user-visible text is still plain chat. The extra fields are for rendering, audit and tests.",[807,1396,1290],{},[876,1398,1399,1402,1405,1408,1411,1414,1417],{},[879,1400,1401],{},"A factual claim about AgencyCore behaviour cites platform knowledge.",[879,1403,1404],{},"A factual claim about the user's business cites an application or Run ref.",[879,1406,1407],{},"A preference-shaped answer may use memory, but memory never overrides application state.",[879,1409,1410],{},"If the needed source is missing or unavailable, say what is missing.",[879,1412,1413],{},"If a request requires fresh work, delegate instead of answering from old context.",[879,1415,1416],{},"If the user asks for external current facts and no research capability is available, say the platform cannot answer it from chat.",[879,1418,1419],{},"Do not cite the capability shortlist. It is routing context, not evidence.",[807,1421,1422,1423,1425],{},"This is a prompt rule and a validation rule. The Front Door can reject an ",[854,1424,861],{}," that carries unsupported citations or references outside the supplied brief.",[868,1427,1429],{"id":1428},"missing-capabilities","Missing capabilities",[807,1431,1432],{},"General chat can answer only what its context sources can provide. Phase 6 should add the missing read capabilities needed for the first question set.",[993,1434,1435,1445],{},[996,1436,1437],{},[999,1438,1439,1442],{},[1002,1440,1441],{},"Capability",[1002,1443,1444],{},"Needed for",[1012,1446,1447,1455,1463,1471,1479,1487,1495],{},[999,1448,1449,1452],{},[1017,1450,1451],{},"Platform knowledge ingestion",[1017,1453,1454],{},"Product questions about chat, CRM, workflows, agents, approvals, runs and definitions.",[999,1456,1457,1460],{},[1017,1458,1459],{},"Organization knowledge ingestion",[1017,1461,1462],{},"Organization-specific operating docs and uploaded reference material.",[999,1464,1465,1468],{},[1017,1466,1467],{},"Conversation entity scope",[1017,1469,1470],{},"Pronouns and follow-ups such as \"this company\" or \"that run\".",[999,1472,1473,1476],{},[1017,1474,1475],{},"CRM application projections",[1017,1477,1478],{},"Scoped answers about companies, people, deals, activities and prospects.",[999,1480,1481,1484],{},[1017,1482,1483],{},"Definition summary context",[1017,1485,1486],{},"Questions about published Agents, Workflows, Skills and Tools.",[999,1488,1489,1492],{},[1017,1490,1491],{},"Run summary context",[1017,1493,1494],{},"Questions about active, failed, waiting and completed work.",[999,1496,1497,1500],{},[1017,1498,1499],{},"Citation validation",[1017,1501,1502],{},"Refuse unsupported citations and keep answers auditable.",[807,1504,1505],{},"The first implementation should prefer read-only projections over new agent tools. A read capability is context; a tool is action.",[868,1507,1509],{"id":1508},"routing-matrix","Routing matrix",[993,1511,1512,1522],{},[996,1513,1514],{},[999,1515,1516,1519],{},[1002,1517,1518],{},"User intent",[1002,1520,1521],{},"Correct outcome",[1012,1523,1524,1534,1547,1557,1566,1576,1586,1596,1606],{},[999,1525,1526,1529],{},[1017,1527,1528],{},"Product definition or usage question",[1017,1530,1531,1533],{},[854,1532,861],{}," from knowledge, with citations.",[999,1535,1536,1539],{},[1017,1537,1538],{},"Question about an active or recent Run",[1017,1540,1541,1543,1544,1546],{},[854,1542,861],{}," from run history, or ",[854,1545,865],{}," if multiple Runs fit.",[999,1548,1549,1552],{},[1017,1550,1551],{},"Question about a scoped company, person, deal, activity or prospect",[1017,1553,1554,1556],{},[854,1555,861],{}," from application context, with refs.",[999,1558,1559,1562],{},[1017,1560,1561],{},"Follow-up with an ambiguous pronoun",[1017,1563,1564,1162],{},[854,1565,865],{},[999,1567,1568,1571],{},[1017,1569,1570],{},"Request to start work",[1017,1572,1573,1575],{},[854,1574,1157],{}," to one published Agent or Workflow.",[999,1577,1578,1581],{},[1017,1579,1580],{},"Request to create or change an Agent\u002FWorkflow",[1017,1582,1583,1585],{},[854,1584,1157],{}," to Definition Builder.",[999,1587,1588,1591],{},[1017,1589,1590],{},"Request to stop one clear live Run",[1017,1592,1593,1162],{},[854,1594,1595],{},"control_run(cancel)",[999,1597,1598,1601],{},[1017,1599,1600],{},"Request to change a live Run",[1017,1602,1603,1605],{},[854,1604,865],{}," or explain cancel plus restart. Steering is still deferred.",[999,1607,1608,1611],{},[1017,1609,1610],{},"Unsupported task with no capability",[1017,1612,1613,1615],{},[854,1614,861],{}," with the missing capability, not a guessed workaround.",[807,1617,1618],{},"The model may be conversational in tone, but the outcome is not conversationally loose. One turn produces one of the four structured outcomes.",[868,1620,1622],{"id":1621},"examples","Examples",[1214,1624,1626],{"id":1625},"product-question","Product question",[846,1628,1631],{"className":1629,"code":1630,"language":851,"meta":852},[849],"User:\nWhat is the Front Door allowed to do?\n\nGeneral chat:\nAnswers from platform knowledge:\n- decide answer \u002F clarify \u002F delegate \u002F control_run\n- never execute task work\n- delegate Runs through RunManager\nIncludes citations to the Front Door design.\n",[854,1632,1630],{"__ignoreMap":852},[1214,1634,1636],{"id":1635},"scoped-business-question","Scoped business question",[846,1638,1641],{"className":1639,"code":1640,"language":851,"meta":852},[849],"User:\nWhy is this prospect marked review needed?\n\nContext:\nconversation entity scope contains prospect:123\napplication source returns review_state and reason\n\nGeneral chat:\nAnswers from the scoped prospect fields.\nDoes not search for more prospects.\n",[854,1642,1640],{"__ignoreMap":852},[1214,1644,1646],{"id":1645},"work-request","Work request",[846,1648,1651],{"className":1649,"code":1650,"language":851,"meta":852},[849],"User:\nFind 20 UK fintech companies that just raised seed funding.\n\nGeneral chat:\nDelegates to Signals Search if visible.\nIf no such capability is visible, explains that no published capability can do it.\n",[854,1652,1650],{"__ignoreMap":852},[1214,1654,1656],{"id":1655},"authoring-request","Authoring request",[846,1658,1661],{"className":1659,"code":1660,"language":851,"meta":852},[849],"User:\nMake a workflow that researches a company, asks me to review it, then drafts outreach.\n\nGeneral chat:\nDelegates to Definition Builder with the authoring brief.\nDefinition Builder owns the draft.\n",[854,1662,1660],{"__ignoreMap":852},[868,1664,1666],{"id":1665},"ui-behaviour","UI behaviour",[807,1668,1669],{},"The web chat should keep the existing chat UI and UX. Phase 6 should improve behaviour inside that experience, not replace the interface.",[993,1671,1672,1681],{},[996,1673,1674],{},[999,1675,1676,1679],{},[1002,1677,1678],{},"State",[1002,1680,1666],{},[1012,1682,1683,1691,1699,1707,1715,1723],{},[999,1684,1685,1688],{},[1017,1686,1687],{},"General answer",[1017,1689,1690],{},"Render a normal assistant message. Store citations for audit; render only what the existing UI supports.",[999,1692,1693,1696],{},[1017,1694,1695],{},"Clarification",[1017,1697,1698],{},"Render one focused question.",[999,1700,1701,1704],{},[1017,1702,1703],{},"Delegation",[1017,1705,1706],{},"Show the handoff state, then attach to Run progress.",[999,1708,1709,1712],{},[1017,1710,1711],{},"Run control",[1017,1713,1714],{},"Show the result of the control action.",[999,1716,1717,1720],{},[1017,1718,1719],{},"Missing capability",[1017,1721,1722],{},"State the missing capability in product language.",[999,1724,1725,1728],{},[1017,1726,1727],{},"Missing context",[1017,1729,1730],{},"State what the user must name, upload or run first.",[807,1732,1733],{},"Source rendering is not the Phase 6 product bet. The important contract is that answers record citations and never make unsupported factual claims. The future chat redesign can choose how to expose those citations.",[868,1735,1737],{"id":1736},"waiting-states","Waiting states",[807,1739,1740],{},"The user should see useful messages while the system works. Progress is semantic state, not chain-of-thought.",[846,1742,1745],{"className":1743,"code":1744,"language":851,"meta":852},[849],"message accepted\n    |\n    v\nthinking\n    |\n    v\nchecking_context\n    |\n    v\nfinding_capability\n    |\n    +-- answer or clarify\n    |\n    +-- preparing_task\n            |\n            v\n       Run progress stream\n",[854,1746,1744],{"__ignoreMap":852},[807,1748,1749],{},"The Front Door owns progress until a Run owns the work. After delegation, the runtime owns the stream.",[807,1751,1752],{},"Suggested message meanings:",[993,1754,1755,1764],{},[996,1756,1757],{},[999,1758,1759,1761],{},[1002,1760,1678],{},[1002,1762,1763],{},"Meaning",[1012,1765,1766,1776,1786,1796],{},[999,1767,1768,1773],{},[1017,1769,1770],{},[854,1771,1772],{},"thinking",[1017,1774,1775],{},"The turn started and budget admission passed.",[999,1777,1778,1783],{},[1017,1779,1780],{},[854,1781,1782],{},"checking_context",[1017,1784,1785],{},"The system is retrieving conversation, scoped entities, knowledge and run history.",[999,1787,1788,1793],{},[1017,1789,1790],{},[854,1791,1792],{},"finding_capability",[1017,1794,1795],{},"The system is checking which Agents and Workflows are available.",[999,1797,1798,1803],{},[1017,1799,1800],{},[854,1801,1802],{},"preparing_task",[1017,1804,1805],{},"A delegated Run is being started.",[807,1807,1808],{},"Do not emit fake specificity such as \"searching CRM\" from the Front Door. If CRM search is happening, a delegated Run owns it.",[868,1810,1812],{"id":1811},"stress-testing","Stress testing",[807,1814,1815],{},"Phase 6 should stress test the whole chat flow, not only model output.",[993,1817,1818,1828],{},[996,1819,1820],{},[999,1821,1822,1825],{},[1002,1823,1824],{},"Area",[1002,1826,1827],{},"What to test",[1012,1829,1830,1838,1846,1853,1861,1869,1877,1885],{},[999,1831,1832,1835],{},[1017,1833,1834],{},"Context packing",[1017,1836,1837],{},"Large conversations, many scoped entities, long knowledge chunks, source failures and token-budget cuts.",[999,1839,1840,1843],{},[1017,1841,1842],{},"Routing",[1017,1844,1845],{},"Similar capability names, unsupported requests, ambiguous pronouns and authoring versus execution intent.",[999,1847,1848,1850],{},[1017,1849,270],{},[1017,1851,1852],{},"Worker retry, duplicate inbound messages and answer-write replay.",[999,1854,1855,1858],{},[1017,1856,1857],{},"Latency",[1017,1859,1860],{},"Cold knowledge retrieval, large capability catalogues and slow context sources.",[999,1862,1863,1866],{},[1017,1864,1865],{},"Streaming",[1017,1867,1868],{},"Ordered progress states, no duplicate progress on retry and clean handoff to Run progress.",[999,1870,1871,1874],{},[1017,1872,1873],{},"Tenancy",[1017,1875,1876],{},"Foreign entity refs, foreign Run refs and organization knowledge isolation.",[999,1878,1879,1882],{},[1017,1880,1881],{},"Cost gates",[1017,1883,1884],{},"Day-limit denial before the model call and no usage row on denial.",[999,1886,1887,1890],{},[1017,1888,1889],{},"Citation safety",[1017,1891,1892],{},"Unsupported refs, stale refs and answer claims without evidence.",[807,1894,1895],{},"The stress suite should include scenario tests, contract tests and load-style tests. A stable chat flow is one that remains bounded, idempotent and clear under failure.",[868,1897,1899],{"id":1898},"quality-gate","Quality gate",[807,1901,1902],{},"Phase 6 should end with a system design and code quality review. General chat sits on the product front door, so the implementation must stay small, explicit and easy to maintain.",[807,1904,1905],{},"The review should check:",[876,1907,1908,1911,1914,1917,1920,1923,1926,1929],{},[879,1909,1910],{},"the Front Door still has only four outcomes;",[879,1912,1913],{},"no action tools or exploratory reads were added to the Front Door;",[879,1915,1916],{},"context sources are read-only, scoped and bounded;",[879,1918,1919],{},"prompt and answer contracts are validated by code, not only by instruction text;",[879,1921,1922],{},"retries and duplicate messages remain idempotent;",[879,1924,1925],{},"dead or stale Phase 6 code was removed;",[879,1927,1928],{},"files follow the existing module boundaries and clean-code patterns;",[879,1930,1931],{},"tests match the final design and obsolete tests are deleted.",[807,1933,1934],{},"Any deferred design risk should become an explicit follow-up with an owner.",[868,1936,1938],{"id":1937},"failure-handling","Failure handling",[993,1940,1941,1951],{},[996,1942,1943],{},[999,1944,1945,1948],{},[1002,1946,1947],{},"Failure",[1002,1949,1950],{},"Product behaviour",[1012,1952,1953,1961,1969,1977,1985,1993,2001,2009],{},[999,1954,1955,1958],{},[1017,1956,1957],{},"Knowledge source unavailable",[1017,1959,1960],{},"Answer only from remaining sources and name the gap.",[999,1962,1963,1966],{},[1017,1964,1965],{},"Knowledge retrieval returns nothing",[1017,1967,1968],{},"Say the docs do not contain enough information.",[999,1970,1971,1974],{},[1017,1972,1973],{},"Entity reference is ambiguous",[1017,1975,1976],{},"Ask which entity the user means.",[999,1978,1979,1982],{},[1017,1980,1981],{},"Entity reference no longer resolves",[1017,1983,1984],{},"Say the item is no longer available or visible.",[999,1986,1987,1990],{},[1017,1988,1989],{},"Run reference is ambiguous",[1017,1991,1992],{},"Ask which Run the user means.",[999,1994,1995,1998],{},[1017,1996,1997],{},"Capability shortlist has no match",[1017,1999,2000],{},"Explain that no published capability can do the task.",[999,2002,2003,2006],{},[1017,2004,2005],{},"Model returns an unsupported citation",[1017,2007,2008],{},"Reject the answer and fail the turn cleanly.",[999,2010,2011,2014],{},[1017,2012,2013],{},"Accrual denies the turn",[1017,2015,2016],{},"Return the day-limit message and make no model call.",[868,2018,2020],{"id":2019},"v1-rules","V1 rules",[876,2022,2023,2026,2029,2032,2035,2038,2041,2044,2047,2050,2053,2056,2059,2062,2068,2071,2074,2077,2080],{},[879,2024,2025],{},"General chat does not add a fifth Front Door outcome.",[879,2027,2028],{},"Phase 6 focuses on CRM, workflow and agent questions first.",[879,2030,2031],{},"Phase 6 follows the existing chat UI and UX.",[879,2033,2034],{},"The Front Door does not receive action tools.",[879,2036,2037],{},"The model never performs exploratory reads in the Front Door.",[879,2039,2040],{},"The ContextBuilder retrieves before the model reasons.",[879,2042,2043],{},"Context quality is evaluated through scenario fixtures.",[879,2045,2046],{},"The question library includes positive, negative and ambiguous cases.",[879,2048,2049],{},"Knowledge answers cite knowledge refs.",[879,2051,2052],{},"Business answers cite application or Run refs.",[879,2054,2055],{},"Capability summaries are not evidence.",[879,2057,2058],{},"Entity scope is durable conversation metadata, not a fact store.",[879,2060,2061],{},"Ambiguous pronouns lead to one clarification.",[879,2063,2064,2065,1162],{},"Work requests delegate through ",[854,2066,2067],{},"RunManager",[879,2069,2070],{},"Authoring requests delegate to the Definition Builder Agent.",[879,2072,2073],{},"Live Run changes are limited to cancel. Steering remains V2.",[879,2075,2076],{},"Progress messages are semantic state and stop when Run progress begins.",[879,2078,2079],{},"Stress tests cover context, routing, idempotency, latency, streaming, tenancy, cost gates and citations.",[879,2081,2082],{},"Phase 6 closes with a design and clean-code review.",[868,2084,2086],{"id":2085},"minimum-scenarios","Minimum scenarios",[876,2088,2089,2092,2095,2098,2101,2104,2107,2110,2113,2116,2119,2122,2127,2130],{},[879,2090,2091],{},"\"What can you do?\" answers from platform knowledge when knowledge is available.",[879,2093,2094],{},"\"What is lifecycle stage?\" cites the relevant product documentation.",[879,2096,2097],{},"\"What agents can I use?\" answers from visible capability summaries and platform knowledge.",[879,2099,2100],{},"\"What steps does Signals Search run?\" answers from workflow knowledge or definition summary context.",[879,2102,2103],{},"\"Why did that run stop?\" asks which Run when more than one recent Run fits.",[879,2105,2106],{},"\"Why did that run stop?\" answers from run history when one Run fits.",[879,2108,2109],{},"\"Tell me more about this company\" resolves a scoped company ref.",[879,2111,2112],{},"A stale or unauthorized entity ref does not leak data.",[879,2114,2115],{},"\"Find companies like this\" delegates instead of searching inside the Front Door.",[879,2117,2118],{},"\"Create an agent that qualifies inbound leads\" delegates to Definition Builder.",[879,2120,2121],{},"\"Stop that\" cancels only when one active Run is clear.",[879,2123,2124,2125,1162],{},"An answer cannot cite a ref outside the supplied ",[854,2126,1100],{},[879,2128,2129],{},"A retry writes one assistant message and no second model usage row.",[879,2131,2132],{},"A slow context source emits useful progress but does not expose internal reasoning.",[2134,2135,2136],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":852,"searchDepth":32,"depth":233,"links":2138},[2139,2140,2141,2142,2143,2144,2150,2151,2152,2153,2154,2155,2161,2162,2163,2164,2165,2166,2167],{"id":870,"depth":32,"text":871},{"id":926,"depth":32,"text":927},{"id":959,"depth":32,"text":960},{"id":987,"depth":32,"text":988},{"id":1107,"depth":32,"text":1108},{"id":1208,"depth":32,"text":1209,"children":2145},[2146,2147,2148,2149],{"id":1216,"depth":233,"text":1217},{"id":1229,"depth":233,"text":1230},{"id":1242,"depth":233,"text":1243},{"id":1255,"depth":233,"text":1256},{"id":1268,"depth":32,"text":1269},{"id":1318,"depth":32,"text":1319},{"id":1356,"depth":32,"text":1357},{"id":1428,"depth":32,"text":1429},{"id":1508,"depth":32,"text":1509},{"id":1621,"depth":32,"text":1622,"children":2156},[2157,2158,2159,2160],{"id":1625,"depth":233,"text":1626},{"id":1635,"depth":233,"text":1636},{"id":1645,"depth":233,"text":1646},{"id":1655,"depth":233,"text":1656},{"id":1665,"depth":32,"text":1666},{"id":1736,"depth":32,"text":1737},{"id":1811,"depth":32,"text":1812},{"id":1898,"depth":32,"text":1899},{"id":1937,"depth":32,"text":1938},{"id":2019,"depth":32,"text":2020},{"id":2085,"depth":32,"text":2086},"md",{},true,[2172,2173,2174,2175],"engineering\u002Fsystem-design\u002Fagentic-platform\u002Finterfaces\u002Ffront-door","engineering\u002Fsystem-design\u002Fagentic-platform\u002Fcapabilities\u002Fstate-and-knowledge","engineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Fbuilder-chat","engineering\u002Fsystem-design\u002Fagentic-platform\u002Fruntime\u002Fexecution",{"title":339,"description":340},"engineering\u002Fsystem-design\u002Fagentic-platform\u002Fproducts\u002Fgeneral-chat",[24,246,186,184,247,342],"dUsTFcx3VVSBgIoAlWJeuJ468XhmtSxmaDwAIfvDEOY",1788650195184]