[{"data":1,"prerenderedAt":2548},["ShallowReactive",2],{"site-nav-content":3,"blog:/blog/governance-as-a-multiplayer-primitive":179,"blog-index-copy":892,"blog:/blog/governance-as-a-multiplayer-primitive:surround":913,"hiring-banner-content":2517,"site-cta-content":2529},{"header":4,"productNav":9,"nav":42,"footer":61,"askAI":132,"id":163,"title":164,"archived":165,"authors":166,"badge":166,"body":167,"date":166,"definedTerm":166,"department":166,"description":171,"extension":174,"eyebrow":166,"faqHeader":166,"faqs":166,"footerBand":166,"headline":166,"image":166,"industry":166,"jobType":166,"listed":131,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":175,"relatedHeading":166,"seo":176,"series":166,"sitemap":165,"status":166,"stem":177,"subhead":166,"tags":166,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":178},{"productLabel":5,"loginLabel":6,"contactLabel":7,"contactSalesLabel":8},"Product","Log in","Contact","Get started for free",[10,14,18,22,26,30,34,38],{"label":11,"to":12,"description":13},"Overview","/overview","Seven layers. One closed loop.",{"label":15,"to":16,"description":17},"Conflux","/product/conflux","Where your team, workstreams, and agents meet.",{"label":19,"to":20,"description":21},"Agent Teams","/product/agent-teams","Specialist teams - governed from day one.",{"label":23,"to":24,"description":25},"Lifecycle Graph","/product/lifecycle-graph","Intelligence that compounds across every interaction.",{"label":27,"to":28,"description":29},"Company Wiki","/product/wiki","Playbooks and policies where expertise stays.",{"label":31,"to":32,"description":33},"Workstreams","/product/workstreams","From brief to signed-off deliverable on one canvas.",{"label":35,"to":36,"description":37},"Perception Console","/product/perception","Ask your whole business in plain English.",{"label":39,"to":40,"description":41},"Governance","/product/governance","Frontier AI you can actually sign off on.",[43,46,49,52,55,58],{"label":44,"to":45},"Models","/models",{"label":47,"to":48},"Pricing","/pricing",{"label":50,"to":51},"Integrations","/integrations",{"label":53,"to":54},"Security","/security",{"label":56,"to":57},"Partners","/partners",{"label":59,"to":60},"Insights","/blog",{"productHeading":5,"companyHeading":62,"resourcesHeading":63,"legalHeading":64,"docsLabel":65,"docsUrl":66,"statementLines":67,"copyright":70,"companyLinks":71,"resourcesLinks":86,"legalLinks":102,"socialLinks":109,"bottomLinks":119},"Company","Resources","Legal","Docs","https://docs.gonimbus.ai",[68,69],"Stop training someone else's model.","Control your AI.","© 2026 Nimbus Intelligence, Inc. All rights reserved.",[72,73,74,75,76,78,81,84],{"label":47,"to":48},{"label":50,"to":51},{"label":53,"to":54},{"label":59,"to":60},{"label":77,"to":57},"Partner Program",{"label":79,"to":80},"Careers","/careers",{"label":82,"to":83},"System status","/status",{"label":7,"to":85},"/contact",[87,90,93,96,99],{"label":88,"to":89},"Glossary","/glossary",{"label":91,"to":92},"Compare","/compare",{"label":94,"to":95},"Evaluate","/evaluate",{"label":97,"to":98},"Problems","/problems",{"label":100,"to":101},"Use cases","/use-cases",[103,106],{"label":104,"to":105},"Terms of Service","/terms",{"label":107,"to":108},"Privacy Policy","/privacy",[110,113,116],{"label":111,"href":112},"LinkedIn","https://www.linkedin.com/company/gonimbusai/",{"label":114,"href":115},"X","https://x.com/gonimbusai",{"label":117,"href":118},"Instagram","https://www.instagram.com/gonimbus_ai/",[120,122,124,127,128],{"label":121,"to":105},"Terms",{"label":123,"to":108},"Privacy",{"label":125,"to":126},"Compliance","/compliance",{"label":82,"to":83},{"label":129,"to":130,"external":131},"LLMs.txt","/llms.txt",true,{"text":133,"prompt":134},"Ask AI about Nimbus",{"I'm researching enterprise intelligence platforms and want to know how Nimbus combines perception, collaboration, and autonomous agents to drive strategic decision-making":135,"platforms":137},{" Summarize the highlights from Nimbus's website":136},"https://gonimbus.ai",[138,143,148,153,158],{"name":139,"label":140,"icon":141,"hrefPrefix":142},"chatgpt","ChatGPT","simple-icons:openai","https://chatgpt.com/?prompt=",{"name":144,"label":145,"icon":146,"hrefPrefix":147},"perplexity","Perplexity","mdi:magnify","https://www.perplexity.ai/search/new?q=",{"name":149,"label":150,"icon":151,"hrefPrefix":152},"grok","Grok","simple-icons:x","https://x.com/i/grok?text=",{"name":154,"label":155,"icon":156,"hrefPrefix":157},"claude","Claude","simple-icons:anthropic","https://claude.ai/new?q=",{"name":159,"label":160,"icon":161,"hrefPrefix":162},"google-ai","Google AI","simple-icons:google","https://www.google.com/search?udm=50&aep=11&q=","content/shared/nav.md","Site navigation",false,null,{"type":168,"value":169,"toc":170},"minimark",[],{"title":171,"searchDepth":172,"depth":172,"links":173},"",2,[],"md","/shared/nav",{"title":164,"description":171},"shared/nav","1dD7ahDRl0SQ4hz53-kKo0tEFrGaLuaztZ3PPfp6a9k",{"id":180,"title":181,"archived":165,"authors":182,"badge":185,"body":187,"date":868,"definedTerm":166,"department":166,"description":869,"extension":174,"eyebrow":166,"faqHeader":870,"faqs":873,"footerBand":166,"headline":166,"image":166,"industry":166,"jobType":166,"listed":165,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":886,"relatedHeading":166,"seo":887,"series":229,"sitemap":131,"status":166,"stem":888,"subhead":166,"tags":889,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":891},"content/blog/governance-as-a-multiplayer-primitive.md","Governance as a Multiplayer Primitive",[183],{"name":184,"to":136},"Nimbus Research",{"label":186},"Architecture",{"type":168,"value":188,"toc":857},[189,210,231,246,258,263,266,275,278,310,321,329,333,336,355,358,364,370,392,407,430,443,447,454,461,470,479,487,499,507,511,518,533,536,539,557,568,575,579,582,585,602,610,622,685,690,694,697,700,711,723,734,754,758,765,770,777,783,787,790,811,817,825,828,832,843,846,853],[190,191,192,193,197,198,205,206,209],"p",{},"Governance as a multiplayer primitive means the controls live ",[194,195,196],"strong",{},"in the room where the work happens"," — on the roster, on the payload, on the spend cap for this job — not in a PDF that arrives after someone already changed the record. Gartner’s ",[199,200,204],"a",{"href":201,"rel":202},"https://www.gartner.com/en/articles/ai-governance-trism",[203],"nofollow","TRiSM"," framing — trust, risk, and security management — stresses ",[194,207,208],{},"runtime"," controls, not slide decks. If your proof of governance is a quarterly attestation while CRM writes still succeed without a named signer, you have principles, not a primitive.",[190,211,212,216,217,221,222,226,227,230],{},[199,213,215],{"href":214},"what-is-ai-governance","What is AI governance"," is the programme: who may use which AI, on which data, with a record afterwards. ",[199,218,220],{"href":219},"rbac-for-enterprise-ai","RBAC for enterprise AI"," is who may see which jobs and tools. ",[199,223,225],{"href":224},"what-is-write-back-governance","Write-back governance"," is the fail-closed rule on live-system changes. This page is the ",[194,228,229],{},"architecture"," that makes those ideas multiplayer: several people and an agent on one job, with authority that cannot exceed the humans in the room.",[190,232,233,234,239,240,245],{},"The ",[199,235,238],{"href":236,"rel":237},"https://www.nist.gov/itl/ai-risk-management-framework",[203],"NIST AI Risk Management Framework"," (2023) says Govern, Map, Measure, Manage. Mapping still fails if the people who click can PATCH Salesforce without showing finance the exact fields. ",[199,241,244],{"href":242,"rel":243},"https://www.iso.org/standard/42001",[203],"ISO/IEC 42001"," wants named actors and operational controls. Neither standard is satisfied by a training video and a hopeful prompt.",[190,247,248,252,253,257],{},[199,249,251],{"href":250},"multiplayer-ai-and-multi-agent-ai","Multiplayer AI vs multi-agent AI"," names the room. Governance is what keeps the room from being a demo with extra seats. ",[199,254,256],{"href":255},"what-is-collaborative-ai","What is collaborative AI"," is the shared-job definition. This page is why the stop is visible to everyone on that job — including the partner who joins mid-week.",[259,260,262],"h2",{"id":261},"why-governance-belongs-in-the-room","Why governance belongs in the room",[190,264,265],{},"Enterprise software already knew maker-checker: one person proposes, another authorises. Generative AI added a proposer that never sleeps and never feels embarrassment. The instinct to “ask legal later” produces the same failure mode as “ask legal in email after the post.”",[190,267,268,269,274],{},"McKinsey’s ",[199,270,273],{"href":271,"rel":272},"https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai",[203],"State of AI"," (2025) found that 88% of organisations use AI in at least one function while most remain in pilot. Pilots hide the multiplayer problem. One enthusiast and one assistant do not need a roster. The first time finance, ops, and a partner share an exception, the missing primitive shows up as a write nobody can refuse in time.",[190,276,277],{},"Multiplayer governance means four things, together:",[279,280,281,288,294,300],"ul",{},[282,283,284,287],"li",{},[194,285,286],{},"Roster."," Who is on this job, with what role — including which AI role may propose but not sign.",[282,289,290,293],{},[194,291,292],{},"Inherited authority."," The agent cannot exceed the person whose credentials it uses. A junior analyst’s session does not inherit the CFO’s write token because the connector was set up as a superuser.",[282,295,296,299],{},[194,297,298],{},"Spend as scheduling input."," Token or step budgets are not only finance dashboards; they are “this job pauses until a named delegate raises the cap.”",[282,301,302,305,306,309],{},[194,303,304],{},"Notify the roster, not the org."," Alerts go to people who can act on ",[194,307,308],{},"this"," payload, not a company-wide channel where the signal drowns.",[190,311,312,313,315,316,320],{},"That is different from broadcasting “AI policy updated” to ten thousand inboxes. The order hold needs finance on ",[194,314,308],{}," job, not ",[317,318,319],"code",{},"#general",".",[190,322,233,323,328],{},[199,324,327],{"href":325,"rel":326},"https://oecd.ai/en/ai-principles",[203],"OECD AI Principles"," put accountability and transparency next to robustness. Accountability is empty if the accountable person is not in the room when the field is about to move. Transparency is empty if the payload lives in a private thread. Multiplayer governance is how those principles become clickable.",[259,330,332],{"id":331},"roster-the-multiplayer-unit-of-accountability","Roster: the multiplayer unit of accountability",[190,334,335],{},"A roster is not “everyone with a login.” It is the list of people — and bounded AI roles — who may see this brief, these files, and this proposal before it executes.",[190,337,338,339,342,343,345,346,349,350,354],{},"Classic RBAC assigns permissions to roles. Enterprise AI must answer a sharper question: ",[194,340,341],{},"on this job, right now, whose name is on the execute step?"," ",[199,344,220],{"href":219}," is the full guide; do not re-derive it here. The multiplayer twist is that RBAC entries attach to the ",[194,347,348],{},"work object",", not only to the org chart. ",[199,351,353],{"href":352},"what-is-an-ai-workstream","What an AI workstream is"," is that object.",[190,356,357],{},"Three roster mistakes show up in every pilot:",[190,359,360,363],{},[194,361,362],{},"1. Shared inbox as signer."," “Finance@” is not a person. Auditors ask for a name, not a distribution list. A mailbox cannot refuse a payload at 22:00. A named delegate can.",[190,365,366,369],{},[194,367,368],{},"2. Guest with write by accident."," A partner who should see their slice inherits the production token because setup was easy. Least privilege died at the invite dialog.",[190,371,372,375,376,381,382,385,386,388,389,391],{},[194,373,374],{},"3. Agent as implicit admin."," The model runs with a service account that can edit every object “because integration.” ",[199,377,380],{"href":378,"rel":379},"https://genai.owasp.org/llm-top-10/",[203],"OWASP’s LLM Top 10"," lists excessive agency as a first-class risk. Multiplayer governance is the organisational version: ",[194,383,384],{},"who"," could have stopped ",[194,387,308],{}," change on ",[194,390,308],{}," job.",[190,393,394,398,399,402,403,406],{},[199,395,397],{"href":396},"what-is-human-in-the-loop-ai","What is human-in-the-loop AI"," becomes real when the loop shows ",[194,400,401],{},"whose"," loop — on this roster — for ",[194,404,405],{},"which"," class of write. A node labelled “review” in a vendor diagram is not governance until it is a person who can refuse while others watch.",[190,408,409,410,414,415,419,420,424,425,429],{},"Function walkthroughs change the names, not the primitive. ",[199,411,413],{"href":412},"collaborative-ai-for-customer-support","Collaborative AI for customer support"," needs a roster on the ticket. ",[199,416,418],{"href":417},"collaborative-ai-for-human-resources","Collaborative AI for human resources"," needs a roster on the people decision, with policy version attached. ",[199,421,423],{"href":422},"collaborative-ai-for-revenue-operations","Collaborative AI for revenue operations"," needs finance on the stage conflict. ",[199,426,428],{"href":427},"collaborative-ai-for-operations","Collaborative AI for operations"," needs the closer on the hold. Same primitive. Different artefact.",[190,431,432,433,438,439,320],{},"Microsoft and LinkedIn’s ",[199,434,437],{"href":435,"rel":436},"https://www.microsoft.com/en-us/worklab/work-trend-index/ai-at-work-is-here-now-comes-the-hard-part",[203],"2024 Work Trend Index"," reported that 78% of AI users at work bring their own tools. BYO tools have no roster. That is the point. Personal convenience and multiplayer accountability do not share a session. If the exception already requires two departments, a personal assistant is the wrong container — see ",[199,440,442],{"href":441},"collaborative-ai-and-personal-assistants","collaborative AI and personal assistants",[259,444,446],{"id":445},"inherited-authority-the-agent-is-not-a-superuser","Inherited authority: the agent is not a superuser",[190,448,449,450,453],{},"“Inherited authority” means the agent’s grants are the ",[194,451,452],{},"intersection"," of what the job allows and what the acting person may do — never the union of every connector in the tenant.",[190,455,456,457,460],{},"If the WMS integration can release any hold but the operator is a warehouse supervisor without credit authority, the agent must not release a credit hold because the prompt was confident. Least privilege for AI is not a smaller model. It is a smaller ",[194,458,459],{},"effective"," identity for this session.",[190,462,463,464,469],{},"IBM’s ",[199,465,468],{"href":466,"rel":467},"https://newsroom.ibm.com/2024-07-30-ibm-report-escalating-data-breach-disruption-pushes-costs-to-new-highs",[203],"Cost of a Data Breach"," report (2024) is often cited for breach dollars. The operational cousin is a customer record changed without a name — no breach required. Inherited authority is how you keep the fluent paragraph from becoming a fact the company inherits.",[190,471,472,474,475,478],{},[199,473,225],{"href":224}," is the execute gate: show the payload, require the signer, fail-closed if missing. Inherited authority is the ",[194,476,477],{},"read and propose"," gate: which sources this session may touch at all. A model that can see every forecast “for context” has already lost the multiplayer plot, even if it never writes.",[190,480,481,482,486],{},"When agents are ",[199,483,485],{"href":484},"agents-should-be-disposable","disposable",", inherited authority survives swaps. The next model does not arrive with a fresh superuser token. It arrives with the same bounded grants on the same job. Continuity without bounds is how yesterday’s exception becomes tomorrow’s god session.",[190,488,489,493,494,498],{},[199,490,492],{"href":491},"search-is-not-memory","Search is not memory"," is the retrieval mistake; ",[199,495,497],{"href":496},"what-is-institutional-memory-in-enterprise-ai","institutional memory in enterprise AI"," is the company-scale layering. Multiplayer governance is the live-job layer: asserted policy and decision rights sit on the roster while the work is open. Do not collapse those layers into one index and call it control.",[190,500,233,501,506],{},[199,502,505],{"href":503,"rel":504},"https://artificialintelligenceact.eu/",[203],"EU AI Act"," documentation instinct — who did what, under which procedure — is easier to meet when authority is inherited per job than when a tenant-wide service account did everything. You do not need to be in scope of the Act to want a name on the execute step.",[259,508,510],{"id":509},"spend-as-scheduling-input","Spend as scheduling input",[190,512,513,514,517],{},"Spend caps are usually drawn on finance slides: monthly tokens, seat tiers, flagship defaults. In a multiplayer job, spend is also ",[194,515,516],{},"scheduling",": the run stops, the roster is notified, a delegate decides whether this exception is worth another hour of frontier model on extraction.",[190,519,520,521,525,526,529,530,532],{},"That is not stinginess. It is visibility. ",[199,522,524],{"href":523},"what-is-ai-token-economics","What is AI token economics"," covers the categories. Multiplayer governance covers ",[194,527,528],{},"who on the roster"," may raise the cap for ",[194,531,308],{}," hold, with a record.",[190,534,535],{},"Uncapped “always flagship” on shared jobs is how two departments burn budget on the same conflict without seeing each other’s runs. McKinsey’s 2025 survey keeps showing use without redesign. Spend-as-scheduling is a small redesign: the job names a default route, a cap stops the loop, and a human decides.",[190,537,538],{},"Treat spend like overtime approval:",[279,540,541,544,554],{},[282,542,543],{},"The job names a default route — compact for classify, frontier for judgement.",[282,545,546,547,550,551,320],{},"A cap stops the loop and pings the ",[194,548,549],{},"roster",", not ",[317,552,553],{},"#ai-governance",[282,555,556],{},"A delegate’s approval is stored next to the job, not only in the billing console.",[190,558,559,563,564,567],{},[199,560,562],{"href":561},"how-to-evaluate-an-agent-harness","How to evaluate an agent harness"," asks vendors for per-step model breakdown on a live run. Multiplayer governance asks whether that breakdown is visible to the finance delegate ",[194,565,566],{},"on the job"," when a hold must close tonight. A platform invoice that finance sees next quarter is not a control. A pause the closer can lift tonight is.",[190,569,570,574],{},[199,571,573],{"href":572},"what-to-look-for-in-model-routing","What to look for in model routing"," is the routing sheet. Routing without a roster is still a private optimisation. Routing with a roster is a scheduling decision other people can see.",[259,576,578],{"id":577},"notify-the-roster-not-the-org","Notify the roster, not the org",[190,580,581],{},"Alert fatigue kills governance. Company-wide “AI used sensitive data” emails train people to ignore the channel that matters.",[190,583,584],{},"Multiplayer primitives route signal to people who can act:",[279,586,587,590,596],{},[282,588,589],{},"Finance when a release payload is waiting for sign.",[282,591,592,593,595],{},"Legal when a clause draft touches export control on ",[194,594,308],{}," contract job.",[282,597,598,599,601],{},"Ops when a WMS exception ages past SLA on ",[194,600,308],{}," SKU lane.",[190,603,233,604,609],{},[199,605,608],{"href":606,"rel":607},"https://www.whitehouse.gov/wp-content/uploads/2024/03/M-24-10-Advancing-Governance-Innovation-and-Risk-Management-for-Agency-Use-of-Artificial-Intelligence.pdf",[203],"US OMB M-24-10"," memorandum on federal AI use puts inventory and named owners first. Multiplayer notify is the operational version: the owner is on the roster for the job that changed, not an abstract “AI council.”",[190,611,612,617,618,621],{},[199,613,616],{"href":614,"rel":615},"https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/artificial-intelligence/",[203],"UK ICO guidance on AI"," still wants purpose and retention ",[194,619,620],{},"before"," you turn a tool loose. Purpose is easier to defend when notify is scoped to the people who needed the processing. A blast to the company is not a purpose. It is a habit.",[623,624,628],"pre",{"className":625,"code":626,"language":627,"meta":171,"style":171},"language-mermaid shiki shiki-themes github-light github-dark","flowchart TB\n  job[\"Shared job\"] --> roster[\"People on the roster\"]\n  agent[\"Someone proposes a change\"] --> payload[\"The exact change, quoted\"]\n  payload --> roster\n  roster --> sign{\"Named signer\"}\n  sign -->|approve| write[\"The write goes through\"]\n  sign -->|reject| stored[\"The no stays on the job\"]\n  stored --> job\n  spend[\"Spend cap hit\"] --> roster\n","mermaid",[317,629,630,638,643,649,655,661,667,673,679],{"__ignoreMap":171},[631,632,635],"span",{"class":633,"line":634},"line",1,[631,636,637],{},"flowchart TB\n",[631,639,640],{"class":633,"line":172},[631,641,642],{},"  job[\"Shared job\"] --> roster[\"People on the roster\"]\n",[631,644,646],{"class":633,"line":645},3,[631,647,648],{},"  agent[\"Someone proposes a change\"] --> payload[\"The exact change, quoted\"]\n",[631,650,652],{"class":633,"line":651},4,[631,653,654],{},"  payload --> roster\n",[631,656,658],{"class":633,"line":657},5,[631,659,660],{},"  roster --> sign{\"Named signer\"}\n",[631,662,664],{"class":633,"line":663},6,[631,665,666],{},"  sign -->|approve| write[\"The write goes through\"]\n",[631,668,670],{"class":633,"line":669},7,[631,671,672],{},"  sign -->|reject| stored[\"The no stays on the job\"]\n",[631,674,676],{"class":633,"line":675},8,[631,677,678],{},"  stored --> job\n",[631,680,682],{"class":633,"line":681},9,[631,683,684],{},"  spend[\"Spend cap hit\"] --> roster\n",[190,686,687,689],{},[199,688,353],{"href":352}," is the object that holds roster, payload, and stored rejection together. Demand that shape in any shared product. Do not accept “we have audit logs somewhere” as a substitute for a visible stop on the job.",[259,691,693],{"id":692},"why-a-pdf-after-the-write-is-not-governance","Why a PDF after the write is not governance",[190,695,696],{},"PDFs and training videos have a role: policy, inventory, DPIA thinking. None of that stops an unsigned PATCH at 22:00.",[190,698,699],{},"Multiplayer governance is enforceable at the moment of change:",[279,701,702,705,708],{},[282,703,704],{},"The payload is visible to the roster before execution.",[282,706,707],{},"A rejection is stored on the job — not “we discussed in Teams.”",[282,709,710],{},"Fail-closed is default; approval is explicit.",[190,712,713,714,719,720,722],{},"Air Canada’s chatbot case — ",[199,715,718],{"href":716,"rel":717},"https://www.cbc.ca/news/canada/british-columbia/air-canada-chatbot-lawsuit-1.7116416",[203],"CBC’s report"," on bereavement fares — is customer-facing write-back without a gate. Multiplayer governance would have required a named signer on the message, visible to whoever owns customer commitments, ",[194,721,620],{}," the customer relied on it. The lawsuit is about a commitment. The missing primitive was a stop in the room that produced the commitment.",[190,724,725,729,730,733],{},[199,726,728],{"href":727},"four-pillars-of-an-enterprise-ai-platform","Four pillars of an enterprise AI platform"," is the wider stack — wiki, workstreams, routing, governance as layers. This page is the ",[194,731,732],{},"multiplayer"," layer: controls co-located with the job, not bolted on after adoption. A wiki without a roster is asserted policy nobody on the exception can see. A workstream without a stop is a shared folder with a model.",[190,735,736,741,742,745,746,749,750,753],{},[199,737,740],{"href":738,"rel":739},"https://www.nist.gov/itl/ai-risk-management-framework/nist-ai-rmf-playbook",[203],"NIST’s AI RMF Playbook"," gives measurement language. Translate it: ",[194,743,744],{},"Map"," the job and the write class, ",[194,747,748],{},"Measure"," signer completeness and time-to-rejection, ",[194,751,752],{},"Manage"," by refusing write tokens until a stored “no” exists on this exception type. Measurement that lives only in a GRC tool the operators never open will not change the 22:00 write.",[259,755,757],{"id":756},"how-multiplayer-governance-connects-to-evaluation","How multiplayer governance connects to evaluation",[190,759,760,764],{},[199,761,763],{"href":762},"how-to-evaluate-collaborative-ai","How to evaluate collaborative AI"," asks whether a second department can join, whether rejections store, and what happens after the session. Those are governance questions dressed as collaboration questions. If you only score fluency, you will buy a shared login.",[190,766,767,769],{},[199,768,562],{"href":561}," asks for a refused write and a replay export. Multiplayer governance asks whether finance on the roster saw the same payload the harness refused. A harness that refuses in a log finance cannot open is a control for engineers, not for the job.",[190,771,772,773,776],{},"When you run a proof of value, script a ",[194,774,775],{},"stored rejection"," before any write token. If the vendor cannot show the “no” on the job Monday, you do not have multiplayer governance — you have a chat with audit logs somewhere else.",[190,778,779,782],{},[199,780,781],{"href":484},"Agents should be disposable"," is the continuity claim: roster, payload, and rejection survive agent swaps. Governance as a multiplayer primitive is why those artefacts are in the room — enforced, visible, fail-closed — not in a PDF that arrives after the field moved.",[259,784,786],{"id":785},"how-to-start-without-a-committee-project","How to start without a committee project",[190,788,789],{},"You do not need a new steering group to put a stop in one room.",[791,792,793,796,799,805,808],"ol",{},[282,794,795],{},"Pick one recurring cross-team job already fought in chat.",[282,797,798],{},"Put it on a named work object with a roster — finance, ops, owner — not a shared login.",[282,800,801,802,804],{},"Require a ",[194,803,775],{}," before enabling write. Week one’s “no” is the control.",[282,806,807],{},"Route spend-cap alerts to the roster, not the company feed.",[282,809,810],{},"After two cycles, ask an independent reader to reconstruct signer and payload without Slack.",[190,812,813,816],{},[199,814,815],{"href":441},"Collaborative AI and personal assistants"," is when the work should stay personal. Multiplayer governance begins when two teams must stand on the same change. If only one person drafts and nothing writes, do not invent a roster for theatre.",[190,818,819,820,824],{},"Start read-only. Lists and payloads first. Customer-facing mail and bulk writes last. ",[199,821,823],{"href":822},"what-is-harness-engineering","Harness engineering"," is why the prompt alone is not the system; the environment around the model — tools, stops, checks — is. Multiplayer governance is the human half of that environment: who is in the room, what they can refuse, and who gets paged when the cap hits.",[190,826,827],{},"If you cannot name the signer for this class of write, you are not ready for execute. If you can name them but they are not on the job, you have an org chart, not a primitive.",[259,829,831],{"id":830},"how-this-shows-up-in-nimbus","How this shows up in Nimbus",[190,833,834,835,838,839,842],{},"In Nimbus, ",[199,836,837],{"href":40},"governance"," is attached to the ",[199,840,841],{"href":32},"workstream",": roster, inherited connector grants, spend cap as a pause that notifies the people on that job, and fail-closed writes with a stored rejection.",[190,844,845],{},"The agent on the workstream proposes. It does not inherit a tenant-wide superuser token. A partner guest sees a scoped slice. A finance delegate sees the same payload ops sees. Alerts go to the roster, not the company feed.",[190,847,848,849,852],{},"Score that shape with ",[199,850,851],{"href":762},"how to evaluate collaborative AI"," on any vendor, including this one. If the proof of value cannot show a named “no” on the job before a write token exists, you are still looking at a chat with a policy PDF.",[854,855,856],"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);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":171,"searchDepth":172,"depth":172,"links":858},[859,860,861,862,863,864,865,866,867],{"id":261,"depth":172,"text":262},{"id":331,"depth":172,"text":332},{"id":445,"depth":172,"text":446},{"id":509,"depth":172,"text":510},{"id":577,"depth":172,"text":578},{"id":692,"depth":172,"text":693},{"id":756,"depth":172,"text":757},{"id":785,"depth":172,"text":786},{"id":830,"depth":172,"text":831},"2026-09-12","Governance belongs in the room — roster, inherited authority, spend as scheduling, notify the job not the org. Not a PDF after the write. A guide to multiplayer controls.",{"eyebrow":871,"title":872},"Common questions","Controls in the room",[874,877,880,883],{"question":875,"answer":876},"Is this the same as RBAC?","RBAC answers who may do what. This page answers why those rules must live on the shared job — roster, inherited authority, spend caps — so a second department sees the same stop. Org-wide roles are necessary and not sufficient. A finance director who can theoretically approve writes still needs to be on this job, looking at this payload, when the hold is about to clear. If the only access model is the login page, two people can share a room and still not share a control. Put the grant on the work object.",{"question":878,"answer":879},"Do we still need a governance committee?","Yes for policy, inventory, and the questions a committee is good at: which uses are allowed, which data classes are in scope, who owns the programme. No committee replaces a named signer on the job that is about to change CRM. Quarterly attestation while unsigned writes succeed is principles, not a primitive. Keep the committee. Put the stop in the room. Measure both: policy coverage and stored rejections on live jobs.",{"question":881,"answer":882},"What is the first multiplayer gate to add?","A roster with a stored rejection before any write token. If nobody can say no on the job, you have a room without a door. Do not start with a company-wide AI policy email. Do not start with a spend dashboard nobody on the exception can see. Name the people on one recurring job, attach the files, and require a visible “no” before anyone enables execute. Week one’s rejection is the control. Week four’s write, if you get there, inherits it.",{"question":884,"answer":885},"Is notify-the-roster just another Slack channel?","No. A company-wide “AI used sensitive data” channel trains people to ignore the signal. Multiplayer notify goes to people who can act on this payload — finance on this release, legal on this clause, ops on this SKU lane. The owner is on the job that changed, not an abstract council. If the alert cannot name the job, the payload, and the next action, it is noise. Route spend-cap pauses the same way: the roster decides whether this exception is worth another hour, and the decision stays on the job.","/blog/governance-as-a-multiplayer-primitive",{"title":181,"description":869},"blog/governance-as-a-multiplayer-primitive",[229,837,732,890],"RBAC","KJKqlk2jj1ICBw4Jp4lWmnvHVFXM8PcPEvWRNaGbxAk",{"hero":893,"id":895,"title":896,"archived":165,"authors":166,"badge":166,"body":897,"date":166,"definedTerm":166,"department":166,"description":901,"extension":174,"eyebrow":902,"faqHeader":166,"faqs":166,"footerBand":903,"headline":166,"image":166,"industry":166,"jobType":166,"listed":131,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":60,"relatedHeading":909,"seo":910,"series":166,"sitemap":131,"status":166,"stem":911,"subhead":166,"tags":166,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":912},{"filename":894},"u2221455217_Flat_design_of_a_futuristic_minimalist_landscape__5d589295-cdea-4ea9-a262-be766881accf_1.png","content/blog/index.md","Exploring the future of intelligence.",{"type":168,"value":898,"toc":899},[],{"title":171,"searchDepth":172,"depth":172,"links":900},[],"Deep dives into pre-cognitive intelligence, sentient enterprises, and the evolving landscape of AI-driven business transformation.","Latest Research",{"headline":904,"description":905,"primaryLabel":906,"primaryTo":907,"secondaryLabel":908,"secondaryTo":12},"Stay at the frontier.","Subscribe for product updates and new insights.","Subscribe","/newsletter","Explore the platform","More research",{"title":896,"description":901},"blog/index","BFSWGYO9bcTlaulivKYWyg08_DJHsdGg3OC6g_CG1Hw",[914,1723],{"id":915,"title":916,"archived":165,"authors":917,"badge":919,"body":920,"date":1714,"definedTerm":166,"department":166,"description":1715,"extension":174,"eyebrow":166,"faqHeader":166,"faqs":166,"footerBand":166,"headline":166,"image":166,"industry":166,"jobType":166,"listed":165,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":1716,"relatedHeading":166,"seo":1717,"series":229,"sitemap":131,"status":166,"stem":1718,"subhead":166,"tags":1719,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":1722},"content/blog/agent-harness-architecture.md","Agent Harness Architecture",[918],{"name":184,"to":136},{"label":186},{"type":168,"value":921,"toc":1697},[922,928,957,979,983,1043,1070,1074,1095,1102,1105,1109,1112,1130,1140,1160,1166,1188,1197,1207,1218,1228,1239,1245,1251,1254,1258,1306,1313,1317,1324,1433,1436,1448,1454,1462,1469,1477,1494,1500,1502,1512,1516,1521,1524,1528,1535,1539,1547,1551,1558,1562,1574,1578,1588,1592],[190,923,924,927],{},[194,925,926],{},"Agent harness architecture"," is the design of the runtime around a model: who owns the loop, how tools run, what context is injected, which hooks can refuse, which identity the tools use, and how “done” is checked without taking the model’s word.",[190,929,930,935,936,941,942,945,946,945,950,945,954,320],{},[199,931,934],{"href":932,"rel":933},"https://www.langchain.com/blog/the-anatomy-of-an-agent-harness",[203],"LangChain’s anatomy"," is the public parts list: prompts, tools and MCP, bundled infrastructure (filesystem, sandbox, browser), orchestration (subagents, routing), hooks and middleware (compaction, lint, continuation). ",[199,937,940],{"href":938,"rel":939},"https://www.databricks.com/blog/ai-harness",[203],"Databricks"," groups the same into tools, memory, workspace, guardrails. This article is that list as an architecture you can inspect — then the mapping onto company jobs: ",[199,943,944],{"href":352},"workstreams",", ",[199,947,949],{"href":948},"agent-team-architecture","agent teams",[199,951,953],{"href":952},"connector-and-permissions-architecture","connectors",[199,955,956],{"href":224},"write-back",[190,958,959,960,964,965,969,970,974,975,978],{},"It is not a novel about kernels. It is not ",[199,961,963],{"href":962},"multi-agent-ai-architecture","multi-agent protocol"," (hand-offs between specialists) and not ",[199,966,968],{"href":967},"human-in-the-loop-approval-architecture","HITL state machines"," (quote → sign → execute), though a complete outer harness contains both. Start from ",[199,971,973],{"href":972},"what-is-an-agent-harness","what is an agent harness",". Use ",[199,976,977],{"href":561},"how to evaluate"," as the test of this diagram.",[259,980,982],{"id":981},"words-youll-hear","Words you’ll hear",[279,984,985,1000,1010,1021,1033],{},[282,986,987,990,991,995,996,999],{},[194,988,989],{},"Control plane vs data plane."," Control: grants, budgets, gates, routing policy — known independently of the model. Data: tokens, tool results, artefacts. If the orchestrator is only a system prompt, a jailbreak ",[992,993,994],"em",{},"is"," a privilege escalation. ",[199,997,998],{"href":962},"Multi-agent architecture"," already said this; it is a harness invariant.",[282,1001,1002,1005,1006,320],{},[194,1003,1004],{},"Workspace."," Inner: checkout / sandbox. Outer: workstream. ",[199,1007,1009],{"href":1008},"inner-vs-outer-agent-harness","Inner vs outer",[282,1011,1012,1015,1016,320],{},[194,1013,1014],{},"Tool plane vs write plane."," Reads default on. Mutations fail-closed. MCP may implement both; architecture must split them. ",[199,1017,1020],{"href":1018,"rel":1019},"https://modelcontextprotocol.io/specification/2025-11-25/index",[203],"MCP spec",[282,1022,1023,1026,1027,1032],{},[194,1024,1025],{},"Compaction."," Harness-owned context management so the window does not become the only memory. Anthropic’s ",[199,1028,1031],{"href":1029,"rel":1030},"https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents",[203],"long-running harness"," offloads state to files and git.",[282,1034,1035,1038,1039,320],{},[194,1036,1037],{},"Routing."," Model class per step, not a user-picked mascot. ",[199,1040,1042],{"href":1041},"model-routing-architecture","Model routing architecture",[190,1044,1045,1046,1049,1050,1053,1054,1056,1057,1059,1060,1062,1063,1065,1066,1069],{},"Nimbus maps this architecture onto product objects rather than asking operators to draw LangGraph: ",[199,1047,1048],{"href":28},"wiki"," (guides), ",[199,1051,1052],{"href":51},"integrations"," (tool plane), ",[199,1055,949],{"href":20}," (orchestration contract), ",[199,1058,944],{"href":32}," (workspace), ",[199,1061,837],{"href":40}," (write plane), ",[199,1064,23],{"href":24}," (eval and memory), ",[199,1067,1068],{"href":45},"models"," (routing). Other vendors map the same boxes differently. Score the boxes.",[259,1071,1073],{"id":1072},"why-architecture-not-a-bigger-prompt","Why architecture (not a bigger prompt)",[190,1075,1076,1077,1079,1080,1084,1085,1089,1090,1094],{},"A prompt cannot own tool execution, identity, or a stop that survives a tired model. ",[199,1078,823],{"href":822}," is the practice; this page is the structure the practice edits. ",[199,1081,1083],{"href":236,"rel":1082},[203],"NIST AI RMF"," Govern/Map need a system you can point to. ",[199,1086,1088],{"href":242,"rel":1087},[203],"ISO 42001"," needs operational controls. ",[199,1091,1093],{"href":378,"rel":1092},[203],"OWASP LLM Top 10"," excessive agency is what happens when the tool plane has no architecture.",[190,1096,1097,1101],{},[199,1098,1100],{"href":271,"rel":1099},[203],"McKinsey 2025"," treats agentic value as organisational. Architecture is how you stop “every team’s unofficial loop” from becoming the estate.",[190,1103,1104],{},"It affects you if you are combining MCP servers, a coding agent, a copilot, and a CRM writer without a single grant and quote rule. Two writers to one object is an architecture bug, not a training issue.",[259,1106,1108],{"id":1107},"the-pieces","The pieces",[190,1110,1111],{},"Keep these as inspectable contracts.",[190,1113,1114,1117,1118,1123,1124,1129],{},[194,1115,1116],{},"1. Loop runtime."," Plan → act → observe, with max steps and a cost budget the model cannot waive. Frameworks (",[199,1119,1122],{"href":1120,"rel":1121},"https://docs.langchain.com/oss/python/langchain/agents",[203],"create_agent",", LangGraph, CrewAI) implement this in process. Product harnesses implement it as a hosted run. ",[199,1125,1128],{"href":1126,"rel":1127},"https://www.anthropic.com/engineering/building-effective-agents",[203],"Anthropic’s effective agents"," is still the best short note on bounding the loop. “The model says it is done” is an input to the runtime, not the runtime.",[190,1131,1132,1135,1136,1139],{},[194,1133,1134],{},"2. Workspace and filesystem."," Inner harnesses treat the directory as externalised memory — Manus-style and Anthropic-style artefacts. Outer harnesses treat the workstream as the directory analogue: artefacts on a canvas, not a hidden ",[317,1137,1138],{},"/tmp"," on a laptop. Do not store approved discounts only in a coding agent’s memory file.",[190,1141,1142,1145,1146,1149,1150,1154,1155,1159],{},[194,1143,1144],{},"3. Context assembly."," System prompt, skills, ",[317,1147,1148],{},"AGENTS.md"," / wiki slices, retrieved records, prior graph nodes. Guides in Böckeler’s sense. Compaction and retrieval belong here. ",[199,1151,1153],{"href":1152},"what-is-enterprise-rag","Enterprise RAG"," is a pattern inside this box, not the architecture. ",[199,1156,1158],{"href":1157},"what-is-a-company-wiki-for-ai-agents","Company wiki"," is asserted policy; do not collapse it into a private vector bucket per agent.",[190,1161,1162,1165],{},[194,1163,1164],{},"4. Tool dispatch."," Host executes; model proposes. Sandbox for shell. Adapters for SaaS. Timeouts, retries, structured errors back into the loop. Generic HTTP with a production token is not this box. It is a confused deputy.",[190,1167,1168,1171,1172,342,1177,1180,1181,1184,1185,1187],{},[194,1169,1170],{},"5. Hooks / middleware."," Deterministic intercepts: ",[199,1173,1176],{"href":1174,"rel":1175},"https://code.claude.com/docs/en/hooks",[203],"Claude Code",[317,1178,1179],{},"PreToolUse"," / ",[317,1182,1183],{},"PostToolUse","; LangChain middleware; outer interceptor that never exposes the write API unsigned. ",[199,1186,225],{"href":224},". Advice in markdown does not live in this box.",[190,1189,1190,1193,1194,320],{},[194,1191,1192],{},"6. Permissions and identity."," Who the harness authenticates as, per tool, per object, per job. Roster and workstream membership on the outer side. Repo and sandbox roles on the inner side. Teams declare required connectors; the workspace still grants. ",[199,1195,1196],{"href":948},"Agent team architecture",[190,1198,1199,1202,1203,320],{},[194,1200,1201],{},"7. Orchestration."," Subagents, specialist hand-offs, stop on gate. Optional until duties already split. Orchestrator in the product, not a manager persona with every login. ",[199,1204,1206],{"href":1205},"what-is-multi-agent-ai","What is multi-agent AI",[190,1208,1209,1212,1213,1217],{},[194,1210,1211],{},"8. Sensors and eval."," Compiler, tests, schema, quote-hash, SoR read-back, human review. Independent of the generator. ",[199,1214,1216],{"href":1215},"eval-loops-for-enterprise-agent-harnesses","Eval loops",". SWE-bench / Terminal-Bench measure inner coding harnesses; they do not close this box for GL posts.",[190,1219,1220,1223,1224,320],{},[194,1221,1222],{},"9. Durable memory of operations."," Files and git (inner). Wiki + Lifecycle Graph (outer). Session transcripts are a debug aid. They are not the ledger. ",[199,1225,1227],{"href":1226},"causal-memory-architecture-for-enterprise-ai","Causal memory",[190,1229,1230,1233,1234,1238],{},[194,1231,1232],{},"10. Routing and spend."," Step classes → model classes. Caps on the run. ",[199,1235,1237],{"href":1236},"ai-cost-control-architecture","AI cost control",". Seat-unlimited flagship is an architectural choice (always-frontier), not a missing feature.",[190,1240,1241,1244],{},[194,1242,1243],{},"Flow (outer)."," Brief on a workstream → satisfy connector contract → plan → retrieve (logged, scoped) → draft on canvas → quote if write in scope → gate → execute signed payload only → commit graph. If steps 5–7 live only in a prompt, jailbreaks and tired operators fall through the same hole.",[190,1246,1247,1250],{},[194,1248,1249],{},"Flow (inner)."," Session start loads guides → loop with shell/editor tools → hooks on tool events → testsensor → commit / PR → CI as outer-loop sensor in Osmani’s sense. Anthropic’s initializer vs coding agent is a two-role inner architecture for work that outlasts one window.",[190,1252,1253],{},"Nimbus’s hosted flow is the outer sequence. Perception and Conflux sit on retrieve/draft; they must not skip the quote. That is architecture, not brand.",[259,1255,1257],{"id":1256},"failure-modes-the-diagram-exists-to-prevent","Failure modes the diagram exists to prevent",[791,1259,1260,1266,1272,1278,1284,1290,1296],{},[282,1261,1262,1265],{},[194,1263,1264],{},"Orchestrator-in-the-model."," Jailbreak equals admin.",[282,1267,1268,1271],{},[194,1269,1270],{},"Shared toolbox."," Every specialist has every write.",[282,1273,1274,1277],{},[194,1275,1276],{},"Context as only memory."," Compaction deletes the approval.",[282,1279,1280,1283],{},[194,1281,1282],{},"MCP as control plane."," Plug without grants.",[282,1285,1286,1289],{},[194,1287,1288],{},"Eval = transcript."," The model graded itself.",[282,1291,1292,1295],{},[194,1293,1294],{},"Two harnesses, one SoR writer."," IDE MCP and OS both PATCH.",[282,1297,1298,1301,1302,320],{},[194,1299,1300],{},"Framework mistaken for architecture."," Nodes without identity. ",[199,1303,1305],{"href":1304},"agent-harness-vs-agent-framework","Harness vs framework",[190,1307,1308,1312],{},[199,1309,505],{"href":1310,"rel":1311},"https://eur-lex.europa.eu/eli/reg/2024/1689/oj",[203]," oversight needs interrupt and record. Those are boxes 5, 6, and 9.",[259,1314,1316],{"id":1315},"mapping-langchains-anatomy-onto-company-objects","Mapping LangChain’s anatomy onto company objects",[190,1318,1319,1323],{},[199,1320,1322],{"href":932,"rel":1321},[203],"LangChain’s parts list"," is built from coding and general agents. Translate, do not copy:",[1325,1326,1327,1343],"table",{},[1328,1329,1330],"thead",{},[1331,1332,1333,1337,1340],"tr",{},[1334,1335,1336],"th",{},"Anatomy piece",[1334,1338,1339],{},"Inner binding",[1334,1341,1342],{},"Outer binding",[1344,1345,1346,1361,1372,1383,1397,1408,1422],"tbody",{},[1331,1347,1348,1352,1358],{},[1349,1350,1351],"td",{},"System prompts / skills",[1349,1353,1354,1357],{},[317,1355,1356],{},"CLAUDE.md",", skills",[1349,1359,1360],{},"Wiki playbooks, versioned with the run",[1331,1362,1363,1366,1369],{},[1349,1364,1365],{},"Tools + MCP",[1349,1367,1368],{},"Shell, apply_patch, browser",[1349,1370,1371],{},"Connectors; MCP behind the same grant",[1331,1373,1374,1377,1380],{},[1349,1375,1376],{},"Filesystem / sandbox",[1349,1378,1379],{},"Checkout, container",[1349,1381,1382],{},"Workstream canvas + isolated grants",[1331,1384,1385,1388,1391],{},[1349,1386,1387],{},"Orchestration",[1349,1389,1390],{},"Subagents in the IDE",[1349,1392,1393,1396],{},[199,1394,1395],{"href":948},"Agent teams"," on a roster",[1331,1398,1399,1402,1405],{},[1349,1400,1401],{},"Hooks / middleware",[1349,1403,1404],{},"PreToolUse, lint",[1349,1406,1407],{},"Write interceptor, spend cap",[1331,1409,1410,1413,1416],{},[1349,1411,1412],{},"Memory",[1349,1414,1415],{},"Files, git, memory md",[1349,1417,1418,1419],{},"Wiki + ",[199,1420,23],{"href":1421},"what-is-a-lifecycle-graph",[1331,1423,1424,1427,1430],{},[1349,1425,1426],{},"Eval",[1349,1428,1429],{},"Tests, Terminal-Bench",[1349,1431,1432],{},"Quote hash, SoR read-back",[190,1434,1435],{},"If a vendor cannot fill the outer column, they are an inner (or framework) product. That is allowed. Do not invent the column in a slide.",[190,1437,1438,1441,1442,1445,1446,320],{},[194,1439,1440],{},"Control plane independence."," Whatever sits in the Orchestration row must know grants, budget, and gates ",[992,1443,1444],{},"without"," asking the model. LangGraph can do that if the nodes are code. A “manager agent” with every tool cannot. Nimbus’s orchestrator is product-hosted for that reason; you should still ask it to refuse when NetSuite is missing. ",[199,1447,94],{"href":561},[190,1449,1450,1453],{},[194,1451,1452],{},"Thoughtworks’ four combinations"," (deterministic/probabilistic × feed-forward/feedback) overlay this table. Whitelists and spend ceilings are box 5/6 deterministic feed-forward. Schema validation is box 8 deterministic feedback. Wiki retrieval is probabilistic feed-forward. LLM critic is probabilistic feedback — never the only item in box 8 for a GL post.",[190,1455,1456,1459,1460,320],{},[194,1457,1458],{},"Two harnesses, one SoR rule."," Draw both columns on one whiteboard. Draw one write plane. If two arrows reach Salesforce, you have an architecture incident waiting. ",[199,1461,1009],{"href":1008},[190,1463,1464,1465,320],{},"Version the diagram when you add a tool. A new MCP server is a change to boxes 4 and 6, not a chat plugin. ",[199,1466,1468],{"href":1467},"what-is-model-context-protocol","MCP",[190,1470,1471,1472,1476],{},"Implementation order for a company that has none of this: (1) split write plane from read plane — even if the “harness” is still a single agent; (2) pin policy version on the run; (3) add one deterministic sensor on the artefact you cannot get wrong; (4) host the orchestrator’s grants outside the prompt; (5) only then add specialists. Reversing that order is how shared-toolbox packs ship. ",[199,1473,1475],{"href":1126,"rel":1474},[203],"Anthropic"," starts with bounding tools and defining done for a reason.",[190,1478,1479,1480,945,1482,945,1484,945,1486,1489,1490,1493],{},"Framework teams should draw the ten boxes on the README of the graph repo and tick which are code, which are still prompts, which are missing. Product teams should map each box to a screen an operator can see. If box 8 is “the model reflects,” you do not have eval architecture. If box 6 is “the service account,” you do not have identity architecture. Nimbus’s screens are ",[199,1481,944],{"href":32},[199,1483,837],{"href":40},[199,1485,1048],{"href":28},[199,1487,1488],{"href":24},"graph"," — use them as a checklist, not as proof that the boxes exist in ",[992,1491,1492],{},"your"," configuration.",[190,1495,1496,1499],{},[199,1497,940],{"href":938,"rel":1498},[203]," calls the model the brain and the harness the body. Architecture is the anatomy of that body so Security can review it. If the diagram is only “LLM in the middle, tools around it,” you have a marketing poster. Add identity, the write split, the sensor that does not trust the brain, and the ledger. Then the poster is a design.",[259,1501,831],{"id":830},[190,1503,1504,1505,1507,1508,1511],{},"The product is a particular binding of the ten boxes for operators: hosted loop, workstream workspace, wiki context, connector dispatch, governance hooks, team orchestration, graph memory, NTU routing. ",[199,1506,11],{"href":12},". Inspect each box in a PoV the way you would inspect Claude Code’s hooks and sandbox for an inner buy. ",[199,1509,1510],{"href":561},"How to evaluate",". AIP and Agentforce bind the same boxes to Ontology or CRM; the architecture still applies.",[259,1513,1515],{"id":1514},"questions-people-actually-ask","Questions people actually ask",[1517,1518,1520],"h3",{"id":1519},"do-we-need-all-ten-boxes-on-day-one","Do we need all ten boxes on day one?",[190,1522,1523],{},"You need loop, tools, a stop, and a sensor for the job you are running. Add orchestration when duties split. Add graph when people leave. Do not add every MCP server first.",[1517,1525,1527],{"id":1526},"is-this-the-same-as-an-enterprise-ai-os-architecture","Is this the same as an enterprise AI OS architecture?",[190,1529,1530,1534],{},[199,1531,1533],{"href":1532},"enterprise-ai-operating-system-architecture","OS architecture"," is the product category (collaboration, gates, ledger, routing). Harness architecture is the runtime idea that also covers Claude Code. Overlap on the outer side is expected.",[1517,1536,1538],{"id":1537},"where-do-skills-fit","Where do skills fit?",[190,1540,1541,1542,320],{},"Reusable procedures in the context box. Not a substitute for hooks. ",[199,1543,1546],{"href":1544,"rel":1545},"https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more",[203],"Anthropic on steering",[1517,1548,1550],{"id":1549},"can-langgraph-implement-this","Can LangGraph implement this?",[190,1552,1553,1554,320],{},"Yes. You will implement boxes 5, 6, and 9 yourself for enterprise writes. That is ",[199,1555,1557],{"href":1556},"build-vs-buy-an-enterprise-ai-os","build vs buy",[1517,1559,1561],{"id":1560},"what-should-i-read-next","What should I read next?",[190,1563,1564,1566,1567,1566,1570,320],{},[199,1565,1216],{"href":1215},". ",[199,1568,1569],{"href":822},"What is harness engineering",[199,1571,1573],{"href":1572},"what-is-an-enterprise-agent-harness","What is an enterprise agent harness",[259,1575,1577],{"id":1576},"related-reading","Related reading",[190,1579,1580,1584,1585,320],{},[199,1581,1583],{"href":1582},"workstream-architecture","Workstream architecture"," and ",[199,1586,1587],{"href":952},"Connector and permissions architecture",[259,1589,1591],{"id":1590},"sources","Sources",[279,1593,1594,1600,1606,1613,1619,1626,1632,1638,1644,1650,1657,1664,1669,1674,1679,1685,1691],{},[282,1595,1596],{},[199,1597,1599],{"href":932,"rel":1598},[203],"LangChain, The anatomy of an agent harness",[282,1601,1602],{},[199,1603,1605],{"href":1120,"rel":1604},[203],"LangChain, Agents",[282,1607,1608],{},[199,1609,1612],{"href":1610,"rel":1611},"https://www.langchain.com/blog/how-to-build-a-custom-agent-harness",[203],"LangChain, How to build a custom agent harness",[282,1614,1615],{},[199,1616,1618],{"href":938,"rel":1617},[203],"Databricks, What is an AI agent harness?",[282,1620,1621],{},[199,1622,1625],{"href":1623,"rel":1624},"https://en.wikipedia.org/wiki/Agent_harness",[203],"Wikipedia, Agent harness",[282,1627,1628],{},[199,1629,1631],{"href":1126,"rel":1630},[203],"Anthropic, Building effective agents",[282,1633,1634],{},[199,1635,1637],{"href":1029,"rel":1636},[203],"Anthropic, Effective harnesses for long-running agents",[282,1639,1640],{},[199,1641,1643],{"href":1544,"rel":1642},[203],"Anthropic, Steering Claude Code",[282,1645,1646],{},[199,1647,1649],{"href":1174,"rel":1648},[203],"Claude Code, Hooks",[282,1651,1652],{},[199,1653,1656],{"href":1654,"rel":1655},"https://martinfowler.com/articles/harness-engineering.html",[203],"Böckeler, Harness engineering for coding agent users",[282,1658,1659],{},[199,1660,1663],{"href":1661,"rel":1662},"https://addyosmani.com/blog/agent-harness-engineering/",[203],"Addy Osmani, Agent harness engineering",[282,1665,1666],{},[199,1667,1083],{"href":236,"rel":1668},[203],[282,1670,1671],{},[199,1672,244],{"href":242,"rel":1673},[203],[282,1675,1676],{},[199,1677,505],{"href":1310,"rel":1678},[203],[282,1680,1681],{},[199,1682,1684],{"href":378,"rel":1683},[203],"OWASP Top 10 for LLM applications",[282,1686,1687],{},[199,1688,1690],{"href":271,"rel":1689},[203],"McKinsey, The state of AI in 2025",[282,1692,1693],{},[199,1694,1696],{"href":1018,"rel":1695},[203],"Model Context Protocol specification",{"title":171,"searchDepth":172,"depth":172,"links":1698},[1699,1700,1701,1702,1703,1704,1705,1712,1713],{"id":981,"depth":172,"text":982},{"id":1072,"depth":172,"text":1073},{"id":1107,"depth":172,"text":1108},{"id":1256,"depth":172,"text":1257},{"id":1315,"depth":172,"text":1316},{"id":830,"depth":172,"text":831},{"id":1514,"depth":172,"text":1515,"children":1706},[1707,1708,1709,1710,1711],{"id":1519,"depth":645,"text":1520},{"id":1526,"depth":645,"text":1527},{"id":1537,"depth":645,"text":1538},{"id":1549,"depth":645,"text":1550},{"id":1560,"depth":645,"text":1561},{"id":1576,"depth":172,"text":1577},{"id":1590,"depth":172,"text":1591},"2026-08-24","Agent harness architecture is the runtime around a model: loop, tools, context, hooks, permissions, and eval — mapped, for company jobs, onto workstreams, agent teams, connectors, and write gates.","/blog/agent-harness-architecture",{"title":916,"description":1715},"blog/agent-harness-architecture",[229,1720,1721,837],"agent-harness","orchestration","XdfJCVoG0qzYyl-w8rY36RiV_eYemVYaVeWUfQRTJCA",{"id":1724,"title":1725,"archived":165,"authors":1726,"badge":1728,"body":1729,"date":868,"definedTerm":166,"department":166,"description":2494,"extension":174,"eyebrow":166,"faqHeader":2495,"faqs":2497,"footerBand":166,"headline":166,"image":166,"industry":166,"jobType":166,"listed":165,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":2510,"relatedHeading":166,"seo":2511,"series":229,"sitemap":131,"status":166,"stem":2512,"subhead":166,"tags":2513,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":2516},"content/blog/four-pillars-of-an-enterprise-ai-platform.md","The Four Pillars of an Enterprise AI Platform",[1727],{"name":184,"to":136},{"label":186},{"type":168,"value":1730,"toc":2483},[1731,1751,1754,1762,1774,1778,1783,1786,1806,1818,1821,1836,1839,1842,1846,1855,1873,1876,1901,1903,1914,1921,1924,1954,1957,1961,1970,1990,2016,2019,2057,2065,2082,2090,2093,2113,2121,2125,2134,2144,2147,2173,2180,2185,2199,2207,2211,2214,2243,2249,2252,2285,2288,2296,2300,2306,2316,2326,2343,2354,2358,2400,2403,2413,2417,2445,2452,2464,2466,2478,2481],[190,1732,1733,1734,945,1737,945,1740,1743,1744,1566,1746,1750],{},"An enterprise AI platform is easier to score when you split it into four operator-facing pillars: ",[194,1735,1736],{},"Communication",[194,1738,1739],{},"Collaboration",[194,1741,1742],{},"Automate",", and ",[194,1745,39],{},[199,1747,1749],{"href":271,"rel":1748},[203],"McKinsey’s 2025 State of AI"," keeps showing high usage and uneven scale. Scale fails when those four jobs are sold as four disconnected tools — a copilot here, a personal automation chain there, a policy PDF elsewhere — with no shared job object.",[190,1752,1753],{},"This page is category language you can use in an RFP. It is not a model catalog. It is not a vendor brochure. The four pillars are a pattern for how departments finish work together without a personal-account workaround.",[190,1755,1756,1757,1761],{},"For the kernel metaphor — process isolation, permissions, durable state — read ",[199,1758,1760],{"href":1759},"what-is-an-enterprise-ai-operating-system","what is an enterprise AI operating system"," once. That article is the OS layer. This article is the product map sitting on top: what you configure, what you open Monday morning, what audit asks for. You do not need both frames in every meeting. You do need to know which one you are using.",[190,1763,1764,1768,1769,1773],{},[199,1765,1767],{"href":236,"rel":1766},[203],"NIST’s AI Risk Management Framework"," — Govern, Map, Measure, Manage — is the public-sector cousin of the same idea. ",[199,1770,244],{"href":1771,"rel":1772},"https://www.iso.org/standard/81230.html",[203]," is the management-system cousin. Neither standard names these four pillars. Both assume you can point at context, actors, actions, and records. The pillars are how those assumptions show up as products operators can touch.",[259,1775,1777],{"id":1776},"pillar-1-communication","Pillar 1 — Communication",[190,1779,1780,1782],{},[194,1781,1736],{}," is how context enters the company — mail, meetings, files, threads — attached to work instead of trapped in personal inboxes.",[190,1784,1785],{},"Why it is a pillar, not an app feature:",[279,1787,1788,1794,1800],{},[282,1789,1790,1793],{},[194,1791,1792],{},"Context is the input"," to every downstream job. A renewal without the thread is a guess. A close pack without the statement version is a dispute waiting for Thursday.",[282,1795,1796,1799],{},[194,1797,1798],{},"Personal mail is not a system of work."," Forwarding a contract to a consumer model breaks roster, retention, and sign-off. The model may be capable. The path is not.",[282,1801,1802,1805],{},[194,1803,1804],{},"Files need lineage"," — which attachment ran, which version, which run page cites it. Without lineage, Automate cannot tell two drops apart, and Governance cannot reconstruct Tuesday.",[190,1807,1808,1813,1814,1817],{},[199,1809,1812],{"href":1810,"rel":1811},"https://www.microsoft.com/en-us/worklab/work-trend-index",[203],"Microsoft’s Work Trend Index"," has spent years documenting how much decision context still lives in mail and meetings. Your platform should meet people there, then ",[194,1815,1816],{},"lift"," context onto jobs. Meeting people in mail without lifting is how you get a smarter inbox and the same ungoverned work.",[190,1819,1820],{},"Operator tests:",[279,1822,1823,1826,1833],{},[282,1824,1825],{},"Can I open a thread and see which job object owns it?",[282,1827,1828,1829,1832],{},"Can a standing order start when a ",[194,1830,1831],{},"file lands"," in the communication layer — not only in a personal drive?",[282,1834,1835],{},"Does search respect the same scopes as writes? A search box that sees more than the writer may write is a leak, not a feature.",[190,1837,1838],{},"Without Communication, Collaboration becomes upload-and-pray. Automate triggers on paths operators do not use. Governance is asked to sign artefacts nobody can find. The pillar looks “soft” in an architecture review because it resembles email. It is not soft. It is the intake.",[190,1840,1841],{},"Communication fails when the company buys another inbox, when files live in a drive that has no job identifier, or when meeting transcripts are stored as personal artefacts. It also fails when “we have a connector” is treated as lineage. A connector that can read mail is not the same as a thread bound to a job.",[259,1843,1845],{"id":1844},"pillar-2-collaboration","Pillar 2 — Collaboration",[190,1847,1848,1850,1851,1854],{},[194,1849,1739],{}," is multiple roles — and, when useful, multiple agents — on ",[194,1852,1853],{},"one job object"," with a roster, a brief, connectors, and a finish line.",[190,1856,1857,1858,1861,1862,1865,1866,1868,1869,1872],{},"This is ",[199,1859,1860],{"href":255},"collaborative AI",", not “everyone has a copilot.” The controller, the FP&A partner, the RevOps manager, and counsel share an artefact; a model may draft; a ",[194,1863,1864],{},"named person"," signs; the trail stays. The host object is the ",[199,1867,841],{"href":352},": one job, one scope, one budget, one record that survives the session. People and agents join ",[194,1870,1871],{},"that"," room — not a net-new channel per project.",[190,1874,1875],{},"Why Collaboration is its own pillar:",[279,1877,1878,1884,1895],{},[282,1879,1880,1883],{},[194,1881,1882],{},"Roles must not collapse."," Draft ≠ approve ≠ post. If the same identity can do all three, you have a shared document with better formatting.",[282,1885,1886,1889,1890,1584,1892,320],{},[194,1887,1888],{},"Agents are teammates with grants",", not god accounts. See ",[199,1891,851],{"href":762},[199,1893,1894],{"href":561},"how to evaluate an agent harness",[282,1896,1897,1900],{},[194,1898,1899],{},"Guests exist"," — business-unit finance, outside counsel — without handing them ERP keys. A platform that cannot host a guest will push that guest into email, which is how the trail leaves.",[190,1902,1820],{},[279,1904,1905,1908,1911],{},[282,1906,1907],{},"Can two departments share a job without sharing every connector?",[282,1909,1910],{},"Can I see who is on the roster and what each role may do?",[282,1912,1913],{},"Does an agent’s output land on the job, not in someone’s private chat?",[190,1915,1916,1917,1920],{},"Collaboration without Governance is a shared folder. Collaboration without Automate still re-prompts Monday’s close from memory. Collaboration without Communication starts every job with “please upload the thing.” ",[199,1918,1919],{"href":250},"Multiplayer AI and multi-agent AI"," is the adjacent vocabulary: several people is not the same problem as several models.",[190,1922,1923],{},"Department depth, as educational patterns rather than product tours:",[279,1925,1926,1932,1936,1942,1946,1950],{},[282,1927,1928],{},[199,1929,1931],{"href":1930},"collaborative-ai-for-finance-and-planning","Collaborative AI for finance and planning",[282,1933,1934],{},[199,1935,423],{"href":422},[282,1937,1938],{},[199,1939,1941],{"href":1940},"collaborative-ai-for-legal-and-compliance-review","Collaborative AI for legal and compliance review",[282,1943,1944],{},[199,1945,428],{"href":427},[282,1947,1948],{},[199,1949,418],{"href":417},[282,1951,1952],{},[199,1953,413],{"href":412},[190,1955,1956],{},"Use those pages to see how the same roster pattern changes by function. Do not use them as a substitute for the operator tests above.",[259,1958,1960],{"id":1959},"pillar-3-automate","Pillar 3 — Automate",[190,1962,1963,1965,1966,1969],{},[194,1964,1742],{}," is repeat work compiled into ",[194,1967,1968],{},"standing orders"," — triggers, recipes, run pages — not endless chat re-runs.",[190,1971,1857,1972,1976,1977,1584,1981,1985,1986,1989],{},[199,1973,1975],{"href":1974},"what-is-loop-engineering","loop engineering",". See ",[199,1978,1980],{"href":1979},"six-things-that-start-a-loop","six things that start a loop",[199,1982,1984],{"href":1983},"loop-vs-workflow-vs-agent","loop vs workflow vs agent"," for the nouns. Standing-order loops are how the platform ",[194,1987,1988],{},"remembers"," what worked:",[279,1991,1992,1998,2004,2010],{},[282,1993,1994,1997],{},[194,1995,1996],{},"Triggers"," — schedule, file, data change, drop, ping, run now",[282,1999,2000,2003],{},[194,2001,2002],{},"Skip when nothing changed"," — quiet outcomes recorded",[282,2005,2006,2009],{},[194,2007,2008],{},"Run page"," — what ran, skipped, produced, notified",[282,2011,2012,2015],{},[194,2013,2014],{},"Optional model steps"," for messy reads — bounded, then back to deterministic paths",[190,2017,2018],{},"Disambiguation operators need, because vendors will not do it for you:",[279,2020,2021,2027,2037,2047],{},[282,2022,2023,2026],{},[194,2024,2025],{},"Loop"," — standing order (this pillar)",[282,2028,2029,2032,2033,2036],{},[194,2030,2031],{},"Eval loop"," — independent verification a job finished (",[199,2034,2035],{"href":1215},"eval loops",")",[282,2038,2039,2042,2043,2036],{},[194,2040,2041],{},"Agentic workflow"," — person-designed sequence with stops (",[199,2044,2046],{"href":2045},"what-is-an-agentic-workflow","agentic workflow",[282,2048,2049,2052,2053,2036],{},[194,2050,2051],{},"RPA"," — UI replay, still valid when the screen is the only door (",[199,2054,2056],{"href":2055},"loop-vs-rpa","loop vs RPA",[190,2058,2059,2060,2064],{},"Operator tests from ",[199,2061,2063],{"href":2062},"how-to-evaluate-loop-engineering","how to evaluate loop engineering",":",[279,2066,2067,2070,2073,2076,2079],{},[282,2068,2069],{},"Ten empty runs → ten skipped run pages",[282,2071,2072],{},"Reuse a recipe without copying Slack",[282,2074,2075],{},"Notify a roster, not a dead channel",[282,2077,2078],{},"Show a write path that does not require a model",[282,2080,2081],{},"Refuse a write and prove the system of record unchanged",[190,2083,2084,2085,2089],{},"Automate without Governance sends unattended writes. Automate without Communication lacks the triggers operators already use. Automate without Collaboration notifies nobody who can act. ",[199,2086,2088],{"href":2087},"a-loop-is-not-an-agent","A loop is not an agent",": if the happy path still calls a model to “figure it out,” you have scheduled an agent, not compiled a standing order.",[190,2091,2092],{},"Department loops, again as patterns:",[279,2094,2095,2101,2107],{},[282,2096,2097],{},[199,2098,2100],{"href":2099},"loops-for-finance-and-planning","Loops for finance and planning",[282,2102,2103],{},[199,2104,2106],{"href":2105},"loops-for-revenue-operations","Loops for revenue operations",[282,2108,2109],{},[199,2110,2112],{"href":2111},"loops-for-legal-and-compliance","Loops for legal and compliance",[190,2114,2115,2120],{},[199,2116,2119],{"href":2117,"rel":2118},"https://www.gartner.com/en/documents/5505695",[203],"Gartner’s Hype Cycle for Artificial Intelligence"," has spent several cycles on the gap between experimentation and operational habit. Automate is the habit pillar. It is also the pillar teams skip because a copilot demo is more fun. Skip it and you will still be re-describing Monday in October.",[259,2122,2124],{"id":2123},"pillar-4-governance","Pillar 4 — Governance",[190,2126,2127,2129,2130,2133],{},[194,2128,39],{}," is the control plane — who may read, who may draft, who must sign, what happens on refuse — ",[194,2131,2132],{},"enforced",", not PDF’d.",[190,2135,2136,2137,1584,2140,2143],{},"See ",[199,2138,2139],{"href":214},"what is AI governance",[199,2141,2142],{"href":224},"what is write-back governance",". Governance turns Collaboration and Automate from demos into systems auditors can reconstruct. It is not “Legal’s pillar” alone. Finance needs it for journals. RevOps needs it for CRM writes. Support needs it before a customer-facing send.",[190,2145,2146],{},"Why Governance is a pillar:",[279,2148,2149,2155,2161,2167],{},[282,2150,2151,2154],{},[194,2152,2153],{},"Fail-closed writes"," — an unsigned payload does not execute",[282,2156,2157,2160],{},[194,2158,2159],{},"Quoted payloads"," — structured intent, not a paragraph the model later misreads",[282,2162,2163,2166],{},[194,2164,2165],{},"Identity"," — which human or agent acted, under which policy version",[282,2168,2169,2172],{},[194,2170,2171],{},"Lifecycle record"," — exportable history for “what happened Tuesday”",[190,2174,2175,2176,2179],{},"NIST’s Govern function applies to all stages; Map, Measure, and Manage apply to specific systems. A platform that cannot show a refused write cannot Measure. A platform that cannot name the signer cannot Govern. ",[199,2177,244],{"href":1771,"rel":2178},[203]," will ask for the management system around those facts. A policy wiki is not that system.",[190,2181,2182,2183,2064],{},"Operator tests overlap ",[199,2184,1894],{"href":561},[279,2186,2187,2190,2193,2196],{},[282,2188,2189],{},"Show a refused write; system of record unchanged",[282,2191,2192],{},"Replay signer, policy version, and payload without Slack search",[282,2194,2195],{},"Detach a connector mid-job; the write fails closed",[282,2197,2198],{},"Show that a guest can see the artefact they were invited to and not the connector they were not",[190,2200,2201,2202,2206],{},"Governance without Automate still leaves Monday manual. Governance without Collaboration has no roster to sign. Governance without Communication is asked to approve a file that arrived in a personal drive. ",[199,2203,2205],{"href":2204},"governance-as-a-multiplayer-primitive","Governance as a multiplayer primitive"," is the deeper cut: controls that only one person can operate are not organisational controls.",[259,2208,2210],{"id":2209},"how-the-four-pillars-connect","How the four pillars connect",[190,2212,2213],{},"Communication feeds context. Collaboration hosts the job. Automate repeats the recipe. Governance refuses what should not land.",[623,2215,2217],{"className":625,"code":2216,"language":627,"meta":171,"style":171},"flowchart TB\n  communication[\"Communication: files and context\"] --> workstream[\"One shared job\"]\n  collaboration[\"Collaboration: people on the job\"] --> workstream\n  workstream --> automate[\"Automate: standing orders\"]\n  workstream --> governance[\"Governance: who can stop a write\"]\n",[317,2218,2219,2223,2228,2233,2238],{"__ignoreMap":171},[631,2220,2221],{"class":633,"line":634},[631,2222,637],{},[631,2224,2225],{"class":633,"line":172},[631,2226,2227],{},"  communication[\"Communication: files and context\"] --> workstream[\"One shared job\"]\n",[631,2229,2230],{"class":633,"line":645},[631,2231,2232],{},"  collaboration[\"Collaboration: people on the job\"] --> workstream\n",[631,2234,2235],{"class":633,"line":651},[631,2236,2237],{},"  workstream --> automate[\"Automate: standing orders\"]\n",[631,2239,2240],{"class":633,"line":657},[631,2241,2242],{},"  workstream --> governance[\"Governance: who can stop a write\"]\n",[190,2244,2245,2246,320],{},"One workstream sits at the center because that is what operators open — not “the OS kernel.” The OS article explains why isolation matters. This diagram shows ",[194,2247,2248],{},"what you buy and configure",[190,2250,2251],{},"A typical week that uses all four:",[791,2253,2254,2260,2269,2275],{},[282,2255,2256,2257,2259],{},"Vendor redlines arrive in ",[194,2258,1736],{}," and start a standing-order loop",[282,2261,2262,2263,2265,2266,2268],{},"The loop drafts an obligation summary onto a ",[194,2264,841],{},"; the ",[194,2267,1739],{}," roster is notified",[282,2270,2271,2272,2274],{},"Counsel rejects one clause; ",[194,2273,39],{}," records the refuse; the customer email never sends",[282,2276,2277,2278,2280,2281,2284],{},"A controller signs an accrual payload; ",[194,2279,39],{}," executes; the ",[194,2282,2283],{},"run page"," shows the read-back",[190,2286,2287],{},"A copilot-only stack handles a fragment of step two and loses the rest. An RPA-only stack may fetch the file and still have nowhere to put the refuse. A governance-only programme produces a PDF that nobody runs. The pattern is the combination.",[190,2289,2290,2295],{},[199,2291,2294],{"href":2292,"rel":2293},"https://aiindex.stanford.edu/",[203],"Stanford HAI’s AI Index"," will not score your pillars. It will keep showing capability outrunning operational maturity. Maturity, on this map, is whether that week is a designed object or a heroic week in chat.",[259,2297,2299],{"id":2298},"what-this-is-not","What this is not",[190,2301,2302,2305],{},[194,2303,2304],{},"Not a model catalog."," Pillar scores do not start with parameter counts. If the first row of your RFP is context-window size, you are shopping for a chip.",[190,2307,2308,2311,2312,2315],{},[194,2309,2310],{},"Not MLOps."," Training and deployment governance stack ",[194,2313,2314],{},"below"," operational work. They do not replace workstreams, run pages, or signers. You still need them. They are not these four pillars.",[190,2317,2318,2321,2322,2325],{},[194,2319,2320],{},"Not a second CRM."," Systems of record stay authoritative. The platform is the system of ",[194,2323,2324],{},"work",". If a vendor offers to become the ledger, fail the row.",[190,2327,2328,342,2331,2333,2334,2338,2339,2342],{},[194,2329,2330],{},"Not harness engineering alone.",[199,2332,823],{"href":822}," tightens interactive agents. ",[199,2335,2337],{"href":2336},"loop-engineering-vs-harness-engineering","Loop engineering"," compiles repeat orders. Both live ",[194,2340,2341],{},"inside"," pillars — Automate and Governance — not as replacements for Communication or Collaboration.",[190,2344,2345,342,2348,2353],{},[194,2346,2347],{},"Not “intelligent automation” as a single buy.",[199,2349,2352],{"href":2350,"rel":2351},"https://www.deloitte.com/us/en/insights/topics/talent/intelligent-automation-2022-survey-results.html",[203],"Deloitte’s intelligent automation research"," is useful precisely because it shows toolkits widening. RPA, OCR, process mining, and models are ingredients. The pillars are how ingredients become a platform operators can live in.",[259,2355,2357],{"id":2356},"rfp-scoring-one-row-per-pillar","RFP scoring — one row per pillar",[1325,2359,2360,2370],{},[1328,2361,2362],{},[1331,2363,2364,2367],{},[1334,2365,2366],{},"Pillar",[1334,2368,2369],{},"Ask the vendor",[1344,2371,2372,2379,2386,2393],{},[1331,2373,2374,2376],{},[1349,2375,1736],{},[1349,2377,2378],{},"Show mail or meeting context bound to a job; file trigger",[1331,2380,2381,2383],{},[1349,2382,1739],{},[1349,2384,2385],{},"Show roster roles, guest access, agent with a scoped grant",[1331,2387,2388,2390],{},[1349,2389,1742],{},[1349,2391,2392],{},"Show skipped runs, recipe reuse, a run page",[1331,2394,2395,2397],{},[1349,2396,39],{},[1349,2398,2399],{},"Show a refused write, signer replay, policy version",[190,2401,2402],{},"Fail any row and you will rebuild that function in email within two quarters. That is not rhetoric. It is how departments already work when a pillar is missing: they invent a side channel.",[190,2404,2405,2406,1584,2409,2412],{},"If you can only run two demos, run ",[194,2407,2408],{},"file bound to a job",[194,2410,2411],{},"refused write",". Those two catch Communication-plus-Automate and Governance. Then ask who was notified. That catches Collaboration.",[259,2414,2416],{"id":2415},"sequencing-for-operators","Sequencing for operators",[791,2418,2419,2425,2430,2435],{},[282,2420,2421,2424],{},[194,2422,2423],{},"Communication + Governance"," — scoped context, read-only connectors, fail-closed default. You can now see work and you cannot silently change a live system.",[282,2426,2427,2429],{},[194,2428,1739],{}," — one real workstream, two departments, one signer. You can now finish a job without a personal workaround.",[282,2431,2432,2434],{},[194,2433,1742],{}," — compile the job that ran the same way for three months. You can now skip quietly on a week with nothing to do.",[282,2436,2437,2440,2441,2444],{},[194,2438,2439],{},"Expand loops and agents"," — ",[199,2442,2443],{"href":2087},"a loop is not an agent","; use each where stability fits. Do not compile the unknown path. Do not improvise the known one.",[190,2446,2447,2451],{},[199,2448,2450],{"href":271,"rel":2449},[203],"McKinsey"," associates redesign — not tool count — with organisations that report more impact. This sequence is a redesign order. Model-first is the opposite order: capability first, operating object later, email in the gaps.",[190,2453,2454,2455,945,2457,945,2459,1743,2461,2463],{},"Related reading: ",[199,2456,2063],{"href":2062},[199,2458,1894],{"href":561},[199,2460,851],{"href":762},[199,2462,2139],{"href":214},". The OS page is linked once above; use it when the conversation drifts to kernels.",[259,2465,831],{"id":830},[190,2467,2468,2469,2471,2472,2474,2475,2477],{},"Nimbus maps the four pillars onto product surfaces: ",[199,2470,15],{"href":16}," and syncs for Communication, ",[199,2473,944],{"href":32}," for Collaboration, Loops for Automate, and ",[199,2476,837],{"href":40}," for the control plane. That mapping is one vendor’s arrangement of the pattern, not the pattern itself.",[190,2479,2480],{},"If you are writing an RFP, keep the table above and run it on Nimbus the same way you would run it on anyone else. Ask for a file bound to a workstream, a roster with a guest, ten skipped Loop runs, and a refused write. The useful outcome is whether those four demonstrations share one job object. A platform that can only show them as four tours has the nouns and not the map.",[854,2482,856],{},{"title":171,"searchDepth":172,"depth":172,"links":2484},[2485,2486,2487,2488,2489,2490,2491,2492,2493],{"id":1776,"depth":172,"text":1777},{"id":1844,"depth":172,"text":1845},{"id":1959,"depth":172,"text":1960},{"id":2123,"depth":172,"text":2124},{"id":2209,"depth":172,"text":2210},{"id":2298,"depth":172,"text":2299},{"id":2356,"depth":172,"text":2357},{"id":2415,"depth":172,"text":2416},{"id":830,"depth":172,"text":831},"An enterprise AI platform stands on four pillars — Communication, Collaboration, Automate, and Governance — so departments finish work together without personal-account workarounds.",{"eyebrow":871,"title":2496},"Product map vs kernel metaphor",[2498,2501,2504,2507],{"question":2499,"answer":2500},"Is this the same as an enterprise AI operating system?","Related, not identical, and scoring them as one object hides what operators actually touch. The operating system is the kernel metaphor — isolation, permissions, durable state — described in [what is an enterprise AI operating system](what-is-an-enterprise-ai-operating-system). These four pillars are the product map: how Communication, Collaboration, Automate, and Governance show up on Monday morning. Use the OS page when you need language for process isolation and fail-closed writes. Use this page when you are scoring vendors on mail, rosters, standing orders, and signers. Refuse a deck that treats “we have an OS” as a substitute for a run page, a roster, or a refused write.",{"question":2502,"answer":2503},"Which pillar should we implement first?","Usually Communication plus Governance — scoped channels and fail-closed writes — then Collaboration on a shared job object, then Automate once the recipe has run the same way for long enough to compile. Automating chaos scales chaos. Use that sequence when the team still lives in personal inboxes and unsigned writes. Reverse it only if you already have a governed work object and are compiling a known path. Refuse “model first.” [McKinsey’s 2025 State of AI](https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai) keeps showing that usage without workflow redesign does not become scale.",{"question":2505,"answer":2506},"Do we need all four if we only want standing-order loops?","You can pilot one loop on a single trigger. Production repeat work pulls the other three whether you named them or not. Without Communication, the loop lacks the files and threads operators already use. Without Collaboration, it notifies a channel instead of a roster. Without Governance, it writes or it cannot prove it refused. Use a thin pilot to prove skip semantics. Refuse a production rollout that treats Automate as a standalone product. The first unsigned write will invent the missing pillars in email.",{"question":2508,"answer":2509},"How do we score a vendor that is strong on only two pillars?","Score the gap as rebuild-in-email risk, not as a discount. A brilliant copilot with no governance is a personal assistant. A brilliant bot farm with no communication layer will watch the wrong folder. A governance PDF with no collaboration object has no roster to sign. Ask each vendor to demonstrate one row per pillar, then decide which gap you are willing to own. Refuse a “platform” that cannot show a refused write and a file bound to a job in the same week. Those two demos catch most of the missing map.","/blog/four-pillars-of-an-enterprise-ai-platform",{"title":1725,"description":2494},"blog/four-pillars-of-an-enterprise-ai-platform",[229,2514,2515,837],"enterprise-ai","platform","H4olEqUn6HS9wQuT1NsGJLsIvTfxW7DuGCdNw-ryZWE",{"enabled":165,"message":2518,"linkLabel":79,"linkHref":80,"id":2519,"title":2520,"archived":165,"authors":166,"badge":166,"body":2521,"date":166,"definedTerm":166,"department":166,"description":171,"extension":174,"eyebrow":166,"faqHeader":166,"faqs":166,"footerBand":166,"headline":166,"image":166,"industry":166,"jobType":166,"listed":131,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":2525,"relatedHeading":166,"seo":2526,"series":166,"sitemap":165,"status":166,"stem":2527,"subhead":166,"tags":166,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":2528},"We're hiring! Join the team building the Sentient Enterprise.","content/shared/hiring.md","Hiring banner",{"type":168,"value":2522,"toc":2523},[],{"title":171,"searchDepth":172,"depth":172,"links":2524},[],"/shared/hiring",{"title":2520,"description":171},"shared/hiring","1zs3boivKda1e-b-hAyuNcmZSKjZUAXmecnwHVgcHzk",{"fold":2530,"id":2534,"title":2535,"archived":165,"authors":166,"badge":166,"body":2536,"date":166,"definedTerm":166,"department":166,"description":171,"extension":174,"eyebrow":166,"faqHeader":166,"faqs":166,"footerBand":2540,"headline":166,"image":166,"industry":166,"jobType":166,"listed":131,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":2544,"relatedHeading":166,"seo":2545,"series":166,"sitemap":165,"status":166,"stem":2546,"subhead":166,"tags":166,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":2547},{"headline":2531,"description":2532,"primaryLabel":8,"primaryTo":2533,"secondaryLabel":908,"secondaryTo":12},"Run frontier AI your business actually owns.","Governed agent swarms, 2,000+ integrations, and a knowledge graph that stays inside your walls. Start on Free.","/signup?plan=free","content/shared/cta.md","Site CTAs",{"type":168,"value":2537,"toc":2538},[],{"title":171,"searchDepth":172,"depth":172,"links":2539},[],{"headline":2541,"description":2542,"primaryLabel":8,"primaryTo":2533,"secondaryLabel":2543,"secondaryTo":85},"See what governed AI looks like on your stack.","Connect your tools, run a workstream, and keep every decision on your ledger. Start on Free.","Talk to our team","/shared/cta",{"title":2535,"description":171},"shared/cta","PS2VPJsszmUpMBZT6nEp8cWXCdeiN6zDRl-p8d0uY2k",1789797893942]