[{"data":1,"prerenderedAt":2168},["ShallowReactive",2],{"site-nav-content":3,"blog:\u002Fblog\u002Finner-vs-outer-agent-harness":177,"blog-index-copy":893,"blog:\u002Fblog\u002Finner-vs-outer-agent-harness:surround":914,"hiring-banner-content":2137,"site-cta-content":2149},{"header":4,"productNav":9,"nav":42,"footer":61,"askAI":132,"id":161,"title":162,"archived":163,"authors":164,"badge":164,"body":165,"date":164,"definedTerm":164,"department":164,"description":169,"extension":172,"eyebrow":164,"faqHeader":164,"faqs":164,"footerBand":164,"headline":164,"image":164,"industry":164,"jobType":164,"listed":131,"location":164,"navigation":131,"openRoles":164,"pageLayout":164,"path":173,"relatedHeading":164,"seo":174,"series":164,"sitemap":163,"status":164,"stem":175,"subhead":164,"tags":164,"video":164,"whyJoin":164,"workplaceType":164,"__hash__":176},{"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","\u002Foverview","Seven layers. One closed loop.",{"label":15,"to":16,"description":17},"Conflux","\u002Fproduct\u002Fconflux","Where your team, workstreams, and agents meet.",{"label":19,"to":20,"description":21},"Agent Teams","\u002Fproduct\u002Fagent-teams","Specialist teams - governed from day one.",{"label":23,"to":24,"description":25},"Lifecycle Graph","\u002Fproduct\u002Flifecycle-graph","Intelligence that compounds across every interaction.",{"label":27,"to":28,"description":29},"Company Wiki","\u002Fproduct\u002Fwiki","Playbooks and policies where expertise stays.",{"label":31,"to":32,"description":33},"Workstreams","\u002Fproduct\u002Fworkstreams","From brief to signed-off deliverable on one canvas.",{"label":35,"to":36,"description":37},"Perception Console","\u002Fproduct\u002Fperception","Ask your whole business in plain English.",{"label":39,"to":40,"description":41},"Governance","\u002Fproduct\u002Fgovernance","Frontier AI you can actually sign off on.",[43,46,49,52,55,58],{"label":44,"to":45},"Models","\u002Fmodels",{"label":47,"to":48},"Pricing","\u002Fpricing",{"label":50,"to":51},"Integrations","\u002Fintegrations",{"label":53,"to":54},"Security","\u002Fsecurity",{"label":56,"to":57},"Partners","\u002Fpartners",{"label":59,"to":60},"Insights","\u002Fblog",{"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:\u002F\u002Fdocs.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","\u002Fcareers",{"label":82,"to":83},"System status","\u002Fstatus",{"label":7,"to":85},"\u002Fcontact",[87,90,93,96,99],{"label":88,"to":89},"Glossary","\u002Fglossary",{"label":91,"to":92},"Compare","\u002Fcompare",{"label":94,"to":95},"Evaluate","\u002Fevaluate",{"label":97,"to":98},"Problems","\u002Fproblems",{"label":100,"to":101},"Use cases","\u002Fuse-cases",[103,106],{"label":104,"to":105},"Terms of Service","\u002Fterms",{"label":107,"to":108},"Privacy Policy","\u002Fprivacy",[110,113,116],{"label":111,"href":112},"LinkedIn","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fgonimbusai\u002F",{"label":114,"href":115},"X","https:\u002F\u002Fx.com\u002Fgonimbusai",{"label":117,"href":118},"Instagram","https:\u002F\u002Fwww.instagram.com\u002Fgonimbus_ai\u002F",[120,122,124,127,128],{"label":121,"to":105},"Terms",{"label":123,"to":108},"Privacy",{"label":125,"to":126},"Compliance","\u002Fcompliance",{"label":82,"to":83},{"label":129,"to":130,"external":131},"LLMs.txt","\u002Fllms.txt",true,{"text":133,"prompt":134,"platforms":135},"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. Summarize the highlights from Nimbus's website: https:\u002F\u002Fgonimbus.ai",[136,141,146,151,156],{"name":137,"label":138,"icon":139,"hrefPrefix":140},"chatgpt","ChatGPT","simple-icons:openai","https:\u002F\u002Fchatgpt.com\u002F?prompt=",{"name":142,"label":143,"icon":144,"hrefPrefix":145},"perplexity","Perplexity","mdi:magnify","https:\u002F\u002Fwww.perplexity.ai\u002Fsearch\u002Fnew?q=",{"name":147,"label":148,"icon":149,"hrefPrefix":150},"grok","Grok","simple-icons:x","https:\u002F\u002Fx.com\u002Fi\u002Fgrok?text=",{"name":152,"label":153,"icon":154,"hrefPrefix":155},"claude","Claude","simple-icons:anthropic","https:\u002F\u002Fclaude.ai\u002Fnew?q=",{"name":157,"label":158,"icon":159,"hrefPrefix":160},"google-ai","Google AI","simple-icons:google","https:\u002F\u002Fwww.google.com\u002Fsearch?udm=50&aep=11&q=","content\u002Fshared\u002Fnav.md","Site navigation",false,null,{"type":166,"value":167,"toc":168},"minimark",[],{"title":169,"searchDepth":170,"depth":170,"links":171},"",2,[],"md","\u002Fshared\u002Fnav",{"title":162,"description":169},"shared\u002Fnav","Q7sDe7TuGEwhwUMamyeOxjvGlsUaF3Iay9VTW0KaE_U",{"id":178,"title":179,"archived":163,"authors":180,"badge":184,"body":186,"date":869,"definedTerm":164,"department":164,"description":870,"extension":172,"eyebrow":164,"faqHeader":871,"faqs":874,"footerBand":164,"headline":164,"image":164,"industry":164,"jobType":164,"listed":131,"location":164,"navigation":131,"openRoles":164,"pageLayout":164,"path":884,"relatedHeading":164,"seo":885,"series":886,"sitemap":131,"status":164,"stem":887,"subhead":164,"tags":888,"video":164,"whyJoin":164,"workplaceType":164,"__hash__":892},"content\u002Fblog\u002Finner-vs-outer-agent-harness.md","Inner vs Outer Agent Harness",[181],{"name":182,"to":183},"Nimbus Research","https:\u002F\u002Fgonimbus.ai",{"label":185},"Explainer",{"type":166,"value":187,"toc":851},[188,207,228,253,269,274,354,381,385,388,391,405,422,425,449,461,465,483,493,504,513,524,535,554,564,581,585,588,598,607,617,621,631,641,650,655,661,672,675,679,684,687,691,698,702,712,716,722,726,733,737,753,757,767,771],[189,190,191,192,196,197,200,201,206],"p",{},"An ",[193,194,195],"strong",{},"inner agent harness"," is the runtime around a model for a developer and a codebase. An ",[193,198,199],{},"outer agent harness"," is the runtime around a model for operators and live business systems. Same equation — ",[202,203,205],"a",{"href":204},"https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flangchain\u002Fagents","Agent = Model + Harness"," — different workspace, different sensors, different stop.",[189,208,209,213,214,218,219,223,224,227],{},[202,210,212],{"href":211},"https:\u002F\u002Fmartinfowler.com\u002Farticles\u002Fharness-engineering.html","Böckeler"," already uses “outer harness” for the controls ",[215,216,217],"em",{},"users"," add around a coding agent (guides, sensors) as distinct from the vendor’s built-in loop. ",[202,220,222],{"href":221},"https:\u002F\u002Faddyosmani.com\u002Fblog\u002Fown-the-outer-loop\u002F","Addy Osmani"," tells engineers to own the outer loop of investigate → implement → verify so accountability does not dissolve into the model. This article borrows those words and draws the cut enterprises actually buy: ",[193,225,226],{},"repo versus company",".",[189,229,230,231,235,236,239,240,235,243,247,248,252],{},"Claude Code, Cursor, and Codex are excellent inner harnesses. They sandboxes, ",[232,233,234],"code",{},"apply_patch",", ",[232,237,238],{},"CLAUDE.md"," \u002F ",[232,241,242],{},"AGENTS.md",[202,244,246],{"href":245},"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fhooks","hooks",", and tests. Palantir AIP, Salesforce Agentforce, and OS-class products such as Nimbus are outer harnesses: ",[202,249,251],{"href":250},"\u002Fblog\u002Fwhat-is-an-ai-workstream\u002F","workstreams",", connectors, named signers, a decision record. Confusing them is how Legal is asked to “just use Cursor on the Salesforce repo” and how engineering is asked to “approve CRM writes in a coding agent.”",[189,254,255,259,260,264,265,268],{},[202,256,258],{"href":257},"\u002Fblog\u002Fhow-to-choose-between-a-coding-harness-and-an-enterprise-harness\u002F","How to choose between a coding harness and an enterprise harness"," is the buying version of this page. ",[202,261,263],{"href":262},"\u002Fblog\u002Fcollaborative-ai-and-personal-assistants\u002F","Collaborative AI and personal assistants"," is the adjacent cut (personal assistant versus departmental work). Inner\u002Fouter is about ",[215,266,267],{},"which loop you are hiring",", not whether the UI looks like chat.",[270,271,273],"h2",{"id":272},"words-youll-hear","Words you’ll hear",[275,276,277,284,290,300,314,324,339],"ul",{},[278,279,280,283],"li",{},[193,281,282],{},"Inner loop (classic SE)."," Edit, build, test on a developer’s machine. Fast. Local. The coding-agent inner harness lives here: shell, files, compiler.",[278,285,286,289],{},[193,287,288],{},"Outer loop (classic SE)."," PR, CI, review, release. Osmani’s “own the outer loop” is this accountability layer for agentic coding. Still software.",[278,291,292,295,296,299],{},[193,293,294],{},"Inner harness (this article)."," Vendor + user controls for a ",[193,297,298],{},"repository workspace",": Claude Code, Cursor, Codex. Eval: tests, Terminal-Bench, SWE-bench.",[278,301,302,305,306,309,310,227],{},[193,303,304],{},"Outer harness (this article)."," Controls for a ",[193,307,308],{},"company workspace",": jobs, systems of record, people who may sign. Eval: quoted write, identity, ledger. An ",[202,311,313],{"href":312},"\u002Fblog\u002Fwhat-is-an-enterprise-agent-harness\u002F","enterprise agent harness",[278,315,316,319,320,227],{},[193,317,318],{},"Guides vs sensors."," Feed-forward markdown versus feedback from tools. Inner: lint and pytest. Outer: schema of a Salesforce payload and a Hard gate. See ",[202,321,323],{"href":322},"\u002Fblog\u002Fwhat-is-harness-engineering\u002F","what is harness engineering",[278,325,326,329,330,334,335,227],{},[193,327,328],{},"CLAUDE.md \u002F AGENTS.md."," Inner guides. ",[202,331,333],{"href":332},"https:\u002F\u002Fclaude.com\u002Fblog\u002Fsteering-claude-code-skills-hooks-rules-subagents-and-more","Anthropic"," is explicit: files are context; hooks are deterministic. A company wiki is the outer analogue of those files — asserted policy, not a repo README. See ",[202,336,338],{"href":337},"\u002Fblog\u002Fwhat-is-a-company-wiki-for-ai-agents\u002F","What is a company wiki for AI agents",[278,340,341,344,345,348,349,353],{},[193,342,343],{},"Write gate."," Inner: hook denies ",[232,346,347],{},"rm"," or force-push. Outer: ",[202,350,352],{"href":351},"\u002Fblog\u002Fwhat-is-write-back-governance\u002F","write-back governance"," — adapter cannot mutate CRM until a named role signs the quote.",[189,355,356,357,361,362,235,364,368,369,373,374,361,377,380],{},"Nimbus is built as an outer harness: ",[202,358,360],{"href":359},"\u002Fproduct\u002Fwiki\u002F","wiki"," instead of only ",[232,363,242],{},[202,365,367],{"href":366},"\u002Fintegrations\u002F","connectors"," instead of only a local shell, ",[202,370,372],{"href":371},"\u002Fproduct\u002Fgovernance\u002F","governance"," instead of only a pre-commit hook, ",[202,375,23],{"href":376},"\u002Fproduct\u002Flifecycle-graph\u002F",[232,378,379],{},"git log",". Engineering should still run Claude Code. Those products should not share a write path to NetSuite.",[270,382,384],{"id":383},"why-you-should-care","Why you should care",[189,386,387],{},"Demos collapse the cut. Both products answer a question. Both call tools. Both show a transcript. The evaluation is the workspace.",[189,389,390],{},"It affects you if:",[275,392,393,396,399,402],{},[278,394,395],{},"Security asks whether the coding agent’s MCP server can reach production Salesforce",[278,397,398],{},"RevOps wants “an agent” and is shown a SWE-bench slide",[278,400,401],{},"Engineering wants Cursor and is told to wait for the enterprise OS",[278,403,404],{},"You already have both, and they silently write to the same object",[189,406,407,411,412,416,417,421],{},[202,408,410],{"href":409},"https:\u002F\u002Fwww.mckinsey.com\u002Fcapabilities\u002Fquantumblack\u002Four-insights\u002Fthe-state-of-ai","McKinsey’s 2025 State of AI"," describes agentic systems as an organisational design problem. Inner harnesses scale developer throughput. They do not, by themselves, scale governed operations. ",[202,413,415],{"href":414},"https:\u002F\u002Fhai.stanford.edu\u002Fai-index\u002F2025-ai-index-report","Stanford HAI’s 2025 AI Index"," maps how fast coding-agent tooling moved. Speed in the repo is not a substitute for ",[202,418,420],{"href":419},"https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2024\u002F1689\u002Foj","EU AI Act"," oversight on systems that affect customers and money.",[189,423,424],{},"Two failure modes:",[426,427,428,438],"ol",{},[278,429,430,433,434,437],{},[193,431,432],{},"Outer job, inner harness."," A pricing change drafted in Cursor with an MCP Salesforce tool. Tests pass on a fixture. Production Amount changes. ",[232,435,436],{},"git blame"," does not name the signer. You used a repo loop on a company record.",[278,439,440,443,444,448],{},[193,441,442],{},"Inner job, outer harness."," “Rewrite this function” opened as a cross-department ",[202,445,447],{"href":446},"\u002Fproduct\u002Fworkstreams\u002F","workstream"," with a Critical gate. Engineers will route around it. You used a company loop on a compile.",[189,450,451,455,456,460],{},[202,452,454],{"href":453},"https:\u002F\u002Fwww.nist.gov\u002Fitl\u002Fai-risk-management-framework","NIST AI RMF"," Map step: know the context of use. Inner and outer are different contexts. ",[202,457,459],{"href":458},"https:\u002F\u002Fwww.iso.org\u002Fstandard\u002F42001","ISO\u002FIEC 42001"," wants controls matched to that context. One harness policy for “all AI” is how both jobs get the wrong stop.",[270,462,464],{"id":463},"what-each-harness-actually-owns","What each harness actually owns",[189,466,467,470,471,475,476,479,480,482],{},[193,468,469],{},"Workspace."," Inner: a checkout, often sandboxed. Anthropic’s ",[202,472,474],{"href":473},"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents","long-running harness"," keeps progress in git and files because the workspace ",[215,477,478],{},"is"," the filesystem. Outer: a job folder with people, budget, and attached systems — a ",[202,481,447],{"href":250},". Files may appear as artefacts. They are not the system of record.",[189,484,485,488,489,492],{},[193,486,487],{},"Identity."," Inner: the developer’s machine credentials, a repo token, maybe a sandbox role. Outer: org roster, workstream membership, named approver. The model is not the principal. ",[202,490,491],{"href":366},"Connector and permissions architecture"," is the outer identity plane.",[189,494,495,498,499,503],{},[193,496,497],{},"Tools."," Inner: shell, editor, tests, browser, maybe MCP to docs. Outer: CRM, ERP, warehouse, ticket systems, mail — default read, write as a separate plane. ",[202,500,502],{"href":501},"\u002Fblog\u002Fwhat-is-model-context-protocol\u002F","MCP"," can sit under both. The grant must not.",[189,505,506,509,510,512],{},[193,507,508],{},"Guides."," Inner: ",[232,511,242],{},", skills, directory-local rules. Outer: company wiki, playbooks versioned with the run. Mixing them is useful (engineering conventions in the repo; discount policy in the wiki). Collapsing them is how a style guide becomes “legal approval.”",[189,514,515,518,519,523],{},[193,516,517],{},"Sensors."," Inner: typechecker, unit tests, CI, architecture tests. Böckeler and ",[202,520,522],{"href":521},"https:\u002F\u002Fwww.thoughtworks.com\u002Fen-us\u002Finsights\u002Fblog\u002Fgenerative-ai\u002Fharness-engineering-agent-feedback-exploring-ai-coding-sensors","Thoughtworks on sensors",". Outer: payload schema, blast-radius cardinality, maker-checker, exportable ledger. A passing pytest does not mean Opportunity.Stage was authorised.",[189,525,526,529,530,534],{},[193,527,528],{},"Stop."," Inner: tests red, hook exit 2, max steps, human in the IDE. Outer: wait-for-named-signer, missing connector, budget, reject. ",[202,531,533],{"href":532},"\u002Fblog\u002Fwhat-is-human-in-the-loop-ai\u002F","Human-in-the-loop"," in a coding agent is “the developer kept going.” HITL in an outer harness is a first-class step with identity.",[189,536,537,509,540,235,544,548,549,553],{},[193,538,539],{},"Eval.",[202,541,543],{"href":542},"https:\u002F\u002Fwww.swebench.com\u002F","SWE-bench",[202,545,547],{"href":546},"https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.11868","Terminal-Bench",", your suite. Outer: replay the signer; compare quote to SoR; see ",[202,550,552],{"href":551},"\u002Fblog\u002Feval-loops-for-enterprise-agent-harnesses\u002F","eval loops",". Leaderboard scores are not a SOX control.",[189,555,556,559,560,563],{},[193,557,558],{},"Memory."," Inner: files, commits, session transcripts, memory files the next coding session loads. Outer: wiki + ",[202,561,23],{"href":562},"\u002Fblog\u002Fwhat-is-a-lifecycle-graph\u002F"," so next quarter’s operator can ask why a field changed. Chat logs of a coding session are not institutional memory for RevOps.",[189,565,566,567,571,572,575,576,580],{},"Nimbus’s ",[202,568,570],{"href":569},"\u002Fproduct\u002Fagent-teams\u002F","agent teams"," sit on the outer side: mandates, required connectors, approval triggers. You can still ",[215,573,574],{},"use"," an inner harness as a bounded tool behind a connector (for example a coding agent that only opens a draft PR). Do not let that inner harness become the orchestrator of record for a CRM write. ",[202,577,579],{"href":578},"\u002Fblog\u002Fwhat-is-multi-agent-ai\u002F","Multi-agent architecture"," says the same thing with specialists: hands are not roles.",[270,582,584],{"id":583},"how-they-should-sit-together","How they should sit together",[189,586,587],{},"Most companies need both. That is not a hedge. It is how software and operations already split.",[189,589,590,593,594,597],{},[193,591,592],{},"Pattern that works."," Engineers use Cursor or Claude Code on application repos. CI remains the merge sensor. Separately, RevOps and Finance run outer-harness jobs on Salesforce and NetSuite. If a coding agent must touch a live business system, it proposes an artefact; the outer harness quotes and gates the write. Two writers to the same object without a single quote is the failure ",[202,595,596],{"href":578},"multi-agent architecture"," already names.",[189,599,600,603,604,227],{},[193,601,602],{},"Pattern that fails."," One MCP mesh with production tokens, used from the IDE and from the chatbot and from the OS. Confused deputy. ",[202,605,606],{"href":501},"What is Model Context Protocol",[189,608,609,612,613,227],{},[193,610,611],{},"Thoughtworks’ four layers"," — model, builder harness, user harness, organisational harness — map cleanly: Claude Code is builder + user on the inner side; the organisational layer is the outer operating model. Nimbus is one productisation of that outer layer, not the only one. AIP is a programme-shaped outer harness. Agentforce is CRM-anchored. Score scope and time-to-value separately. See ",[202,614,616],{"href":615},"\u002Fevaluate\u002F","self-service vs forward-deployed",[270,618,620],{"id":619},"a-week-that-uses-both","A week that uses both",[189,622,623,624,626,627,630],{},"Monday an engineer uses Cursor to fix a pricing calculator in the billing service. ",[232,625,242],{}," says no raw SQL in the request path. A hook blocks ",[232,628,629],{},"git push --force",". CI runs the unit suite. The PR is the artefact. CODEOWNERS signs the merge. That is a complete inner story. SWE-bench is relevant only as a vendor quality signal for the coding tool, not as a control.",[189,632,633,634,636,637,640],{},"Tuesday RevOps needs the list price on twenty renewals updated after Legal changed the cap in the playbook. The artefact is Salesforce. The signer is a named RevOps lead. The sensor is: quoted fields, hash, read-back. If Tuesday’s job is opened as a Cursor session with an MCP Salesforce server using a shared integration user, you have imported Monday’s workspace into Tuesday’s system of record. ",[232,635,379],{}," will not name the RevOps lead. ",[202,638,639],{"href":351},"Write-back"," did not fire because the inner harness does not have that interceptor.",[189,642,643,644,646,647,649],{},"Wednesday someone proposes “one agent for everything.” The honest architecture is: Monday’s harness stays. Tuesday’s job runs on an outer harness — in Nimbus, a ",[202,645,447],{"href":446}," with the CRM connector, the wiki revision that contains the new cap, a Hard gate. If the calculator ",[215,648,232],{}," must change as well, the outer job can spawn a bounded inner step that opens a draft PR. Two artefacts, two sensors, one company rule: unsigned SoR writes are impossible from either loop.",[189,651,652,653,227],{},"Thursday Security reviews MCP. The question is not “is MCP approved.” It is “which workspace may this server mutate.” Inner: sandbox and repo. Outer: workstream grant. Same protocol, different identity box. ",[202,654,606],{"href":501},[189,656,657,658,227],{},"Friday you look at evals. Engineering posts a Terminal-Bench plot for the coding vendor. Finance asks who signed Amount. Those are not competing dashboards. They are different oracles. ",[202,659,660],{"href":551},"Eval loops",[189,662,663,667,668,671],{},[202,664,666],{"href":665},"https:\u002F\u002Fwww.thoughtworks.com\u002Finsights\u002Farticles\u002Foperating-system-enterprise-ai","Thoughtworks"," would call Monday layers 2–3 on a builder harness, Tuesday a delegation question on layer 4, and “one agent” a way to skip layer 4. ",[202,669,670],{"href":221},"Osmani"," would say engineering still owns verify-and-merge on Monday. Neither author is selling Nimbus. Both are describing why the cut exists.",[189,673,674],{},"If you only fund inner harnesses, Tuesday happens in paste and Slack. If you only fund outer harnesses, Monday happens in unsanctioned Cursor anyway. Fund both. Bind writes.",[270,676,678],{"id":677},"questions-people-actually-ask","Questions people actually ask",[680,681,683],"h3",{"id":682},"is-cursor-an-enterprise-harness-if-we-sso-it","Is Cursor an enterprise harness if we SSO it?",[189,685,686],{},"SSO is admin control. It does not quote a NetSuite journal or bind a Finance signer. Cursor can be an inner harness in an enterprise. That is not the same as an outer harness.",[680,688,690],{"id":689},"can-claude-code-hooks-replace-write-back-governance","Can Claude Code hooks replace write-back governance?",[189,692,693,694,697],{},"They can replace ",[215,695,696],{},"some"," inner invariants (dangerous bash). They do not give you a payload in the language of Salesforce, a roster-aware approver, or an exportable operations ledger. Different workspace.",[680,699,701],{"id":700},"should-we-ban-coding-agents-until-the-os-is-live","Should we ban coding agents until the OS is live?",[189,703,704,705,708,709,227],{},"Usually no. Ban unsigned writes to systems of record from ",[215,706,707],{},"any"," agent, inner or outer. Let inner harnesses keep compiling. ",[202,710,711],{"href":351},"How to solve unapproved CRM writes from AI",[680,713,715],{"id":714},"where-does-a-copilot-fit","Where does a copilot fit?",[189,717,718,719,227],{},"A copilot is often not a full inner harness — no repo loop, no tests. Personal throughput. Keep it for mail. Do not give it the CRM write token. ",[202,720,721],{"href":262},"Copilot vs work OS",[680,723,725],{"id":724},"is-nimbus-trying-to-replace-claude-code","Is Nimbus trying to replace Claude Code?",[189,727,728,729,732],{},"No. Different workspace. Nimbus is the company loop; Claude Code is the repo loop. ",[202,730,11],{"href":731},"\u002Foverview\u002F"," is the product map. This page is the architectural cut.",[680,734,736],{"id":735},"what-should-i-read-next","What should I read next?",[189,738,739,742,743,747,748,752],{},[202,740,741],{"href":312},"What is an enterprise agent harness",". ",[202,744,746],{"href":745},"\u002Fblog\u002Fagent-harness-vs-agent-framework\u002F","Agent harness vs agent framework"," if you are assembling rather than hiring. ",[202,749,751],{"href":750},"\u002Fblog\u002Fwhat-is-an-agent-harness\u002F","What is an agent harness"," for the base noun.",[270,754,756],{"id":755},"related-reading","Related reading",[189,758,759,762,763,227],{},[202,760,761],{"href":322},"What is harness engineering"," and ",[202,764,766],{"href":765},"\u002Fblog\u002Fagent-harness-architecture\u002F","Agent harness architecture",[270,768,770],{"id":769},"sources","Sources",[275,772,773,778,783,788,794,799,804,809,814,818,823,828,833,837,841,845],{},[278,774,775],{},[202,776,777],{"href":204},"LangChain, Agents",[278,779,780],{},[202,781,782],{"href":211},"Böckeler, Harness engineering for coding agent users",[278,784,785],{},[202,786,787],{"href":221},"Addy Osmani, Own the outer loop",[278,789,790],{},[202,791,793],{"href":792},"https:\u002F\u002Faddyosmani.com\u002Fblog\u002Fagent-harness-engineering\u002F","Addy Osmani, Agent harness engineering",[278,795,796],{},[202,797,798],{"href":665},"Thoughtworks, The operating system for enterprise AI",[278,800,801],{},[202,802,803],{"href":473},"Anthropic, Effective harnesses for long-running agents",[278,805,806],{},[202,807,808],{"href":332},"Anthropic, Steering Claude Code",[278,810,811],{},[202,812,813],{"href":245},"Claude Code, Hooks",[278,815,816],{},[202,817,543],{"href":542},[278,819,820],{},[202,821,822],{"href":546},"Terminal-Bench (arXiv:2601.11868)",[278,824,825],{},[202,826,827],{"href":409},"McKinsey, The state of AI in 2025",[278,829,830],{},[202,831,832],{"href":414},"Stanford HAI, 2025 AI Index",[278,834,835],{},[202,836,454],{"href":453},[278,838,839],{},[202,840,459],{"href":458},[278,842,843],{},[202,844,420],{"href":419},[278,846,847],{},[202,848,850],{"href":849},"https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Findex","Model Context Protocol specification",{"title":169,"searchDepth":170,"depth":170,"links":852},[853,854,855,856,857,858,867,868],{"id":272,"depth":170,"text":273},{"id":383,"depth":170,"text":384},{"id":463,"depth":170,"text":464},{"id":583,"depth":170,"text":584},{"id":619,"depth":170,"text":620},{"id":677,"depth":170,"text":678,"children":859},[860,862,863,864,865,866],{"id":682,"depth":861,"text":683},3,{"id":689,"depth":861,"text":690},{"id":700,"depth":861,"text":701},{"id":714,"depth":861,"text":715},{"id":724,"depth":861,"text":725},{"id":735,"depth":861,"text":736},{"id":755,"depth":170,"text":756},{"id":769,"depth":170,"text":770},"2026-08-24","An inner agent harness runs a developer and a repository — CLAUDE.md, hooks, tests.",{"eyebrow":872,"title":873},"Short answers","The repo and the company",[875,878,881],{"question":876,"answer":877},"What is an inner agent harness?","The runtime for a developer and a repository: CLAUDE.md, hooks, and tests.",{"question":879,"answer":880},"What is an outer harness?","The runtime for the company: wiki, connectors, write gates, and a ledger of what changed.",{"question":882,"answer":883},"Can one replace the other?","No. Most enterprises need both. A perfect repo harness does not stop an unapproved CRM write, and a company gate does not run the unit tests.","\u002Fblog\u002Finner-vs-outer-agent-harness",{"title":179,"description":870},"explainer","blog\u002Finner-vs-outer-agent-harness",[886,889,890,891],"agent-harness","coding-agents","enterprise-ai","03H2FWvQKQ3zCeocBdx6w-GVtDt-Nz1nBE0Sz22oZ2I",{"hero":894,"id":896,"title":897,"archived":163,"authors":164,"badge":164,"body":898,"date":164,"definedTerm":164,"department":164,"description":902,"extension":172,"eyebrow":903,"faqHeader":164,"faqs":164,"footerBand":904,"headline":164,"image":164,"industry":164,"jobType":164,"listed":131,"location":164,"navigation":131,"openRoles":164,"pageLayout":164,"path":60,"relatedHeading":910,"seo":911,"series":164,"sitemap":131,"status":164,"stem":912,"subhead":164,"tags":164,"video":164,"whyJoin":164,"workplaceType":164,"__hash__":913},{"filename":895},"u2221455217_Flat_design_of_a_futuristic_minimalist_landscape__5d589295-cdea-4ea9-a262-be766881accf_1.png","content\u002Fblog\u002Findex.md","Exploring the future of intelligence.",{"type":166,"value":899,"toc":900},[],{"title":169,"searchDepth":170,"depth":170,"links":901},[],"Deep dives into pre-cognitive intelligence, sentient enterprises, and the evolving landscape of AI-driven business transformation.","Latest Research",{"headline":905,"description":906,"primaryLabel":907,"primaryTo":908,"secondaryLabel":909,"secondaryTo":12},"Stay at the frontier.","Subscribe for product updates and new insights.","Subscribe","\u002Fnewsletter","Explore the platform","More research",{"title":897,"description":902},"blog\u002Findex","BFSWGYO9bcTlaulivKYWyg08_DJHsdGg3OC6g_CG1Hw",[915,1536],{"id":916,"title":917,"archived":163,"authors":918,"badge":920,"body":921,"date":869,"definedTerm":164,"department":164,"description":1516,"extension":172,"eyebrow":164,"faqHeader":1517,"faqs":1519,"footerBand":164,"headline":164,"image":164,"industry":164,"jobType":164,"listed":131,"location":164,"navigation":131,"openRoles":164,"pageLayout":164,"path":1529,"relatedHeading":164,"seo":1530,"series":886,"sitemap":131,"status":164,"stem":1531,"subhead":164,"tags":1532,"video":164,"whyJoin":164,"workplaceType":164,"__hash__":1535},"content\u002Fblog\u002Fwhat-is-an-agent-harness.md","What is an Agent Harness",[919],{"name":182,"to":183},{"label":185},{"type":166,"value":922,"toc":1498},[923,936,944,956,970,972,1065,1079,1081,1087,1089,1106,1119,1132,1138,1142,1145,1159,1170,1184,1196,1205,1215,1230,1234,1237,1240,1248,1255,1273,1291,1295,1306,1315,1326,1333,1335,1339,1342,1346,1349,1353,1361,1365,1368,1372,1377,1381,1388,1390,1401,1403,1415,1417],[189,924,191,925,928,929,932,933,935],{},[193,926,927],{},"agent harness"," is the software around a large language model that turns next-token prediction into work: tools, memory, a loop, permissions, and a stop. ",[202,930,931],{"href":204},"LangChain’s 2026 documentation"," writes the equation in plain type: ",[193,934,205],{},". The model reasons. The harness is everything else.",[189,937,938,939,943],{},"That sentence is not marketing. An unaided model is stateless. It produces text. It cannot keep a file, call Salesforce, fail a linter, or refuse a write. The ",[202,940,942],{"href":941},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAgent_harness","Wikipedia entry on agent harnesses"," records the same split, and notes that the UK’s AI Security Institute already described an AI agenthe model plus scaffolding in 2023. The industry spent two years arguing about which model was smartest. In 2026 it started arguing about which environment the model was sitting in.",[189,945,946,950,951,955],{},[202,947,949],{"href":948},"https:\u002F\u002Fwww.databricks.com\u002Fblog\u002Fai-harness","Databricks"," uses a body-and-brain analogy: the model is the brain; the harness is the body and the workspace. ",[202,952,954],{"href":953},"https:\u002F\u002Fwww.langchain.com\u002Fblog\u002Fthe-anatomy-of-an-agent-harness","LangChain’s anatomy post"," is more mechanical. A harness is every piece of code, configuration, and execution logic that is not the model itself. A raw model is not an agent. It becomes one when a harness gives it state, tool execution, feedback loops, and constraints that do not depend on the model’s mood.",[189,957,958,959,961,962,966,967,969],{},"This article is the definition. ",[202,960,761],{"href":322}," is the practice of tightening that environment when the agent fails. ",[202,963,965],{"href":964},"\u002Fblog\u002Finner-vs-outer-agent-harness\u002F","Inner vs outer agent harness"," is the cut between a repo and a company. An ",[202,968,313],{"href":312}," is the outer case: operators, signers, a ledger.",[270,971,273],{"id":272},[275,973,974,980,986,992,1002,1014,1031,1044,1053],{},[278,975,976,979],{},[193,977,978],{},"Harness \u002F scaffolding."," Same object, two eras. Scaffolding is the 2023–2024 research word. Harness is the 2026 product word. Both mean the runtime around the weights.",[278,981,982,985],{},[193,983,984],{},"Agent."," The composed system. Not the model. Not the chat UI. If you can swap the model and the job still runs, you were looking at the harness.",[278,987,988,991],{},[193,989,990],{},"Loop."," Plan, act, observe, repeat — the ReAct-shaped cycle popularised in 2022 and now owned by the harness, not by the prompt. The harness dispatches the tool, returns the result, and decides whether to continue.",[278,993,994,996,997,1001],{},[193,995,528],{}," Budget, max steps, empty retrieval, tool error, human cancel, wait-for-named-signer. “The model says it is done” is a suggestion. ",[202,998,1000],{"href":999},"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fbuilding-effective-agents","Anthropic’s note on building effective agents"," is honest about this: encoding the job and deciding what “done” means is the boring part that actually matters.",[278,1003,1004,1007,1008,1011,1012,227],{},[193,1005,1006],{},"Tools \u002F skills \u002F MCP."," Hands. The ",[202,1009,1010],{"href":849},"Model Context Protocol"," is a common plug so hosts can call the same servers. Plumbing. A plug is not a permission model. See ",[202,1013,606],{"href":501},[278,1015,1016,1019,1020,1023,1024,1027,1028,1030],{},[193,1017,1018],{},"Hooks \u002F middleware."," Deterministic intercepts on the loop. ",[202,1021,1022],{"href":245},"Claude Code hooks"," run shell or HTTP at ",[232,1025,1026],{},"PreToolUse"," and can block with exit code 2. LangChain middleware is the same instinct in a library. A line in ",[232,1029,238],{}," is advice. A hook is a gate.",[278,1032,1033,1036,1037,1040,1041,1043],{},[193,1034,1035],{},"Guides and sensors."," ",[202,1038,1039],{"href":211},"Birgitta Böckeler’s framing on martinfowler.com",": feed-forward context (conventions, architecture, ",[232,1042,242],{},") versus feedback (linters, tests, reviewers). A harness that only prompts is half a harness.",[278,1045,1046,1049,1050,227],{},[193,1047,1048],{},"Inner harness."," Coding agents: Claude Code, Cursor, Codex. Workspace is a repository. Tests are the eval. See ",[202,1051,1052],{"href":964},"inner vs outer",[278,1054,1055,1058,1059,235,1061,1064],{},[193,1056,1057],{},"Outer \u002F enterprise harness."," Operators. Connectors, ",[202,1060,251],{"href":250},[202,1062,1063],{"href":351},"write-back",", a ledger. Workspace is the company. A passing unit test does not prove a CRM write was authorised.",[189,1066,1067,1068,235,1070,235,1072,235,1074,235,1076,1078],{},"Nimbus is one outer harness: ",[202,1069,360],{"href":359},[202,1071,570],{"href":569},[202,1073,251],{"href":446},[202,1075,372],{"href":371},[202,1077,23],{"href":376},". Claude Code is a strong inner harness. Calling either “an agent” without naming the harness is how RFPs buy a model and inherit someone else’s loop.",[270,1080,384],{"id":383},[189,1082,1083,1086],{},[202,1084,1085],{"href":409},"McKinsey’s 2025 State of AI survey"," is the scale gap in one chart: most organisations use AI in at least one function; far fewer have begun to scale. Copilots produce usage. Harnesses produce jobs that finish under a stop. If your programme is “we rolled out ChatGPT Enterprise,” you have licensed a model surface. You have not yet chosen a harness for the work that writes back.",[189,1088,390],{},[275,1090,1091,1094,1097,1100,1103],{},[278,1092,1093],{},"the job is multi-step and tool-using, not a single completion",[278,1095,1096],{},"a live system can change (CRM, ERP, repo, ticket queue)",[278,1098,1099],{},"someone will ask, six months later, why a field or a file changed",[278,1101,1102],{},"you need to swap models without rewriting every tool",[278,1104,1105],{},"you already noticed that a better model still skips the linter, invents a policy, or pastes into Salesforce",[189,1107,1108,1109,1113,1114,1118],{},"In February 2024 a British Columbia tribunal held Air Canada responsible for a chatbot that invented a bereavement-fare policy. ",[202,1110,1112],{"href":1111},"https:\u002F\u002Fwww.cbc.ca\u002Fnews\u002Fcanada\u002Fbritish-columbia\u002Fair-canada-chatbot-lawsuit-1.7116416","CBC reported"," that the airline’s argument — the chatbot is a separate legal entity — failed. That failure is a missing harness, not a missing model: no quote, no signer, no stop before a commitment left the building. In 2023 a New York court ",[202,1115,1117],{"href":1116},"https:\u002F\u002Fwww.reuters.com\u002Flegal\u002Fnew-york-lawyers-sanctioned-using-fake-chatgpt-cases-legal-brief-2023-06-22\u002F","sanctioned lawyers"," who filed ChatGPT-invented cases. Ungated generation reached a system of record. CRM writes are the operational twin with money attached.",[189,1120,1121,1124,1125,1127,1128,1131],{},[202,1122,1123],{"href":453},"NIST’s AI RMF"," organises Govern, Map, Measure, Manage. ",[202,1126,459],{"href":458}," is an AI ",[215,1129,1130],{},"management system"," standard. Neither is implemented by a system prompt that says “be careful.” They are implemented by a runtime that can refuse a tool call.",[189,1133,1134,1137],{},[202,1135,1136],{"href":792},"Addy Osmani’s 2026 write-up"," states the engineering claim operators keep rediscovering: a decent model with a great harness beats a great model with a bad harness. When the agent does something dumb, the default instinct is to blame the weights. Harness engineering treats most of those failures as configuration. That is the rest of this cluster.",[270,1139,1141],{"id":1140},"what-a-harness-actually-contains","What a harness actually contains",[189,1143,1144],{},"LangChain’s anatomy and Databricks’s list converge on the same parts. You can inspect each one before you buy a product or assemble a library.",[189,1146,1147,1150,1151,1154,1155,1158],{},[193,1148,1149],{},"The loop."," The harness owns plan → act → observe. It executes the tool. It feeds the result back. It enforces max steps and a cost budget so a stuck agent cannot run forever. ",[202,1152,1153],{"href":473},"Anthropic’s long-running harness note"," shows why this is not a prompt: tasks that outlast one context window need an initializer, incremental sessions, git commits, and a progress file the ",[215,1156,1157],{},"next"," session can read. The model does not remember. The environment does.",[189,1160,1161,1164,1165,1169],{},[193,1162,1163],{},"Tools and execution."," Search, shell, apply_patch, browser, CRM, ERP. The model proposes a call. The harness runs it in a sandbox or against an adapter, handles timeouts, and returns structured results. A generic HTTP tool with a production token is not a harness. It is a confused deputy. ",[202,1166,1168],{"href":1167},"https:\u002F\u002Fgenai.owasp.org\u002Fllm-top-10\u002F","OWASP’s Top 10 for LLM applications"," still applies: excessive agency and unbounded tool use are design failures, not model quirks.",[189,1171,1172,1175,1176,1178,1179,762,1182,227],{},[193,1173,1174],{},"Context and memory."," Working memory is the current window. Session state is progress for this job. Durable memory is files, ",[232,1177,242],{},", a wiki, or a graph — something that survives compaction. Anthropic’s initializer\u002Fcoding-agent split is a memory design: feature lists and commits as cross-session state. A company that stores “what we approved” only in Slack search does not have durable memory for operations. See ",[202,1180,1181],{"href":562},"What is a lifecycle graph",[202,1183,338],{"href":337},[189,1185,1186,1189,1190,1192,1193,1195],{},[193,1187,1188],{},"Permissions and hooks."," Who may call which tool, with which identity, on which object. Claude Code’s ",[232,1191,1026],{}," hook can deny Bash regardless of what the model intended. That is the inner version of ",[202,1194,352],{"href":351},": the write API is unreachable until a named role signs a quoted payload. A prompt that says “ask Legal first” is not this layer. The model can forget. The user can paste anyway.",[189,1197,1198,1201,1202,227],{},[193,1199,1200],{},"Feedback."," Compilers, tests, linters, schema validators, human review. Böckeler’s sensors. Without them the loop is open: the model reports success and the harness believes it. Terminal-Bench and SWE-bench exist because coding harnesses can grade against an environment. Enterprise writes need an equivalent: did the signed payload match what executed. See ",[202,1203,1204],{"href":551},"eval loops for enterprise agent harnesses",[189,1206,1207,1210,1211,1214],{},[193,1208,1209],{},"Orchestration."," Subagents, hand-offs, model routing. Optional until the job already splits in the organisation. ",[202,1212,1213],{"href":578},"Multi-agent AI"," is the pattern and the hiring object. A harness that spawns specialists without a stop is a faster way to share a production login.",[189,1216,191,1217,1221,1222,1224,1225,1229],{},[202,1218,1220],{"href":1219},"\u002Fblog\u002Fwhat-is-an-agentic-workflow\u002F","agentic workflow"," is a designed sequence with business stops. The harness is the runtime that can actually run that sequence. Mixing those two words is how demos skip isolation. A ",[202,1223,447],{"href":250}," is the company object that hosts the job: brief, connectors, people, budget. In Nimbus the workstream is that folder; the harness is wiki + teams + connectors + gates + graph sitting around whichever model ",[202,1226,1228],{"href":1227},"\u002Fmodels\u002F","routing"," picks for the step.",[270,1231,1233],{"id":1232},"what-is-not-a-harness","What is not a harness",[189,1235,1236],{},"A chat window with plugins. The human is still the message bus, the permission system, and the audit log.",[189,1238,1239],{},"A system prompt. Advice inside the window. Useful. Not a stop.",[189,1241,1242,1243,1247],{},"A policy PDF. ",[202,1244,1246],{"href":1245},"\u002Fblog\u002Fwhat-is-ai-governance\u002F","What is AI governance"," is a management claim. A harness is whether an unapproved write is impossible.",[189,1249,1250,1251,1254],{},"MCP on its own. A standard plug. See ",[202,1252,1253],{"href":501},"what is Model Context Protocol",". If the server can PATCH Salesforce from natural language, you built a bypass.",[189,1256,1257,1258,1265,1266,1269,1270,227],{},"A framework on its own. ",[202,1259,1261,1262],{"href":1260},"https:\u002F\u002Fwww.langchain.com\u002Fblog\u002Fhow-to-build-a-custom-agent-harness","LangChain’s ",[232,1263,1264],{},"create_agent"," is a way to ",[215,1267,1268],{},"assemble"," a harness. CrewAI, LangGraph, and Pydantic AI are in the same neighbourhood. You still have to choose tools, stops, and identity. See ",[202,1271,1272],{"href":745},"agent harness vs agent framework",[189,1274,1275,1276,762,1280,1284,1285,762,1288,227],{},"A copilot seat. ",[202,1277,1279],{"href":1278},"https:\u002F\u002Fopenai.com\u002Fbusiness\u002Fchatgpt-enterprise\u002F","ChatGPT Enterprise",[202,1281,1283],{"href":1282},"https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fmicrosoft-365\u002Fcopilot","Microsoft 365 Copilot"," are excellent personal surfaces. They are not, by default, a company loop with fail-closed writes. See ",[202,1286,1287],{"href":262},"collaborative AI and personal assistants",[202,1289,1290],{"href":257},"how to choose between a coding harness and an enterprise harness",[270,1292,1294],{"id":1293},"how-this-shows-up-in-products","How this shows up in products",[189,1296,1297,1300,1301,239,1303,1305],{},[193,1298,1299],{},"Coding harnesses."," Claude Code, Cursor, Codex, open shells like OpenHands. Workspace is a checkout. ",[232,1302,238],{},[232,1304,242],{}," are guides. Hooks, tests, and CI are sensors. Eval is SWE-bench or Terminal-Bench, or your own suite. These are the right shape for software.",[189,1307,1308,1311,1312,1314],{},[193,1309,1310],{},"Library harnesses."," LangChain ",[232,1313,1264],{},", Deep Agents, LangGraph graphs. You compose the loop in code. You own production identity. Good when the job is yours to engineer. A liability when operators are expected to “just add Salesforce.”",[189,1316,1317,1320,1321,1325],{},[193,1318,1319],{},"Enterprise \u002F outer harnesses."," Palantir AIP, Salesforce Agentforce, and self-service OS-class products such as Nimbus. The workspace is a job with connectors and people, not a git root. The interesting stop is a named signer on a quoted write, not a green test. ",[202,1322,1324],{"href":1323},"\u002Fblog\u002Fhow-to-evaluate-an-agent-harness\u002F","How to evaluate an agent harness"," is the buying sheet.",[189,1327,1328,1329,1332],{},"Nimbus’s mapping is deliberate and not unique as a ",[215,1330,1331],{},"category",": Perception orients, Conflux collaborates, agent teams run, governance quotes, the graph records. You can score that mapping against the parts above. You should score AIP and Agentforce the same way. Category names do not substitute for a failed write.",[270,1334,678],{"id":677},[680,1336,1338],{"id":1337},"is-the-model-the-agent","Is the model the agent?",[189,1340,1341],{},"No. The agent is model plus harness. Shopping for a model is shopping for a chip. Shopping for a harness is shopping for how work finishes.",[680,1343,1345],{"id":1344},"do-i-need-a-harness-for-a-single-prompt","Do I need a harness for a single prompt?",[189,1347,1348],{},"No. A completion does not need a loop. Multi-step tool use does. Long-running work that outlasts one window does. Writes to live systems do.",[680,1350,1352],{"id":1351},"is-rag-a-harness","Is RAG a harness?",[189,1354,1355,1356,1360],{},"Retrieval is a tool and a memory pattern inside a step. ",[202,1357,1359],{"href":1358},"\u002Fblog\u002Fwhat-is-enterprise-rag\u002F","Enterprise RAG"," does not dispatch tools, enforce a signer, or persist a decision. Useful. Incomplete.",[680,1362,1364],{"id":1363},"can-i-just-use-mcp-as-my-harness","Can I just use MCP as my harness?",[189,1366,1367],{},"You can use MCP as the plug. You still need identity, scope, quoting, and a stop. The spec does not require those.",[680,1369,1371],{"id":1370},"will-a-better-model-shrink-the-harness","Will a better model shrink the harness?",[189,1373,1374,1376],{},[202,1375,670],{"href":792}," and Anthropic’s long-running work both say the ceiling moves. Tasks that were unreachable come into play and bring new failure modes. Stronger models still do not know your signer, your budget, or your CRM field map.",[680,1378,1380],{"id":1379},"how-is-this-different-from-an-enterprise-ai-os","How is this different from an enterprise AI OS?",[189,1382,191,1383,1387],{},[202,1384,1386],{"href":1385},"\u002Fblog\u002Fwhat-is-an-enterprise-ai-operating-system\u002F","enterprise AI operating system"," is the company-shaped product: wiki, workstreams, teams, gates, ledger. A harness is the runtime idea underneath — including coding harnesses that are not an OS. Nimbus is an OS-class outer harness. Claude Code is not an OS. Both are harnesses.",[680,1389,736],{"id":735},[189,1391,1392,1394,1395,1397,1398,1400],{},[202,1393,761],{"href":322}," for the practice. ",[202,1396,766],{"href":765}," for the parts in one diagram. ",[202,1399,1324],{"href":1323}," before a vendor demo.",[270,1402,756],{"id":755},[189,1404,1405,235,1408,1411,1412,227],{},[202,1406,1407],{"href":1219},"What is an agentic workflow",[202,1409,1410],{"href":578},"What is multi-agent AI",", and ",[202,1413,1414],{"href":351},"What is write-back governance",[270,1416,770],{"id":769},[275,1418,1419,1424,1429,1434,1439,1444,1449,1453,1457,1461,1465,1470,1474,1479,1484,1489,1494],{},[278,1420,1421],{},[202,1422,1423],{"href":204},"LangChain, Agents (Agent = Model + Harness)",[278,1425,1426],{},[202,1427,1428],{"href":953},"LangChain, The anatomy of an agent harness",[278,1430,1431],{},[202,1432,1433],{"href":1260},"LangChain, How to build a custom agent harness",[278,1435,1436],{},[202,1437,1438],{"href":941},"Wikipedia, Agent harness",[278,1440,1441],{},[202,1442,1443],{"href":948},"Databricks, What is an AI agent harness?",[278,1445,1446],{},[202,1447,1448],{"href":999},"Anthropic, Building effective agents",[278,1450,1451],{},[202,1452,803],{"href":473},[278,1454,1455],{},[202,1456,782],{"href":211},[278,1458,1459],{},[202,1460,793],{"href":792},[278,1462,1463],{},[202,1464,827],{"href":409},[278,1466,1467],{},[202,1468,1469],{"href":453},"NIST AI Risk Management Framework",[278,1471,1472],{},[202,1473,459],{"href":458},[278,1475,1476],{},[202,1477,1478],{"href":1111},"CBC, Air Canada chatbot lawsuit",[278,1480,1481],{},[202,1482,1483],{"href":1116},"Reuters, New York lawyers sanctioned over ChatGPT citations",[278,1485,1486],{},[202,1487,1488],{"href":1167},"OWASP Top 10 for LLM applications",[278,1490,1491],{},[202,1492,1493],{"href":849},"Model Context Protocol specification (2025-11-25)",[278,1495,1496],{},[202,1497,813],{"href":245},{"title":169,"searchDepth":170,"depth":170,"links":1499},[1500,1501,1502,1503,1504,1505,1514,1515],{"id":272,"depth":170,"text":273},{"id":383,"depth":170,"text":384},{"id":1140,"depth":170,"text":1141},{"id":1232,"depth":170,"text":1233},{"id":1293,"depth":170,"text":1294},{"id":677,"depth":170,"text":678,"children":1506},[1507,1508,1509,1510,1511,1512,1513],{"id":1337,"depth":861,"text":1338},{"id":1344,"depth":861,"text":1345},{"id":1351,"depth":861,"text":1352},{"id":1363,"depth":861,"text":1364},{"id":1370,"depth":861,"text":1371},{"id":1379,"depth":861,"text":1380},{"id":735,"depth":861,"text":736},{"id":755,"depth":170,"text":756},{"id":769,"depth":170,"text":770},"An agent harness is everything around a model that lets it do work: tools, memory, permissions, loops, and stops.",{"eyebrow":872,"title":1518},"Everything around the model",[1520,1523,1526],{"question":1521,"answer":1522},"What is an agent harness?","Everything around a model that lets it do work: tools, memory, permissions, loops, and stops. Agent equals model plus harness.",{"question":1524,"answer":1525},"Is a chat window with plugins a harness?","No. Plugins without a stop, an identity, and a record are still a chat.",{"question":1527,"answer":1528},"What does the model do, and what does the harness do?","The model proposes. The harness decides which tools exist, what may be written, and when the loop ends.","\u002Fblog\u002Fwhat-is-an-agent-harness",{"title":917,"description":1516},"blog\u002Fwhat-is-an-agent-harness",[886,889,1533,1534],"agents","harness-engineering","nEbkYgxLqx9029Xl-euoJSJGlRL_AZRKSh0pOAnQr80",{"id":1537,"title":1538,"archived":163,"authors":1539,"badge":1541,"body":1543,"date":869,"definedTerm":164,"department":164,"description":2117,"extension":172,"eyebrow":164,"faqHeader":2118,"faqs":2120,"footerBand":164,"headline":164,"image":164,"industry":164,"jobType":164,"listed":131,"location":164,"navigation":131,"openRoles":164,"pageLayout":164,"path":2130,"relatedHeading":164,"seo":2131,"series":2132,"sitemap":131,"status":164,"stem":2133,"subhead":164,"tags":2134,"video":164,"whyJoin":164,"workplaceType":164,"__hash__":2136},"content\u002Fblog\u002Fhow-to-evaluate-an-agent-harness.md","How to Evaluate an Agent Harness",[1540],{"name":182,"to":183},{"label":1542},"Evaluation",{"type":166,"value":1544,"toc":2098},[1545,1551,1567,1580,1582,1642,1650,1654,1657,1685,1690,1693,1697,1708,1723,1738,1748,1760,1769,1781,1791,1802,1806,1832,1835,1839,1845,1854,1857,1861,1864,1873,1879,1890,1900,1909,1917,1924,1935,1942,1945,1952,1956,1977,1979,1983,1986,1990,1995,1999,2002,2006,2009,2011,2022,2024,2031,2033],[189,1546,1547,1548,1550],{},"Evaluating an ",[202,1549,927],{"href":750}," is checking whether the runtime around the model can finish a job under a stop you trust — not whether a demo answered a question.",[189,1552,1553,1556,1557,1560,1561,1564,1565,227],{},[202,1554,1555],{"href":204},"LangChain"," defines the object: Agent = Model + Harness. The scoring sheet is therefore about the harness. If your RFP starts with context-window size and SWE-bench, you are scoring a model (and maybe an inner coding loop). You will miss whether an unsigned Salesforce PATCH is possible. ",[202,1558,1559],{"href":1385},"What is an enterprise AI operating system"," is the cousin page for wiki, workstreams, and routing as a ",[215,1562,1563],{},"product category",". This page is the runtime tests that apply to Claude Code, a LangGraph deployment, AIP, Agentforce, and Nimbus alike — then specialised by ",[202,1566,1052],{"href":964},[189,1568,1569,1571,1572,1576,1577,1579],{},[202,1570,410],{"href":409}," already measured the trap: widespread use, limited scale. A fluent demo produces the first. A harness that can refuse, replay, and ratchet produces the second. ",[202,1573,1575],{"href":1574},"https:\u002F\u002Fwww.nist.gov\u002Fitl\u002Fai-risk-management-framework\u002Fnist-ai-rmf-playbook","NIST’s AI RMF Playbook"," is the measurement language. ",[202,1578,459],{"href":458}," is the management-system language. Neither is “the model seemed careful.”",[270,1581,273],{"id":272},[275,1583,1584,1594,1606,1615,1623,1632],{},[278,1585,1586,1589,1590,1593],{},[193,1587,1588],{},"Harness vs framework."," Library versus running loop. ",[202,1591,1592],{"href":745},"Harness vs framework",". “We use LangChain” is not a passed test.",[278,1595,1596,1599,1600,1602,1603,1605],{},[193,1597,1598],{},"Sensor."," Independent check. ",[202,1601,212],{"href":211},"; ",[202,1604,666],{"href":521},". Inner: tests. Outer: quote vs SoR.",[278,1607,1608,1611,1612,1614],{},[193,1609,1610],{},"Hook \u002F interceptor."," Always runs. ",[202,1613,1022],{"href":245},". Outer: fail-closed adapter.",[278,1616,1617,1620,1621,227],{},[193,1618,1619],{},"Quote."," Structured payload, not a paragraph. ",[202,1622,639],{"href":351},[278,1624,1625,1628,1629,227],{},[193,1626,1627],{},"Replay."," Can you reconstruct signer, policy version, tool grants. ",[202,1630,1631],{"href":562},"Lifecycle graph",[278,1633,1634,1637,1638,227],{},[193,1635,1636],{},"Model portability."," Swap weights without rewriting tools. Not a logo on a slide. ",[202,1639,1641],{"href":1640},"\u002Fblog\u002Fwhat-is-model-routing\u002F","Model routing",[189,1643,1644,1645,762,1647,1649],{},"When you evaluate Nimbus, run these tests on ",[202,1646,251],{"href":446},[202,1648,372],{"href":371},", not on a homepage video. When you evaluate Claude Code, run them on a repo hook and CI, not on a blog SWE-bench screenshot. Same sheet, different workspace.",[270,1651,1653],{"id":1652},"why-evaluation-usually-fails","Why evaluation usually fails",[189,1655,1656],{},"People score agents like they score chat: quality of the paragraph, latency, brand of the model. That produces three false passes:",[426,1658,1659,1667,1675],{},[278,1660,1661,1664,1665,227],{},[193,1662,1663],{},"The copilot pass."," SSO, a usage dashboard, a good answer. No loop ownership. ",[202,1666,721],{"href":262},[278,1668,1669,1672,1673,227],{},[193,1670,1671],{},"The benchmark pass."," SWE-bench or Terminal-Bench for an outer job. Inner eval, outer purchase. ",[202,1674,660],{"href":551},[278,1676,1677,1680,1681,1684],{},[193,1678,1679],{},"The framework pass."," A graph in a notebook with every production tool attached. ",[202,1682,1683],{"href":1167},"OWASP"," excessive agency with extra nodes.",[189,1686,1687,1689],{},[202,1688,333],{"href":999}," is blunt: encode the job, bound the tools, define done. Your proof of value should force those three. Written answers without a failed action are still a slide.",[189,1691,1692],{},"Red flags: chathe entire proof; “we integrate” with no scoped grant; governance as PDF; memory as a long window; “model-agnostic” with a flagship default and seat pricing; MCP write tools that inherit a god service account; vendor database offered as the new system of record.",[270,1694,1696],{"id":1695},"checklist","Checklist",[189,1698,1699,509,1702,1704,1705,227],{},[193,1700,1701],{},"1. Can it stop an action the model wants?",[232,1703,1026],{}," denies a matched command; tests fail the merge. Outer: unsigned write does not execute; reject leaves SoR unchanged. If the only stop is max tokens, you have a fuse, not a control plane. ",[202,1706,1707],{"href":532},"What is human-in-the-loop AI",[189,1709,1710,1711,1714,1715,1718,1719,1722],{},"Why this matters: ",[202,1712,1713],{"href":1111},"Air Canada"," and the ",[202,1716,1717],{"href":1116},"sanctioned ChatGPT brief"," are ungated generation reaching a record. Your demo must show a ",[215,1720,1721],{},"failed"," write.",[189,1724,1725,1728,1729,1731,1732,1734,1735,1737],{},[193,1726,1727],{},"2. Can you replay who signed and which harness version ran?"," Signer identity, wiki or ",[232,1730,242],{}," revision, tool grants, payload hash, model class. If the answer is Slack search or “the transcript,” you do not have a ledger. ",[202,1733,1181],{"href":562},". Nimbus’s ",[202,1736,23],{"href":376}," is one implementation; demand the export without a vendor engineer.",[189,1739,1740,1743,1744,1747],{},[193,1741,1742],{},"3. Can you swap the model without rewriting tools?"," Change compact vs frontier on extract vs judgement. If tools are bound to one vendor’s function-calling dialect in application code with no adapter, portability is a hope. ",[202,1745,1746],{"href":204},"LangChain’s model interface"," exists for this; product harnesses must expose it as policy, not as a rewrite.",[189,1749,1750,1753,1754,1757,1758,227],{},[193,1751,1752],{},"4. Are tools grants or a belt?"," Least privilege per job. Missing Salesforce is a configuration error, not a hallucination. ",[202,1755,1756],{"href":366},"Connector architecture",". MCP servers inherit the same grant. ",[202,1759,606],{"href":501},[189,1761,1762,1765,1766,1768],{},[193,1763,1764],{},"5. Is verification outside the generator?"," Inner: CI the agent cannot mark skip without a hook. Outer: schema of the quote; SoR row matches. Anthropic’s ",[202,1767,474],{"href":473}," refuses “premature victory” by forcing artefacts and tests. Steal that instinct.",[189,1770,1771,1036,1774,1777,1778,227],{},[193,1772,1773],{},"6. Can an operator add a sensor without a six-month SOW?",[202,1775,1776],{"href":322},"Harness engineering"," is a ratchet. If only vendor FDE can add a gate, you bought a programme. Fine for AIP-scale. Wrong for a standard CRM field this quarter. ",[202,1779,1780],{"href":615},"Self-service vs FDE",[189,1782,1783,1786,1787,1790],{},[193,1784,1785],{},"7. Is the workspace the job you are buying?"," Repo vs company. ",[202,1788,1789],{"href":257},"How to choose coding vs enterprise",". A single scoring sheet with no workspace column will buy the wrong loop.",[189,1792,1793,1796,1797,1801],{},[193,1794,1795],{},"8. Economics of the loop."," Max steps, spend cap, routing. Seat “unlimited” is often always-flagship. ",[202,1798,1800],{"href":1799},"\u002Fblog\u002Fwhat-is-ai-token-economics\u002F","What is AI token economics",". Ask for a per-step model breakdown on a live run.",[680,1803,1805],{"id":1804},"rfp-questions","RFP questions",[426,1807,1808,1811,1814,1817,1820,1823,1826,1829],{},[278,1809,1810],{},"Show an action the model attempted that the harness refused. What fired?",[278,1812,1813],{},"After a successful write (or merge), show the signer, policy version, and payload (or diff) without Slack.",[278,1815,1816],{},"Change the model on extract this week. Which tools broke?",[278,1818,1819],{},"Attach a connector (or repo permission) as an operator, not as SE. Time?",[278,1821,1822],{},"Detach the grant mid-job. Does the write fail closed?",[278,1824,1825],{},"What is the independent sensor for “done”? Who can mark skip?",[278,1827,1828],{},"Two departments, different scopes, one job — or one god toolbox?",[278,1830,1831],{},"Price: seats, tokens, usage limits, or a services quote? What stops flagship on classify?",[189,1833,1834],{},"Put these in the RFP, then run them in a proof of value. Agents without a harness test are a persona list.",[680,1836,1838],{"id":1837},"proof-of-value-short","Proof of value (short)",[189,1840,1841,1844],{},[193,1842,1843],{},"Inner job:"," real repo, required hook, red test the agent must fix, no production SoR token.",[189,1846,1847,1850,1851,1853],{},[193,1848,1849],{},"Outer job:"," real cross-department write, quoted payload, reject path, export. Nimbus should pass the same live sequence as anyone else: OAuth attach, blocked unsigned write, graph export. ",[202,1852,11],{"href":731}," is not the proof.",[189,1855,1856],{},"Skip any refuse\u002Freplay\u002Fswap and you evaluated a chat product, a benchmark, or a framework notebook.",[270,1858,1860],{"id":1859},"score-inner-and-outer-without-mixing-oracles","Score inner and outer without mixing oracles",[189,1862,1863],{},"Run two short scripts. Do not average them into one “AI score.”",[189,1865,1866,1869,1870,1872],{},[193,1867,1868],{},"Inner script (repo)."," Fresh checkout of a service you own. Required hook: deny a dangerous bash pattern. Agent must add a failing test then make it pass. CI is the merge sensor. No production CRM token in the environment. Record: did the hook fire, did CI stay independent, can you show the ",[232,1871,242],{}," revision. SWE-bench plots from the vendor are background, not this script.",[189,1874,1875,1878],{},[193,1876,1877],{},"Outer script (SoR)."," Sandbox Salesforce or equivalent. Operator (not SE) attaches OAuth. Model proposes a write. Unsigned path must fail. Reject path must leave records unchanged. Approve path: read-back matches hash. Export signer and wiki revision. Detach the connector and retry the write — must fail closed. Proof of value is this script with two departments on the canvas.",[189,1880,1881,1882,762,1884,1886,1887,227],{},"If a vendor refuses to run the outer script because “we are a coding tool,” believe them and buy them for inner only. If a vendor refuses the inner script because “we are an OS,” believe them and do not replace Cursor. If a vendor claims both and fails one script, you have a category error in their marketing. Nimbus should pass the outer script on ",[202,1883,251],{"href":446},[202,1885,372],{"href":371},". Claude Code should pass the inner script. ",[202,1888,1889],{"href":257},"How to choose",[189,1891,1892,1895,1896,1899],{},[193,1893,1894],{},"Thoughtworks’ layer check."," After the scripts, ask where layer 4 lives: who owns the policy when the agent did what it was allowed to do and harm still happened. If the answer is a steering committee with no interceptor, you evaluated theatre. ",[202,1897,1898],{"href":458},"ISO 42001"," will not save a missing refuse.",[189,1901,1902,1905,1906,227],{},[193,1903,1904],{},"Economics check."," Pull one live run’s step list: model class per step, tokens or cost, which sensor fired. Always-flagship with no cap is a failed harness eval even if the paragraph was good. ",[202,1907,1908],{"href":1799},"Cost control",[189,1910,1911,1914,1915,227],{},[193,1912,1913],{},"MCP check."," One write-capable server. Which workspaces may use it. If the answer is “any host that can see the URL,” fail. ",[202,1916,606],{"href":501},[189,1918,1919,1920,1923],{},"Weight the eight checklist items; do not add a ninth called “brand.” ",[202,1921,1922],{"href":414},"Stanford AI Index"," is useful context for how fast coding tools moved. It is not a substitute for the outer script.",[189,1925,1926,1927,1930,1931,1934],{},"Score vendorsystems, not as essays. A beautiful ",[202,1928,1929],{"href":953},"anatomy post"," does not pass the refuse test. A messy UI that blocks the unsigned PATCH does. Watch for “evaluation theatre”: the SE runs the happy path, the fail path is “we’ll configure that in phase two,” the ledger is a screenshot of LangSmith. Phase two is where ",[202,1932,1933],{"href":409},"McKinsey"," pilots go to die.",[189,1936,1937,1938,1941],{},"Bring your own oracle. For inner: a test the agent did not write. For outer: a sandbox row you control. If the vendor must supply the only success criterion, you are scoring their demo fixtures. Terminal-Bench’s strength is that the ",[215,1939,1940],{},"environment"," is the grader. Copy that.",[189,1943,1944],{},"People on the bake-off: an operator who will live in the product, someone who owns the SoR, someone who can say no for Legal, an engineer who will keep the inner harness. If only the vendor and an innovation lead attend, you will buy a narrative. Nimbus, AIP, Cursor, and a LangGraph SOW should all survive that room or be narrowed to the job they actually do.",[189,1946,1947,1948,1951],{},"Write the pass\u002Ffail before the demo so the SE cannot redefine success live. “Blocked unsigned write” is a boolean. “Felt enterprise-ready” is not. Record the session. If they cannot fail on camera, assume they cannot fail in production. ",[202,1949,1950],{"href":1574},"NIST Playbook"," language helps here: you are Measuring a control, not a vibe.",[270,1953,1955],{"id":1954},"how-this-shows-up-in-nimbus","How this shows up in Nimbus",[189,1957,1958,1959,1962,1963,1965,1966,1969,1970,1972,1973,1976],{},"Nimbus is an ",[202,1960,1961],{"href":312},"enterprise \u002F outer harness",": ",[202,1964,360],{"href":359}," as guides, connectors as grants, ",[202,1967,1968],{"href":569},"teams"," as the hiring object, ",[202,1971,372],{"href":371}," as the interceptor, graph as replay, ",[202,1974,1975],{"href":1227},"models"," as routing. Score those surfaces against the eight tests. Do not accept “we are a harness” as a substitute for a failed write. AIP and Agentforce deserve the same eight.",[270,1978,678],{"id":677},[680,1980,1982],{"id":1981},"can-we-score-claude-code-and-nimbus-on-one-spreadsheet","Can we score Claude Code and Nimbus on one spreadsheet?",[189,1984,1985],{},"Yes, with a workspace column. Shared rows: refuse, replay, swap, sensors, operator change, economics. Inner-only rows: tests, sandbox, PR. Outer-only rows: SoR quote, roster signer, workstream isolation.",[680,1987,1989],{"id":1988},"the-vendor-sent-a-swe-bench-plot","The vendor sent a SWE-bench plot.",[189,1991,1992,1993,227],{},"File it under inner quality. If you are buying CRM writes, it is not sufficient. ",[202,1994,660],{"href":551},[680,1996,1998],{"id":1997},"we-already-completed-a-copilot-rfp","We already completed a copilot RFP.",[189,2000,2001],{},"Keep it for personal tools. This sheet is for loops that act. Different job.",[680,2003,2005],{"id":2004},"is-iso-42001-certification-the-eval","Is ISO 42001 certification the eval?",[189,2007,2008],{},"It is a management-system signal. Still watch a write fail. Certification without an interceptor is paperwork.",[680,2010,736],{"id":735},[189,2012,2013,2015,2016,2018,2019,2021],{},[202,2014,766],{"href":765}," to know the parts. ",[202,2017,1414],{"href":351}," for the outer stop in detail. ",[202,2020,761],{"href":322}," for the ratchet after you buy.",[270,2023,756],{"id":755},[189,2025,2026,762,2028,227],{},[202,2027,1410],{"href":578},[202,2029,2030],{"href":1245},"what is AI governance",[270,2032,770],{"id":769},[275,2034,2035,2039,2043,2047,2052,2056,2060,2064,2068,2073,2077,2081,2085,2090,2094],{},[278,2036,2037],{},[202,2038,777],{"href":204},[278,2040,2041],{},[202,2042,1428],{"href":953},[278,2044,2045],{},[202,2046,782],{"href":211},[278,2048,2049],{},[202,2050,2051],{"href":521},"Thoughtworks, Harness engineering and agent feedback",[278,2053,2054],{},[202,2055,1448],{"href":999},[278,2057,2058],{},[202,2059,803],{"href":473},[278,2061,2062],{},[202,2063,813],{"href":245},[278,2065,2066],{},[202,2067,827],{"href":409},[278,2069,2070],{},[202,2071,2072],{"href":1574},"NIST AI RMF Playbook",[278,2074,2075],{},[202,2076,459],{"href":458},[278,2078,2079],{},[202,2080,1488],{"href":1167},[278,2082,2083],{},[202,2084,1478],{"href":1111},[278,2086,2087],{},[202,2088,2089],{"href":1116},"Reuters, ChatGPT legal brief sanctions",[278,2091,2092],{},[202,2093,832],{"href":414},[278,2095,2096],{},[202,2097,850],{"href":849},{"title":169,"searchDepth":170,"depth":170,"links":2099},[2100,2101,2102,2106,2107,2108,2115,2116],{"id":272,"depth":170,"text":273},{"id":1652,"depth":170,"text":1653},{"id":1695,"depth":170,"text":1696,"children":2103},[2104,2105],{"id":1804,"depth":861,"text":1805},{"id":1837,"depth":861,"text":1838},{"id":1859,"depth":170,"text":1860},{"id":1954,"depth":170,"text":1955},{"id":677,"depth":170,"text":678,"children":2109},[2110,2111,2112,2113,2114],{"id":1981,"depth":861,"text":1982},{"id":1988,"depth":861,"text":1989},{"id":1997,"depth":861,"text":1998},{"id":2004,"depth":861,"text":2005},{"id":735,"depth":861,"text":736},{"id":755,"depth":170,"text":756},{"id":769,"depth":170,"text":770},"Evaluating an agent harness means checking whether it can stop a write, replay who signed, and swap the model without rewriting the tools.",{"eyebrow":872,"title":2119},"Stops, replay, and a real sensor",[2121,2124,2127],{"question":2122,"answer":2123},"What should an evaluation of a harness check?","Whether it can stop a write, replay who signed, swap the model without rewriting the tools, and fail a real sensor.",{"question":2125,"answer":2126},"Is a good demo answer enough?","No. A fluent answer does not prove the harness can refuse a bad change.",{"question":2128,"answer":2129},"What is a failed evaluation?","The write still lands when the check fails, or nobody can reconstruct who approved last Tuesday's change.","\u002Fblog\u002Fhow-to-evaluate-an-agent-harness",{"title":1538,"description":2117},"evaluation","blog\u002Fhow-to-evaluate-an-agent-harness",[2132,889,372,2135],"rfp","Gv9m9kXME8wRmG6-l6R6IYqmcl4wOhGLVhOAjNzk4xU",{"enabled":163,"message":2138,"linkLabel":79,"linkHref":80,"id":2139,"title":2140,"archived":163,"authors":164,"badge":164,"body":2141,"date":164,"definedTerm":164,"department":164,"description":169,"extension":172,"eyebrow":164,"faqHeader":164,"faqs":164,"footerBand":164,"headline":164,"image":164,"industry":164,"jobType":164,"listed":131,"location":164,"navigation":131,"openRoles":164,"pageLayout":164,"path":2145,"relatedHeading":164,"seo":2146,"series":164,"sitemap":163,"status":164,"stem":2147,"subhead":164,"tags":164,"video":164,"whyJoin":164,"workplaceType":164,"__hash__":2148},"We're hiring! Join the team building the Sentient Enterprise.","content\u002Fshared\u002Fhiring.md","Hiring banner",{"type":166,"value":2142,"toc":2143},[],{"title":169,"searchDepth":170,"depth":170,"links":2144},[],"\u002Fshared\u002Fhiring",{"title":2140,"description":169},"shared\u002Fhiring","1zs3boivKda1e-b-hAyuNcmZSKjZUAXmecnwHVgcHzk",{"fold":2150,"id":2154,"title":2155,"archived":163,"authors":164,"badge":164,"body":2156,"date":164,"definedTerm":164,"department":164,"description":169,"extension":172,"eyebrow":164,"faqHeader":164,"faqs":164,"footerBand":2160,"headline":164,"image":164,"industry":164,"jobType":164,"listed":131,"location":164,"navigation":131,"openRoles":164,"pageLayout":164,"path":2164,"relatedHeading":164,"seo":2165,"series":164,"sitemap":163,"status":164,"stem":2166,"subhead":164,"tags":164,"video":164,"whyJoin":164,"workplaceType":164,"__hash__":2167},{"headline":2151,"description":2152,"primaryLabel":8,"primaryTo":2153,"secondaryLabel":909,"secondaryTo":12},"Run frontier AI your business actually owns.","Governed workstreams, 3,000+ integrations, and a proprietary knowledge graph. Start on Free.","\u002Fsignup?plan=free","content\u002Fshared\u002Fcta.md","Site CTAs",{"type":166,"value":2157,"toc":2158},[],{"title":169,"searchDepth":170,"depth":170,"links":2159},[],{"headline":2161,"description":2162,"primaryLabel":8,"primaryTo":2153,"secondaryLabel":2163,"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","\u002Fshared\u002Fcta",{"title":2155,"description":169},"shared\u002Fcta","eYqahyaPnbp8GKrWpoORbZdtmkWmgHr5F61ZHOnb8sY",1792999485527]