A recipe’s Tool bindings describe the builds, datasets, seeds, and operations needed by a case. The runner allocates separate instances for independent scenarios, configurations, and repetitions, then closes the run-owned instances.A run does not share another run’s synthetic records merely because both use the same Tool build.
A scenario sequence keeps synthetic state across its steps. Your agent can act, observe consequences, advance modeled time, and act again within that controlled sequence.Repeated trials are separate from continuing steps: repetitions start independent runs; sequence steps continue the same run.
A native callback can still share your process. A command can still access your filesystem. Your HTTP application can still have external state.Synthetic Tool isolation does not automatically reset the agent’s memory, your database, OS timers, or model randomness. Make application reset hooks explicit and use prepared isolated runners when that boundary is required.See state and time and security.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Firedrill","description":"Simulate AI agents across scenarios, configurations, and repeated trials","colors":{"primary":"#3157D5","light":"#5272DE","dark":"#5272DE"},"logo":{"light":"https://mintcdn.com/firedrill/sWeyeTM66Pjv8_YB/logo/light.svg?fit=max\u0026auto=format\u0026n=sWeyeTM66Pjv8_YB\u0026q=85\u0026s=608d25ab5f97ad95a8d3e8c9ced0cb6d","dark":"https://mintcdn.com/firedrill/sWeyeTM66Pjv8_YB/logo/dark.svg?fit=max\u0026auto=format\u0026n=sWeyeTM66Pjv8_YB\u0026q=85\u0026s=fa12225848791186ced26f7609685612"},"favicon":"https://mintcdn.com/firedrill/sWeyeTM66Pjv8_YB/favicon.svg?fit=max\u0026auto=format\u0026n=sWeyeTM66Pjv8_YB\u0026q=85\u0026s=cae3a93e3c384028863580e7ed05f4f9","api":{"playground":{"display":"none"}},"navbar":{"links":[{"href":"https://firedrill.run","label":"Firedrill"},{"href":"https://firedrill.run/agents","label":"For agents"}],"primary":{"type":"button","label":"Open Firedrill","href":"https://app.firedrill.run"}},"seo":{"metatags":{"canonical":"https://docs.firedrill.run"}},"fonts":{"family":"Inter","weight":450},"styling":{"eyebrows":"breadcrumbs","latex":false},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Open Firedrill","icon":"arrow-up-right-from-square","href":"https://app.firedrill.run"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"firedrill","hasAudioNarration":false,"actualSubdomain":"firedrill","customDomains":["docs.firedrill.run"],"gitSource":{"type":"github","owner":"firedrill-tools","repo":"firedrill-developer-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad70e01d6c125375d923afd","collectionId":"8a442383-941c-43b0-8344-f7f7828b9c25","liveDeploymentHistoryId":"6ad70e01d6c125375d923afd","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ad70e01d6c125375d923afd","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API reference","count":80},{"language":"default","tag":"Control API","count":78},{"language":"default","tag":"Documentation","count":44},{"language":"default","tag":"tools","count":18},{"language":"default","tag":"Simulations and evidence","count":10},{"language":"default","tag":"tool-lifecycle","count":10},{"language":"default","tag":"Synthetic Tools","count":8},{"language":"default","tag":"reports","count":8},{"language":"default","tag":"Core concepts","count":6},{"language":"default","tag":"assessment","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"concepts/world-state","slug":"/concepts/world-state","pageMetadata":{"title":"Isolated state","description":"Understand which data belongs to each run and what a reset changes.","href":"/concepts/world-state"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Understand which data belongs to each run and what a reset changes.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Synthetic Tool state belongs to an instance within a selected project and environment. Your application’s own state remains in your runner.`}),`\n`,_jsx(Heading,{level:`2`,id:`independent-runs`,children:`Independent runs`}),`\n`,_jsx(_components.p,{children:`A recipe’s Tool bindings describe the builds, datasets, seeds, and operations needed by a case. The runner allocates separate instances for independent scenarios, configurations, and repetitions, then closes the run-owned instances.`}),`\n`,_jsx(_components.p,{children:`A run does not share another run’s synthetic records merely because both use the same Tool build.`}),`\n`,_jsx(Heading,{level:`2`,id:`continuing-simulations`,children:`Continuing simulations`}),`\n`,_jsx(_components.p,{children:`A scenario sequence keeps synthetic state across its steps. Your agent can act, observe consequences, advance modeled time, and act again within that controlled sequence.`}),`\n`,_jsx(_components.p,{children:`Repeated trials are separate from continuing steps: repetitions start independent runs; sequence steps continue the same run.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-isolation-does-not-mean`,children:`What isolation does not mean`}),`\n`,_jsx(_components.p,{children:`A native callback can still share your process. A command can still access your filesystem. Your HTTP application can still have external state.`}),`\n`,_jsx(_components.p,{children:`Synthetic Tool isolation does not automatically reset the agent’s memory, your database, OS timers, or model randomness. Make application reset hooks explicit and use prepared isolated runners when that boundary is required.`}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/guides/control-state-time`,children:`state and time`}),` and `,_jsx(_components.a,{href:`/guides/security`,children:`security`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Isolated state","description":"Understand which data belongs to each run and what a reset changes.","href":"/concepts/world-state"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Independent runs","slug":"independent-runs","depth":2,"children":[]},{"title":"Continuing simulations","slug":"continuing-simulations","depth":2,"children":[]},{"title":"What isolation does not mean","slug":"what-isolation-does-not-mean","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"firedrill","siteName":"Firedrill","title":"Isolated state - Firedrill","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-18T11:28:24.826Z","originalFileLocation":"concepts/world-state.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Understand which data belongs to each run and what a reset changes.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Firedrill\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Isolated state - Firedrill\">\u003cmeta data-mint-head property=\"og:description\" content=\"Understand which data belongs to each run and what a reset changes.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Firedrill\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.firedrill.run/concepts/world-state\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://firedrill.mintlify.app/_mintlify/api/og/v2?division=Core+concepts\u0026amp;title=Isolated+state\u0026amp;description=Understand+which+data+belongs+to+each+run+and+what+a+reset+changes.\u0026amp;theme=211def18583054cfab550cb1\u0026amp;signature=4c1ef2c846d1dc7de51ad018adb3d21e2697bfe755aec7e63ce76b73ee97a576\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Isolated state - Firedrill\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Understand which data belongs to each run and what a reset changes.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://firedrill.mintlify.app/_mintlify/api/og/v2?division=Core+concepts\u0026amp;title=Isolated+state\u0026amp;description=Understand+which+data+belongs+to+each+run+and+what+a+reset+changes.\u0026amp;theme=211def18583054cfab550cb1\u0026amp;signature=4c1ef2c846d1dc7de51ad018adb3d21e2697bfe755aec7e63ce76b73ee97a576\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Firedrill\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3157D5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.firedrill.run/concepts/world-state\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/concepts/world-state.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.firedrill.run/#organization\",\"name\":\"Firedrill\",\"url\":\"https://docs.firedrill.run\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/firedrill/sWeyeTM66Pjv8_YB/logo/light.svg?fit=max\u0026auto=format\u0026n=sWeyeTM66Pjv8_YB\u0026q=85\u0026s=608d25ab5f97ad95a8d3e8c9ced0cb6d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.firedrill.run#website\",\"name\":\"Firedrill\",\"url\":\"https://docs.firedrill.run\",\"publisher\":{\"@id\":\"https://docs.firedrill.run/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.firedrill.run/concepts/world-state#webpage\",\"url\":\"https://docs.firedrill.run/concepts/world-state\",\"name\":\"Isolated state\",\"description\":\"Understand which data belongs to each run and what a reset changes.\",\"dateModified\":\"2026-10-18T11:28:24.826Z\",\"isPartOf\":{\"@id\":\"https://docs.firedrill.run#website\"},\"breadcrumb\":{\"@id\":\"https://docs.firedrill.run/concepts/world-state#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.firedrill.run/concepts/world-state#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Core concepts\",\"item\":\"https://docs.firedrill.run/concepts/tools\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Isolated state\",\"item\":\"https://docs.firedrill.run/concepts/world-state\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.firedrill.run/concepts/world-state#article\",\"headline\":\"Isolated state\",\"name\":\"Isolated state\",\"description\":\"Understand which data belongs to each run and what a reset changes.\",\"url\":\"https://docs.firedrill.run/concepts/world-state\",\"mainEntityOfPage\":{\"@id\":\"https://docs.firedrill.run/concepts/world-state#webpage\"},\"dateModified\":\"2026-10-18T11:28:24.826Z\",\"publisher\":{\"@id\":\"https://docs.firedrill.run/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.firedrill.run#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Firedrill\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Firedrill","nav":{"global":{"anchors":[{"anchor":"Open Firedrill","icon":"arrow-up-right-from-square","href":"https://app.firedrill.run"}]},"tabs":[{"tab":"Documentation","icon":"book-open","groups":[{"group":"Get started","pages":[{"title":"Firedrill","href":""},{"title":"Run your first simulation","href":"/quickstart"},{"title":"AI agent examples by framework and stack","sidebarTitle":"Framework examples","href":"/guides/examples"},{"title":"How Firedrill works","href":"/concepts/how-it-works"},{"title":"Choose your workflow","href":"/reference/choose-a-workflow"}]},{"group":"Coding agents","pages":[{"title":"Coding-agent setup","href":"/guides/coding-agents"},{"title":"Operator MCP","href":"/guides/control-mcp"},{"title":"Connect your agent's real entry point","href":"/guides/example-agents"}]},{"group":"Simulations and evidence","pages":[{"title":"Simulate your application","href":"/guides/simulate-and-test"},{"title":"Run your first simulation","href":"/guides/run-first-drill"},{"title":"Repeat and coordinate simulations","href":"/guides/simulations"},{"title":"Vary scenario inputs","href":"/guides/scenario-matrices"},{"title":"Save and reuse scenarios","href":"/guides/reusable-scenarios"},{"title":"Score meaning and enforce exact requirements","href":"/guides/scoring"},{"title":"Compare target and model configurations","href":"/guides/model-benchmarks"},{"title":"Capture a browser workflow","href":"/guides/browser-testing"},{"title":"Attach logs, files, and media","href":"/guides/capture"},{"title":"Results and evidence","href":"/guides/results"}]},{"group":"Synthetic Tools","pages":[{"title":"Start synthetic Tools","href":"/guides/install-tools"},{"title":"Connect your agent to synthetic Tools","href":"/guides/connect-agent"},{"title":"Tool browser apps","href":"/guides/tool-apps"},{"title":"Starting data","href":"/guides/starting-data"},{"title":"Save and reuse datasets","href":"/guides/saved-datasets"},{"title":"Control state and time","href":"/guides/control-state-time"},{"title":"Tool lifetime and history","href":"/guides/sessions"},{"title":"Author a synthetic Tool","href":"/guides/create-tool-package"}]},{"group":"Automation","pages":[{"title":"Run simulations in CI","href":"/guides/ci"},{"title":"Pull-request simulations","href":"/guides/pull-request-ci"},{"title":"Command and HTTP agents","href":"/guides/callbacks"}]},{"group":"Web app and access","pages":[{"title":"Use the web app","href":"/guides/web-app"},{"title":"Projects and environments","href":"/guides/projects-builds"},{"title":"Team access and machine credentials","href":"/guides/team"},{"title":"Security and data boundaries","href":"/guides/security"}]},{"group":"Core concepts","pages":[{"title":"Synthetic Tools","description":"Controlled dependencies your real agent can use during a simulation.","href":"/concepts/tools"},{"title":"Isolated state","href":"/concepts/world-state"},{"title":"Scenarios","description":"Tasks and starting conditions for exploring how your agent behaves.","href":"/concepts/scenarios"},{"title":"Tool access","href":"/concepts/actors-personas"},{"title":"Scenarios, batches, and runs","href":"/concepts/drills-runs"},{"title":"Evidence and reset","href":"/concepts/evidence-reset"}]},{"group":"Files and reference","pages":[{"title":"Simulation files","href":"/guides/project-files"},{"title":"Project structure","href":"/reference/project-structure"},{"title":"Tool contract","href":"/reference/tool-contract"},{"title":"Glossary","href":"/reference/glossary"},{"title":"Troubleshooting","href":"/reference/troubleshooting"}]}]},{"tab":"CLI","icon":"square-terminal","pages":[{"title":"CLI","href":"/cli/overview"}]},{"tab":"SDKs","icon":"code","pages":[{"title":"SDKs","href":"/sdk/overview"}]},{"tab":"API reference","icon":"brackets-curly","pages":[{"title":"API reference","href":"/api-reference/overview"}]}]},"basePath":"","title":"Isolated state - Firedrill","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}