[{"data":1,"prerenderedAt":5207},["ShallowReactive",2],{"navigation_docs":3,"-reference-http-api-draft-ops":520,"-reference-http-api-draft-ops-surround":5202},[4,28,51,191,222,485],{"title":5,"path":6,"stem":7,"children":8},"Get started","\u002Fget-started","1.get-started",[9,12,16,20,24],{"title":10,"path":6,"stem":11},"Overview","1.get-started\u002Findex",{"title":13,"path":14,"stem":15},"Why Kraft","\u002Fget-started\u002Fwhy-kraft","1.get-started\u002F0.why-kraft",{"title":17,"path":18,"stem":19},"Install","\u002Fget-started\u002Finstall","1.get-started\u002F1.install",{"title":21,"path":22,"stem":23},"Your first work item","\u002Fget-started\u002Ffirst-work-item","1.get-started\u002F2.first-work-item",{"title":25,"path":26,"stem":27},"FAQ","\u002Fget-started\u002Ffaq","1.get-started\u002F3.faq",{"title":29,"path":30,"stem":31,"children":32},"Concepts","\u002Fconcepts","2.concepts",[33,35,39,43,47],{"title":10,"path":30,"stem":34},"2.concepts\u002Findex",{"title":36,"path":37,"stem":38},"How a work item runs","\u002Fconcepts\u002Fhow-a-work-item-runs","2.concepts\u002F1.how-a-work-item-runs",{"title":40,"path":41,"stem":42},"Caps and budgets","\u002Fconcepts\u002Fcaps-and-budgets","2.concepts\u002F2.caps-and-budgets",{"title":44,"path":45,"stem":46},"Why a permission gate","\u002Fconcepts\u002Fpermission-gate","2.concepts\u002F3.permission-gate",{"title":48,"path":49,"stem":50},"Vocabulary","\u002Fconcepts\u002Fvocabulary","2.concepts\u002F4.vocabulary",{"title":52,"path":53,"stem":54,"children":55},"Guides","\u002Fguides","3.guides",[56,58,96,117,138,187],{"title":10,"path":53,"stem":57},"3.guides\u002Findex",{"title":59,"path":60,"stem":61,"children":62,"page":95},"Day to day","\u002Fguides\u002Fday-to-day","3.guides\u002F1.day-to-day",[63,67,71,75,79,83,87,91],{"title":64,"path":65,"stem":66},"The setup wizard on first start","\u002Fguides\u002Fday-to-day\u002Ffirst-run","3.guides\u002F1.day-to-day\u002F2.first-run",{"title":68,"path":69,"stem":70},"File a work item","\u002Fguides\u002Fday-to-day\u002Ffile-a-work-item","3.guides\u002F1.day-to-day\u002F3.file-a-work-item",{"title":72,"path":73,"stem":74},"Use Kraft from your agent","\u002Fguides\u002Fday-to-day\u002Fagent-integration","3.guides\u002F1.day-to-day\u002F4.agent-integration",{"title":76,"path":77,"stem":78},"Reviewing a change","\u002Fguides\u002Fday-to-day\u002Freview-a-change","3.guides\u002F1.day-to-day\u002F5.review-a-change",{"title":80,"path":81,"stem":82},"Raise a cap on a stopped item","\u002Fguides\u002Fday-to-day\u002Fraise-a-cap","3.guides\u002F1.day-to-day\u002F6.raise-a-cap",{"title":84,"path":85,"stem":86},"Kraft for VS Code","\u002Fguides\u002Fday-to-day\u002Fvscode","3.guides\u002F1.day-to-day\u002F7.vscode",{"title":88,"path":89,"stem":90},"Kraft on a phone","\u002Fguides\u002Fday-to-day\u002Fkraft-on-a-phone","3.guides\u002F1.day-to-day\u002F8.kraft-on-a-phone",{"title":92,"path":93,"stem":94},"Get notified when an item needs you","\u002Fguides\u002Fday-to-day\u002Fnotifications","3.guides\u002F1.day-to-day\u002F9.notifications",false,{"title":97,"path":98,"stem":99,"children":100,"page":95},"Customize and automate","\u002Fguides\u002Fcustomize","3.guides\u002F2.customize",[101,105,109,113],{"title":102,"path":103,"stem":104},"Write your own chain","\u002Fguides\u002Fcustomize\u002Fwrite-your-own-chain","3.guides\u002F2.customize\u002F1.write-your-own-chain",{"title":106,"path":107,"stem":108},"Add a security review or a gate reviewer","\u002Fguides\u002Fcustomize\u002Fadd-review-agents","3.guides\u002F2.customize\u002F2.add-review-agents",{"title":110,"path":111,"stem":112},"Schedule or webhook work","\u002Fguides\u002Fcustomize\u002Fschedule-and-webhook-work","3.guides\u002F2.customize\u002F3.schedule-and-webhook-work",{"title":114,"path":115,"stem":116},"Share chains with add-ons","\u002Fguides\u002Fcustomize\u002Fshare-chains-with-addons","3.guides\u002F2.customize\u002F4.share-chains-with-addons",{"title":118,"path":119,"stem":120,"children":121,"page":95},"Agents and harnesses","\u002Fguides\u002Fharnesses","3.guides\u002F3.harnesses",[122,126,130,134],{"title":123,"path":124,"stem":125},"Switch a task to another harness","\u002Fguides\u002Fharnesses\u002Fswitch-harness","3.guides\u002F3.harnesses\u002F1.switch-harness",{"title":127,"path":128,"stem":129},"Add or override a harness","\u002Fguides\u002Fharnesses\u002Fadding-a-harness","3.guides\u002F3.harnesses\u002F2.adding-a-harness",{"title":131,"path":132,"stem":133},"Build a worker Kit","\u002Fguides\u002Fharnesses\u002Fworker-kit","3.guides\u002F3.harnesses\u002F3.worker-kit",{"title":135,"path":136,"stem":137},"Give a worker its login","\u002Fguides\u002Fharnesses\u002Fgive-a-worker-its-login","3.guides\u002F3.harnesses\u002F4.give-a-worker-its-login",{"title":139,"path":140,"stem":141,"children":142,"page":95},"Run the server","\u002Fguides\u002Frun","3.guides\u002F4.run",[143,147,151,155,159,163,167,171,175,179,183],{"title":144,"path":145,"stem":146},"Remote access","\u002Fguides\u002Frun\u002Fremote-access","3.guides\u002F4.run\u002F01.remote-access",{"title":148,"path":149,"stem":150},"Put a proxy in front of Kraft","\u002Fguides\u002Frun\u002Fput-a-proxy-in-front-of-kraft","3.guides\u002F4.run\u002F02.put-a-proxy-in-front-of-kraft",{"title":152,"path":153,"stem":154},"Restart Kraft without ending running agents","\u002Fguides\u002Frun\u002Frestart-kraft","3.guides\u002F4.run\u002F03.restart-kraft",{"title":156,"path":157,"stem":158},"Back up and restore the database","\u002Fguides\u002Frun\u002Fback-up-and-restore","3.guides\u002F4.run\u002F04.back-up-and-restore",{"title":160,"path":161,"stem":162},"Logs and disk space","\u002Fguides\u002Frun\u002Flogs-and-disk-space","3.guides\u002F4.run\u002F05.logs-and-disk-space",{"title":164,"path":165,"stem":166},"Run Kraft as a service","\u002Fguides\u002Frun\u002Frun-as-a-service","3.guides\u002F4.run\u002F06.run-as-a-service",{"title":168,"path":169,"stem":170},"Upgrade Kraft","\u002Fguides\u002Frun\u002Fupgrade-kraft","3.guides\u002F4.run\u002F07.upgrade-kraft",{"title":172,"path":173,"stem":174},"Upgrade your configuration","\u002Fguides\u002Frun\u002Fupgrade-your-configuration","3.guides\u002F4.run\u002F08.upgrade-your-configuration",{"title":176,"path":177,"stem":178},"Upgrade from 1.4","\u002Fguides\u002Frun\u002Fupgrade-from-1-4","3.guides\u002F4.run\u002F09.upgrade-from-1-4",{"title":180,"path":181,"stem":182},"Upgrade from 0.x or a release candidate","\u002Fguides\u002Frun\u002Fupgrade-from-0-x-or-a-release-candidate","3.guides\u002F4.run\u002F10.upgrade-from-0-x-or-a-release-candidate",{"title":184,"path":185,"stem":186},"Roll back to 1.4","\u002Fguides\u002Frun\u002Froll-back","3.guides\u002F4.run\u002F11.roll-back",{"title":188,"path":189,"stem":190},"Kraft Lite","\u002Fguides\u002Fkraft-lite","3.guides\u002F5.kraft-lite",{"title":192,"path":193,"stem":194,"children":195},"Troubleshooting","\u002Ftroubleshooting","4.troubleshooting",[196,198,202,206,210,214,218],{"title":10,"path":193,"stem":197},"4.troubleshooting\u002Findex",{"title":199,"path":200,"stem":201},"Why did my item stop?","\u002Ftroubleshooting\u002Fwhy-did-my-item-stop","4.troubleshooting\u002F1.why-did-my-item-stop",{"title":203,"path":204,"stem":205},"Stop reasons in detail","\u002Ftroubleshooting\u002Fstop-reasons-in-detail","4.troubleshooting\u002F2.stop-reasons-in-detail",{"title":207,"path":208,"stem":209},"Starting and reaching Kraft","\u002Ftroubleshooting\u002Fstarting-and-reaching-kraft","4.troubleshooting\u002F3.starting-and-reaching-kraft",{"title":211,"path":212,"stem":213},"Doctor failures","\u002Ftroubleshooting\u002Fdoctor-failures","4.troubleshooting\u002F4.doctor-failures",{"title":215,"path":216,"stem":217},"Sandbox and Kit stops","\u002Ftroubleshooting\u002Fsandbox-and-kit-stops","4.troubleshooting\u002F5.sandbox-and-kit-stops",{"title":219,"path":220,"stem":221},"Add-on problems","\u002Ftroubleshooting\u002Faddon-problems","4.troubleshooting\u002F6.addon-problems",{"title":223,"path":224,"stem":225,"children":226},"Reference","\u002Freference","5.reference",[227,229,267,289,293,391,409,435,439,443,477,481],{"title":10,"path":224,"stem":228},"5.reference\u002Findex",{"title":230,"path":231,"stem":232,"children":233},"Web UI","\u002Freference\u002Fweb-ui","5.reference\u002F00.web-ui\u002Findex",[234,235,239,243,247,251,255,259,263],{"title":10,"path":231,"stem":232},{"title":236,"path":237,"stem":238},"Sidebar, search, and keyboard","\u002Freference\u002Fweb-ui\u002Fsidebar-search-and-keyboard","5.reference\u002F00.web-ui\u002F0.sidebar-search-and-keyboard",{"title":240,"path":241,"stem":242},"The board","\u002Freference\u002Fweb-ui\u002Fboard","5.reference\u002F00.web-ui\u002F1.board",{"title":244,"path":245,"stem":246},"An item's page","\u002Freference\u002Fweb-ui\u002Fitem-page","5.reference\u002F00.web-ui\u002F2.item-page",{"title":248,"path":249,"stem":250},"Fix loops and test scopes","\u002Freference\u002Fweb-ui\u002Ffix-loops-and-test-scopes","5.reference\u002F00.web-ui\u002F3.fix-loops-and-test-scopes",{"title":252,"path":253,"stem":254},"Config before an item starts","\u002Freference\u002Fweb-ui\u002Fconfig-before-start","5.reference\u002F00.web-ui\u002F4.config-before-start",{"title":256,"path":257,"stem":258},"The review page","\u002Freference\u002Fweb-ui\u002Freview-page","5.reference\u002F00.web-ui\u002F5.review-page",{"title":260,"path":261,"stem":262},"Templates and Settings","\u002Freference\u002Fweb-ui\u002Ftemplates-and-settings","5.reference\u002F00.web-ui\u002F6.templates-and-settings",{"title":264,"path":265,"stem":266},"Analytics","\u002Freference\u002Fweb-ui\u002Fanalytics","5.reference\u002F00.web-ui\u002F7.analytics",{"title":268,"path":269,"stem":270,"children":271},"CLI","\u002Freference\u002Fcli","5.reference\u002F01.cli\u002Findex",[272,273,277,281,285],{"title":10,"path":269,"stem":270},{"title":274,"path":275,"stem":276},"Item verbs","\u002Freference\u002Fcli\u002Fitem","5.reference\u002F01.cli\u002F2.item",{"title":278,"path":279,"stem":280},"View verbs","\u002Freference\u002Fcli\u002Fview","5.reference\u002F01.cli\u002F3.view",{"title":282,"path":283,"stem":284},"Repo verbs","\u002Freference\u002Fcli\u002Frepo","5.reference\u002F01.cli\u002F4.repo",{"title":286,"path":287,"stem":288},"Admin verbs","\u002Freference\u002Fcli\u002Fadmin","5.reference\u002F01.cli\u002F5.admin",{"title":290,"path":291,"stem":292},"Work item statuses","\u002Freference\u002Fstatuses","5.reference\u002F02.statuses",{"title":294,"path":295,"stem":296,"children":297},"Configuration","\u002Freference\u002Fconfiguration","5.reference\u002F03.configuration\u002Findex",[298,299,317,321,325,329,333,337,341,345,379,383,387],{"title":10,"path":295,"stem":296},{"title":300,"path":301,"stem":302,"children":303},"repos.yaml","\u002Freference\u002Fconfiguration\u002Frepos","5.reference\u002F03.configuration\u002F02.repos\u002Findex",[304,305,309,313],{"title":10,"path":301,"stem":302},{"title":306,"path":307,"stem":308},"How connect proposes commands","\u002Freference\u002Fconfiguration\u002Frepos\u002Fconnect-proposals","5.reference\u002F03.configuration\u002F02.repos\u002F1.connect-proposals",{"title":310,"path":311,"stem":312},"detectors.yaml","\u002Freference\u002Fconfiguration\u002Frepos\u002Fdetectors","5.reference\u002F03.configuration\u002F02.repos\u002F2.detectors",{"title":314,"path":315,"stem":316},"Workspaces","\u002Freference\u002Fconfiguration\u002Frepos\u002Fworkspaces","5.reference\u002F03.configuration\u002F02.repos\u002F3.workspaces",{"title":318,"path":319,"stem":320},"policy.yaml","\u002Freference\u002Fconfiguration\u002Fpolicy","5.reference\u002F03.configuration\u002F03.policy",{"title":322,"path":323,"stem":324},"Library and chains","\u002Freference\u002Fconfiguration\u002Flibrary-and-chains","5.reference\u002F03.configuration\u002F04.library-and-chains",{"title":326,"path":327,"stem":328},"harnesses.yaml","\u002Freference\u002Fconfiguration\u002Fharnesses-file","5.reference\u002F03.configuration\u002F05.harnesses-file",{"title":330,"path":331,"stem":332},"access.yaml","\u002Freference\u002Fconfiguration\u002Faccess","5.reference\u002F03.configuration\u002F06.access",{"title":334,"path":335,"stem":336},"intake.yaml","\u002Freference\u002Fconfiguration\u002Fintake","5.reference\u002F03.configuration\u002F07.intake",{"title":338,"path":339,"stem":340},"notify.yaml","\u002Freference\u002Fconfiguration\u002Fnotify","5.reference\u002F03.configuration\u002F08.notify",{"title":342,"path":343,"stem":344},"theme.yaml","\u002Freference\u002Fconfiguration\u002Ftheme","5.reference\u002F03.configuration\u002F09.theme",{"title":346,"path":347,"stem":348,"children":349},"Sandboxed workers","\u002Freference\u002Fconfiguration\u002Fsandbox","5.reference\u002F03.configuration\u002F10.sandbox\u002Findex",[350,351,355,359,363,367,371,375],{"title":10,"path":347,"stem":348},{"title":352,"path":353,"stem":354},"Resource limits","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fresource-limits","5.reference\u002F03.configuration\u002F10.sandbox\u002F1.resource-limits",{"title":356,"path":357,"stem":358},"Callbacks from a sandbox","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fcallbacks","5.reference\u002F03.configuration\u002F10.sandbox\u002F2.callbacks",{"title":360,"path":361,"stem":362},"Network policy","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fnetwork-policy","5.reference\u002F03.configuration\u002F10.sandbox\u002F3.network-policy",{"title":364,"path":365,"stem":366},"Credentials","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fcredentials","5.reference\u002F03.configuration\u002F10.sandbox\u002F4.credentials",{"title":368,"path":369,"stem":370},"Kits","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fkits","5.reference\u002F03.configuration\u002F10.sandbox\u002F5.kits",{"title":372,"path":373,"stem":374},"sandbox.yaml","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fsandbox-yaml","5.reference\u002F03.configuration\u002F10.sandbox\u002F6.sandbox-yaml",{"title":376,"path":377,"stem":378},"Git in a sandbox","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fgit-in-a-sandbox","5.reference\u002F03.configuration\u002F10.sandbox\u002F7.git-in-a-sandbox",{"title":380,"path":381,"stem":382},"Environment variables","\u002Freference\u002Fconfiguration\u002Fenvironment-variables","5.reference\u002F03.configuration\u002F11.environment-variables",{"title":384,"path":385,"stem":386},"Add-ons and collections","\u002Freference\u002Fconfiguration\u002Faddons","5.reference\u002F03.configuration\u002F12.addons",{"title":388,"path":389,"stem":390},"Repo libraries","\u002Freference\u002Fconfiguration\u002Frepo-libraries","5.reference\u002F03.configuration\u002F13.repo-libraries",{"title":392,"path":393,"stem":394,"children":395},"Chain file keys","\u002Freference\u002Fchain-nodes","5.reference\u002F04.chain-nodes\u002Findex",[396,397,401,405],{"title":10,"path":393,"stem":394},{"title":398,"path":399,"stem":400},"Subprocess tasks","\u002Freference\u002Fchain-nodes\u002Fsubprocess-tasks","5.reference\u002F04.chain-nodes\u002F2.subprocess-tasks",{"title":402,"path":403,"stem":404},"Fix loop and judge","\u002Freference\u002Fchain-nodes\u002Ffix-loop","5.reference\u002F04.chain-nodes\u002F3.fix-loop",{"title":406,"path":407,"stem":408},"Result file","\u002Freference\u002Fchain-nodes\u002Fresult-file","5.reference\u002F04.chain-nodes\u002F4.result-file",{"title":410,"path":411,"stem":412,"children":413},"Agent harnesses","\u002Freference\u002Fharnesses","5.reference\u002F05.harnesses\u002Findex",[414,415,419,423,427,431],{"title":10,"path":411,"stem":412},{"title":416,"path":417,"stem":418},"Unattended runs","\u002Freference\u002Fharnesses\u002Funattended-runs","5.reference\u002F05.harnesses\u002F2.unattended-runs",{"title":420,"path":421,"stem":422},"Agent profiles","\u002Freference\u002Fharnesses\u002Fagent-profiles","5.reference\u002F05.harnesses\u002F3.agent-profiles",{"title":424,"path":425,"stem":426},"Harness definition files","\u002Freference\u002Fharnesses\u002Fharness-files","5.reference\u002F05.harnesses\u002F4.harness-files",{"title":428,"path":429,"stem":430},"Fallback and escalation","\u002Freference\u002Fharnesses\u002Ffallback-and-escalation","5.reference\u002F05.harnesses\u002F5.fallback-and-escalation",{"title":432,"path":433,"stem":434},"Cost reporting","\u002Freference\u002Fharnesses\u002Fcost-reporting","5.reference\u002F05.harnesses\u002F6.cost-reporting",{"title":436,"path":437,"stem":438},"Permission gate","\u002Freference\u002Fpermissions","5.reference\u002F06.permissions",{"title":440,"path":441,"stem":442},"Inbound triggers","\u002Freference\u002Ftriggers","5.reference\u002F07.triggers",{"title":444,"path":445,"stem":446,"children":447},"HTTP API","\u002Freference\u002Fhttp-api","5.reference\u002F08.http-api\u002Findex",[448,449,453,457,461,465,469,473],{"title":10,"path":445,"stem":446},{"title":450,"path":451,"stem":452},"Filing, reading and changing work items","\u002Freference\u002Fhttp-api\u002Fwork-items","5.reference\u002F08.http-api\u002F2.work-items",{"title":454,"path":455,"stem":456},"Gates, run control, ending and retry","\u002Freference\u002Fhttp-api\u002Fgates-run-control-and-ending","5.reference\u002F08.http-api\u002F3.gates-run-control-and-ending",{"title":458,"path":459,"stem":460},"The work item object","\u002Freference\u002Fhttp-api\u002Fwork-item-object","5.reference\u002F08.http-api\u002F4.work-item-object",{"title":462,"path":463,"stem":464},"Budget, events, diff and documents","\u002Freference\u002Fhttp-api\u002Fbudget-and-events","5.reference\u002F08.http-api\u002F5.budget-and-events",{"title":466,"path":467,"stem":468},"Repos, chains, harnesses and the server","\u002Freference\u002Fhttp-api\u002Frepos-chains-harnesses-and-server","5.reference\u002F08.http-api\u002F6.repos-chains-harnesses-and-server",{"title":470,"path":471,"stem":472},"Drafts","\u002Freference\u002Fhttp-api\u002Fdrafts","5.reference\u002F08.http-api\u002F7.drafts",{"title":474,"path":475,"stem":476},"Ops for each draft area","\u002Freference\u002Fhttp-api\u002Fdraft-ops","5.reference\u002F08.http-api\u002F8.draft-ops",{"title":478,"path":479,"stem":480},"MCP tools","\u002Freference\u002Fmcp-tools","5.reference\u002F09.mcp-tools",{"title":482,"path":483,"stem":484},"Events","\u002Freference\u002Fevents","5.reference\u002F10.events",{"title":486,"path":487,"stem":488,"children":489},"Security and project","\u002Fproject","6.project",[490,492,496,500,504,508,512,516],{"title":10,"path":487,"stem":491},"6.project\u002Findex",{"title":493,"path":494,"stem":495},"Security","\u002Fproject\u002Fsecurity","6.project\u002F1.security",{"title":497,"path":498,"stem":499},"Data and privacy","\u002Fproject\u002Fdata-and-privacy","6.project\u002F2.data-and-privacy",{"title":501,"path":502,"stem":503},"What's new in 2.0","\u002Fproject\u002Fwhats-new","6.project\u002F3.whats-new",{"title":505,"path":506,"stem":507},"Status and support","\u002Fproject\u002Fstatus-and-support","6.project\u002F4.status-and-support",{"title":509,"path":510,"stem":511},"Architecture","\u002Fproject\u002Farchitecture","6.project\u002F5.architecture",{"title":513,"path":514,"stem":515},"Source map","\u002Fproject\u002Fsource-map","6.project\u002F6.source-map",{"title":517,"path":518,"stem":519},"Contributing","\u002Fproject\u002Fcontributing","6.project\u002F7.contributing",{"id":521,"title":474,"body":522,"description":5195,"extension":5196,"links":5197,"meta":5198,"navigation":5199,"path":475,"seo":5200,"stem":476,"__hash__":5201},"docs\u002F5.reference\u002F08.http-api\u002F8.draft-ops.md",{"type":523,"value":524,"toc":5082},"minimark",[525,541,556,562,582,1410,1438,1443,1459,1537,1571,1576,1579,1614,1618,1621,1667,1671,1693,1847,1886,1890,1901,1928,1932,1939,1959,1963,1973,2004,2008,2023,2062,2066,2080,2110,2114,2117,2141,2145,2152,2175,2179,2182,2192,2196,2203,2228,2231,2299,2303,2317,2336,2340,2342,2365,2368,2415,2419,2425,2452,2456,2478,2503,2507,2510,2583,2587,2604,2632,2636,2660,2673,2677,2706,2731,2734,2747,2751,2760,2779,2783,2792,2809,2813,2825,2856,2860,2865,2900,2905,2928,2931,2935,2942,2961,2965,2975,2997,3001,3004,3020,3024,3027,3074,3078,3118,3125,3131,3212,3235,3239,3256,3260,3270,3287,3291,3301,3320,3324,3327,3339,3343,3353,3366,3372,3423,3429,3449,3453,3459,3463,3476,3504,3673,3677,3691,3715,3719,3725,3739,3745,3767,3913,3918,4024,4061,4074,4078,4089,4093,4111,4148,4152,4157,4243,4250,4254,4260,4290,4294,4299,4312,4318,4343,4346,4350,4353,4367,4386,4391,4404,4419,4424,4427,4437,4448,4458,4463,4473,4483,4488,4491,4514,4558,4604,4607,4617,4620,4763,4866,4870,4923,4926,4930,4944,4948,4953,4968,4973,4979,5007,5011,5014,5023,5027,5038,5053,5057,5078],[526,527,528,529,534,535,537,538,540],"p",{},"These are the ops a draft takes in each area, one entry per op, and the routes and ops of a ",[530,531,533],"a",{"href":532},"\u002Fconcepts\u002Fvocabulary#work-item","work item","'s own draft. They are the Templates and Settings editors' own protocol, so a script rarely needs them. The routes that carry them are on ",[530,536,470],{"href":471},", and like the other board routes they can change in any release, as ",[530,539,450],{"href":451}," says.",[526,542,543,544,548,549,555],{},"An op that cannot apply is refused with ",[545,546,547],"code",{},"422"," by ",[530,550,552],{"href":551},"\u002Freference\u002Fhttp-api\u002Fdrafts#post-apidraftsareakeyops",[545,553,554],{},"POST \u002Fapi\u002Fdrafts\u002F{area}\u002F{key}\u002Fops",", and nothing is saved. Each entry below names its own reasons.",[526,557,558,559,561],{},"On every chain, library and settings area, an op name that does not exist, a field the op does not take, or a required field that is missing is refused with ",[545,560,547],{}," too, and fails the whole request. A field is required unless its entry marks it optional.",[526,563,564,565,568,569,568,572,568,575,578,579,581],{},"The settings areas (",[545,566,567],{},"harnesses",", ",[545,570,571],{},"repos",[545,573,574],{},"policy",[545,576,577],{},"intake",") write over each file's own text, so comments stay. An op whose result the file's layout cannot take back is refused with ",[545,580,547],{},", and the message says to edit the file by hand.",[583,584,585,601],"table",{},[586,587,588],"thead",{},[589,590,591,595,598],"tr",{},[592,593,594],"th",{},"Op or route",[592,596,597],{},"Area",[592,599,600],{},"What it does",[602,603,604,623,643,662,692,711,730,749,768,787,804,821,840,859,878,897,918,935,956,982,999,1016,1033,1050,1067,1084,1101,1118,1135,1152,1169,1188,1205,1222,1239,1256,1273,1290,1306,1321,1336,1351,1365,1380,1395],"tbody",{},[589,605,606,615,620],{},[607,608,609],"td",{},[530,610,612],{"href":611},"#add_node",[545,613,614],{},"add_node",[607,616,617],{},[545,618,619],{},"chains",[607,621,622],{},"Inserts a node.",[589,624,625,633,640],{},[607,626,627],{},[530,628,630],{"href":629},"#add_step",[545,631,632],{},"add_step",[607,634,635,568,637],{},[545,636,619],{},[545,638,639],{},"library",[607,641,642],{},"Inserts an empty step.",[589,644,645,653,659],{},[607,646,647],{},[530,648,650],{"href":649},"#add_task",[545,651,652],{},"add_task",[607,654,655,568,657],{},[545,656,619],{},[545,658,639],{},[607,660,661],{},"Appends a task, or fills a named slot.",[589,663,664,672,678],{},[607,665,666],{},[530,667,669],{"href":668},"#add_handler",[545,670,671],{},"add_handler",[607,673,674,568,676],{},[545,675,619],{},[545,677,639],{},[607,679,680,681,568,684,687,688,691],{},"Adds an ",[545,682,683],{},"on_failure",[545,685,686],{},"fix_loop"," or ",[545,689,690],{},"on_conflict"," handler.",[589,693,694,702,708],{},[607,695,696],{},[530,697,699],{"href":698},"#remove_handler",[545,700,701],{},"remove_handler",[607,703,704,568,706],{},[545,705,619],{},[545,707,639],{},[607,709,710],{},"Removes a handler.",[589,712,713,721,727],{},[607,714,715],{},[530,716,718],{"href":717},"#move",[545,719,720],{},"move",[607,722,723,568,725],{},[545,724,619],{},[545,726,639],{},[607,728,729],{},"Moves a node, step or task.",[589,731,732,740,746],{},[607,733,734],{},[530,735,737],{"href":736},"#remove",[545,738,739],{},"remove",[607,741,742,568,744],{},[545,743,619],{},[545,745,639],{},[607,747,748],{},"Removes a component.",[589,750,751,759,765],{},[607,752,753],{},[530,754,756],{"href":755},"#extend",[545,757,758],{},"extend",[607,760,761,568,763],{},[545,762,619],{},[545,764,639],{},[607,766,767],{},"Makes a node extend a library node.",[589,769,770,778,784],{},[607,771,772],{},[530,773,775],{"href":774},"#change_base",[545,776,777],{},"change_base",[607,779,780,568,782],{},[545,781,619],{},[545,783,639],{},[607,785,786],{},"Changes the library node a node extends.",[589,788,789,797,801],{},[607,790,791],{},[530,792,794],{"href":793},"#new_chain",[545,795,796],{},"new_chain",[607,798,799],{},[545,800,619],{},[607,802,803],{},"Starts the key's chain.",[589,805,806,814,818],{},[607,807,808],{},[530,809,811],{"href":810},"#delete_chain",[545,812,813],{},"delete_chain",[607,815,816],{},[545,817,619],{},[607,819,820],{},"Deletes the chain on publish.",[589,822,823,831,837],{},[607,824,825],{},[530,826,828],{"href":827},"#set_field",[545,829,830],{},"set_field",[607,832,833,568,835],{},[545,834,619],{},[545,836,639],{},[607,838,839],{},"Sets one field.",[589,841,842,850,856],{},[607,843,844],{},[530,845,847],{"href":846},"#reset_field",[545,848,849],{},"reset_field",[607,851,852,568,854],{},[545,853,619],{},[545,855,639],{},[607,857,858],{},"Removes an override, so the inherited value applies.",[589,860,861,869,875],{},[607,862,863],{},[530,864,866],{"href":865},"#rename",[545,867,868],{},"rename",[607,870,871,568,873],{},[545,872,619],{},[545,874,639],{},[607,876,877],{},"Renames a component, or the chain.",[589,879,880,888,894],{},[607,881,882],{},[530,883,885],{"href":884},"#set_fragment",[545,886,887],{},"set_fragment",[607,889,890,568,892],{},[545,891,619],{},[545,893,639],{},[607,895,896],{},"Replaces a component with YAML.",[589,898,899,907,911],{},[607,900,901],{},[530,902,904],{"href":903},"#move_to_library",[545,905,906],{},"move_to_library",[607,908,909],{},[545,910,619],{},[607,912,913,914,917],{},"Moves a node or task into ",[545,915,916],{},"library.yaml",".",[589,919,920,928,932],{},[607,921,922],{},[530,923,925],{"href":924},"#add_component",[545,926,927],{},"add_component",[607,929,930],{},[545,931,639],{},[607,933,934],{},"Adds an empty library component.",[589,936,937,945,951],{},[607,938,939],{},[530,940,942],{"href":941},"#copy_component",[545,943,944],{},"copy_component",[607,946,947,568,949],{},[545,948,619],{},[545,950,639],{},[607,952,953,954,917],{},"Copies an add-on's component into ",[545,955,916],{},[589,957,958,966,970],{},[607,959,960],{},[530,961,963],{"href":962},"#set_access",[545,964,965],{},"set_access",[607,967,968],{},[545,969,567],{},[607,971,972,973,568,976,687,979,917],{},"Sets a harness to ",[545,974,975],{},"available",[545,977,978],{},"override",[545,980,981],{},"never",[589,983,984,992,996],{},[607,985,986],{},[530,987,989],{"href":988},"#set_allowed_tools",[545,990,991],{},"set_allowed_tools",[607,993,994],{},[545,995,567],{},[607,997,998],{},"Sets the tool ceiling.",[589,1000,1001,1009,1013],{},[607,1002,1003],{},[530,1004,1006],{"href":1005},"#set_escalation",[545,1007,1008],{},"set_escalation",[607,1010,1011],{},[545,1012,567],{},[607,1014,1015],{},"Sets where escalation runs and what it may do.",[589,1017,1018,1026,1030],{},[607,1019,1020],{},[530,1021,1023],{"href":1022},"#set_harness",[545,1024,1025],{},"set_harness",[607,1027,1028],{},[545,1029,567],{},[607,1031,1032],{},"Edits a harness's own fields.",[589,1034,1035,1043,1047],{},[607,1036,1037],{},[530,1038,1040],{"href":1039},"#add_profile",[545,1041,1042],{},"add_profile",[607,1044,1045],{},[545,1046,567],{},[607,1048,1049],{},"Adds an agent profile.",[589,1051,1052,1060,1064],{},[607,1053,1054],{},[530,1055,1057],{"href":1056},"#rename_profile",[545,1058,1059],{},"rename_profile",[607,1061,1062],{},[545,1063,567],{},[607,1065,1066],{},"Renames an agent profile.",[589,1068,1069,1077,1081],{},[607,1070,1071],{},[530,1072,1074],{"href":1073},"#remove_profile",[545,1075,1076],{},"remove_profile",[607,1078,1079],{},[545,1080,567],{},[607,1082,1083],{},"Removes an agent profile.",[589,1085,1086,1094,1098],{},[607,1087,1088],{},[530,1089,1091],{"href":1090},"#set_profile",[545,1092,1093],{},"set_profile",[607,1095,1096],{},[545,1097,567],{},[607,1099,1100],{},"Edits an agent profile.",[589,1102,1103,1111,1115],{},[607,1104,1105],{},[530,1106,1108],{"href":1107},"#add_repo",[545,1109,1110],{},"add_repo",[607,1112,1113],{},[545,1114,571],{},[607,1116,1117],{},"Adds a repo entry.",[589,1119,1120,1128,1132],{},[607,1121,1122],{},[530,1123,1125],{"href":1124},"#set_repo",[545,1126,1127],{},"set_repo",[607,1129,1130],{},[545,1131,571],{},[607,1133,1134],{},"Edits a repo entry.",[589,1136,1137,1145,1149],{},[607,1138,1139],{},[530,1140,1142],{"href":1141},"#remove_repo",[545,1143,1144],{},"remove_repo",[607,1146,1147],{},[545,1148,571],{},[607,1150,1151],{},"Drops a repo entry.",[589,1153,1154,1162,1166],{},[607,1155,1156],{},[530,1157,1159],{"href":1158},"#connect_detected",[545,1160,1161],{},"connect_detected",[607,1163,1164],{},[545,1165,571],{},[607,1167,1168],{},"Connects a detected repo.",[589,1170,1171,1179,1183],{},[607,1172,1173],{},[530,1174,1176],{"href":1175},"#set_value",[545,1177,1178],{},"set_value",[607,1180,1181],{},[545,1182,574],{},[607,1184,1185,1186,917],{},"Sets one setting of ",[545,1187,318],{},[589,1189,1190,1198,1202],{},[607,1191,1192],{},[530,1193,1195],{"href":1194},"#set_loop",[545,1196,1197],{},"set_loop",[607,1199,1200],{},[545,1201,574],{},[607,1203,1204],{},"Sets one fix loop's caps.",[589,1206,1207,1215,1219],{},[607,1208,1209],{},[530,1210,1212],{"href":1211},"#remove_loop",[545,1213,1214],{},"remove_loop",[607,1216,1217],{},[545,1218,574],{},[607,1220,1221],{},"Drops a fix loop's entry.",[589,1223,1224,1232,1236],{},[607,1225,1226],{},[530,1227,1229],{"href":1228},"#set_intake",[545,1230,1231],{},"set_intake",[607,1233,1234],{},[545,1235,577],{},[607,1237,1238],{},"Sets the intake settings.",[589,1240,1241,1249,1253],{},[607,1242,1243],{},[530,1244,1246],{"href":1245},"#add_schedule",[545,1247,1248],{},"add_schedule",[607,1250,1251],{},[545,1252,577],{},[607,1254,1255],{},"Appends a schedule.",[589,1257,1258,1266,1270],{},[607,1259,1260],{},[530,1261,1263],{"href":1262},"#set_schedule",[545,1264,1265],{},"set_schedule",[607,1267,1268],{},[545,1269,577],{},[607,1271,1272],{},"Changes a schedule.",[589,1274,1275,1283,1287],{},[607,1276,1277],{},[530,1278,1280],{"href":1279},"#remove_schedule",[545,1281,1282],{},"remove_schedule",[607,1284,1285],{},[545,1286,577],{},[607,1288,1289],{},"Drops a schedule.",[589,1291,1292,1300,1303],{},[607,1293,1294],{},[530,1295,1297],{"href":1296},"#get-apiwork-itemsiddraft",[545,1298,1299],{},"GET \u002Fapi\u002Fwork-items\u002F{id}\u002Fdraft",[607,1301,1302],{},"item",[607,1304,1305],{},"Reads an item's draft.",[589,1307,1308,1316,1318],{},[607,1309,1310],{},[530,1311,1313],{"href":1312},"#put-apiwork-itemsiddraft",[545,1314,1315],{},"PUT \u002Fapi\u002Fwork-items\u002F{id}\u002Fdraft",[607,1317,1302],{},[607,1319,1320],{},"Replaces an item's op list.",[589,1322,1323,1331,1333],{},[607,1324,1325],{},[530,1326,1328],{"href":1327},"#delete-apiwork-itemsiddraft",[545,1329,1330],{},"DELETE \u002Fapi\u002Fwork-items\u002F{id}\u002Fdraft",[607,1332,1302],{},[607,1334,1335],{},"Discards an item's draft.",[589,1337,1338,1346,1348],{},[607,1339,1340],{},[530,1341,1343],{"href":1342},"#post-apiwork-itemsiddraftapply",[545,1344,1345],{},"POST \u002Fapi\u002Fwork-items\u002F{id}\u002Fdraft\u002Fapply",[607,1347,1302],{},[607,1349,1350],{},"Applies an item's draft.",[589,1352,1353,1360,1362],{},[607,1354,1355],{},[530,1356,1358],{"href":1357},"#override",[545,1359,978],{},[607,1361,1302],{},[607,1363,1364],{},"Sets what a retry override may set.",[589,1366,1367,1375,1377],{},[607,1368,1369],{},[530,1370,1372,1374],{"href":1371},"#add_node-on-an-item-draft",[545,1373,614],{}," on an item draft",[607,1376,1302],{},[607,1378,1379],{},"Adds a node from library components.",[589,1381,1382,1390,1392],{},[607,1383,1384],{},[530,1385,1387],{"href":1386},"#remove_node",[545,1388,1389],{},"remove_node",[607,1391,1302],{},[607,1393,1394],{},"Takes a node out of the chain.",[589,1396,1397,1405,1407],{},[607,1398,1399],{},[530,1400,1402],{"href":1401},"#skip",[545,1403,1404],{},"skip",[607,1406,1302],{},[607,1408,1409],{},"Skips a step or a task.",[526,1411,1412,1413,1416,1417,568,1421,568,1424,568,1427,568,1430,1433,1434,917],{},"Each area's ",[545,1414,1415],{},"resolved"," answer is described at the end of its section: ",[530,1418,1420],{"href":1419},"\u002Freference\u002Fhttp-api\u002Fdrafts#the-result-object","chains and library",[530,1422,567],{"href":1423},"#the-resolved-answer-for-harnesses",[530,1425,571],{"href":1426},"#the-resolved-answer-for-repos",[530,1428,574],{"href":1429},"#the-resolved-answer-for-policy",[530,1431,577],{"href":1432},"#the-resolved-answer-for-intake",". The item draft's is ",[530,1435,1437],{"href":1436},"#the-item-draft-answer","The item draft answer",[1439,1440,1442],"h2",{"id":1441},"chain-and-library-ops","Chain and library ops",[526,1444,1445,1446,687,1448,1450,1451,1454,1455,1458],{},"These ops edit a ",[545,1447,619],{},[545,1449,639],{}," draft. An op edits the chain's model rather than its text, so it writes the whole file back: the file's comments are dropped, and ",[545,1452,1453],{},"warnings"," says so until a ",[545,1456,1457],{},"PUT"," of that file.",[1460,1461,1462,1482,1494,1504],"ul",{},[1463,1464,1465,1466,1469,1470,1474,1475,568,1478,1481],"li",{},"A ",[545,1467,1468],{},"path"," is a component's ",[530,1471,1473],{"href":1472},"\u002Fconcepts\u002Fvocabulary#canonical-path","canonical path"," (",[545,1476,1477],{},"draft_merge_request.open.open",[545,1479,1480],{},"verification.fix_loop.judge",").",[1463,1483,1465,1484,1487,1488,568,1491,1481],{},[545,1485,1486],{},"container"," is a node or one of its handlers (",[545,1489,1490],{},"spec",[545,1492,1493],{},"spec.on_failure",[1463,1495,1496,1497,568,1500,1503],{},"A position (",[545,1498,1499],{},"at",[545,1501,1502],{},"to",") counts from 0. One outside the list is refused.",[1463,1505,1506,1507,1510,1511,687,1514,1517,1518,568,1521,568,1523,568,1525,568,1528,568,1531,687,1534,1536],{},"An ",[545,1508,1509],{},"id"," is a lowercase letter, then lowercase letters, digits, ",[545,1512,1513],{},"_",[545,1515,1516],{},"-",". It is refused when it is ",[545,1519,1520],{},"main",[545,1522,683],{},[545,1524,686],{},[545,1526,1527],{},"judge",[545,1529,1530],{},"escalation",[545,1532,1533],{},"on_base_changed",[545,1535,690],{},", or when its container already holds it.",[526,1538,1539,1540,1542,1543,568,1546,568,1549,687,1552,1555,1556,568,1558,568,1560,568,1562,1564,1565,1567,1568,1570],{},"On the ",[545,1541,639],{}," draft, a path starts with the component's section: ",[545,1544,1545],{},"nodes.\u003Cname>[.\u003Cstep>[.\u003Ctask>]]",[545,1547,1548],{},"steps.\u003Cname>[.\u003Ctask>]",[545,1550,1551],{},"tasks.\u003Cname>",[545,1553,1554],{},"steering.\u003Cname>",". Every op applies there except ",[545,1557,614],{},[545,1559,796],{},[545,1561,813],{},[545,1563,906],{}," and a ",[545,1566,868],{}," of the chain, and ",[545,1569,927],{}," applies only there. An op on the wrong kind of draft is refused.",[1572,1573,1574],"h3",{"id":614},[545,1575,614],{},[526,1577,1578],{},"Inserts a node into the chain. Chain drafts only.",[1460,1580,1581,1599,1602],{},[1463,1582,1583,1584,1586,1587,1589,1590,1474,1593,687,1596,1481],{},"Fields: ",[545,1585,1499],{}," (integer position), ",[545,1588,1509],{}," (string), ",[545,1591,1592],{},"kind",[545,1594,1595],{},"exec",[545,1597,1598],{},"gate",[1463,1600,1601],{},"Answers nothing. An exec node starts with no step, which is a problem until it has one.",[1463,1603,1604,1605,1607,1608,1610,1611,1613],{},"Refused when ",[545,1606,1509],{}," is not allowed, ",[545,1609,1592],{}," is neither value, or ",[545,1612,1499],{}," is outside the list.",[1572,1615,1616],{"id":632},[545,1617,632],{},[526,1619,1620],{},"Inserts an empty step into a container.",[1460,1622,1623,1633,1658],{},[1463,1624,1583,1625,1627,1628,1586,1630,1632],{},[545,1626,1486],{}," (path), ",[545,1629,1499],{},[545,1631,1509],{}," (string, optional).",[1463,1634,1635,1636,1639,1640,1642,1643,1646,1647,1650,1651,1653,1654,1657],{},"Answers ",[545,1637,1638],{},"{path}",", the new step's. The default ",[545,1641,1509],{}," is ",[545,1644,1645],{},"step_\u003Cn>",", where ",[545,1648,1649],{},"n"," is one more than the number of steps the container holds. A container holding only ",[545,1652,1520],{}," renames it ",[545,1655,1656],{},"step_1"," first.",[1463,1659,1604,1660,1607,1662,1664,1665,917],{},[545,1661,1509],{},[545,1663,1499],{}," is outside the list, or nothing is at ",[545,1666,1486],{},[1572,1668,1669],{"id":652},[545,1670,652],{},[526,1672,1673,1674,1676,1677,1680,1681,1676,1684,1687,1688,687,1690,917],{},"Appends a task to a step, or fills a named slot of a node. Give the step form (",[545,1675,1486],{}," and ",[545,1678,1679],{},"step",") or the slot form (",[545,1682,1683],{},"slot",[545,1685,1686],{},"node","), and ",[545,1689,1592],{},[545,1691,1692],{},"extends",[583,1694,1695,1711],{},[586,1696,1697],{},[589,1698,1699,1702,1705,1708],{},[592,1700,1701],{},"Field",[592,1703,1704],{},"Type",[592,1706,1707],{},"Default",[592,1709,1710],{},"Meaning",[602,1712,1713,1727,1741,1767,1780,1805,1818],{},[589,1714,1715,1719,1721,1724],{},[607,1716,1717],{},[545,1718,1486],{},[607,1720,1468],{},[607,1722,1723],{},"none",[607,1725,1726],{},"Step form: the node or handler that holds the step.",[589,1728,1729,1733,1736,1738],{},[607,1730,1731],{},[545,1732,1679],{},[607,1734,1735],{},"string",[607,1737,1723],{},[607,1739,1740],{},"Step form: the step's id.",[589,1742,1743,1747,1749,1751],{},[607,1744,1745],{},[545,1746,1683],{},[607,1748,1735],{},[607,1750,1723],{},[607,1752,1753,1754,1756,1757,1761,1762,687,1764,917],{},"Slot form: ",[545,1755,1527],{}," (the node needs a ",[530,1758,1760],{"href":1759},"\u002Fconcepts\u002Fvocabulary#fix-loop","fix loop","), ",[545,1763,1530],{},[545,1765,1766],{},"auto_review",[589,1768,1769,1773,1775,1777],{},[607,1770,1771],{},[545,1772,1686],{},[607,1774,1468],{},[607,1776,1723],{},[607,1778,1779],{},"Slot form: the node that holds the slot.",[589,1781,1782,1786,1788,1790],{},[607,1783,1784],{},[545,1785,1592],{},[607,1787,1735],{},[607,1789,1723],{},[607,1791,1792,1793,568,1796,568,1799,687,1802,917],{},"The task kind: ",[545,1794,1795],{},"builtin",[545,1797,1798],{},"agent",[545,1800,1801],{},"subprocess",[545,1803,1804],{},"forge",[589,1806,1807,1811,1813,1815],{},[607,1808,1809],{},[545,1810,1692],{},[607,1812,1735],{},[607,1814,1723],{},[607,1816,1817],{},"A library task to extend.",[589,1819,1820,1824,1826,1836],{},[607,1821,1822],{},[545,1823,1509],{},[607,1825,1735],{},[607,1827,1828,1829,568,1832,1835],{},"The kind or library name, made unique with ",[545,1830,1831],{},"_2",[545,1833,1834],{},"_3","…",[607,1837,1838,1839,568,1841,687,1844,917],{},"Step form only. The slot form's id is ",[545,1840,1527],{},[545,1842,1843],{},"escalate",[545,1845,1846],{},"reviewer",[1460,1848,1849,1866],{},[1463,1850,1635,1851,1853,1854,568,1857,568,1860,687,1863,917],{},[545,1852,1638],{},", the new task's: ",[545,1855,1856],{},"\u003Ccontainer>.\u003Cstep>.\u003Cid>",[545,1858,1859],{},"\u003Cnode>.fix_loop.judge",[545,1861,1862],{},"\u003Cnode>.escalation.escalate",[545,1864,1865],{},"\u003Cnode>.auto_review",[1463,1867,1868,1869,1676,1871,1873,1874,1876,1877,1879,1880,1882,1883,1885],{},"Refused when neither form is complete, both or neither of ",[545,1870,1592],{},[545,1872,1692],{}," is given, ",[545,1875,1592],{}," is not a task kind, ",[545,1878,1683],{}," is not one of the three, a ",[545,1881,1527],{}," slot has no fix loop, or ",[545,1884,1509],{}," is not allowed.",[1572,1887,1888],{"id":671},[545,1889,671],{},[526,1891,1892,1893,1895,1896,1898,1899,917],{},"Adds a handler holding one empty step, ",[545,1894,1520],{},". An ",[545,1897,690],{}," handler is kept under ",[545,1900,1533],{},[1460,1902,1903,1916,1921],{},[1463,1904,1583,1905,1907,1908,1474,1910,568,1912,687,1914,1481],{},[545,1906,1468],{}," (the node), ",[545,1909,1592],{},[545,1911,683],{},[545,1913,686],{},[545,1915,690],{},[1463,1917,1635,1918,1920],{},[545,1919,1638],{},", the handler's.",[1463,1922,1604,1923,1925,1926,917],{},[545,1924,1592],{}," is none of the three, or nothing is at ",[545,1927,1468],{},[1572,1929,1930],{"id":701},[545,1931,701],{},[526,1933,1934,1935,1938],{},"Removes a handler: it is written ",[545,1936,1937],{},"null"," when the node's library base supplies one, and deleted otherwise.",[1460,1940,1941,1950,1953],{},[1463,1942,1583,1943,568,1945,1947,1948,917],{},[545,1944,1468],{},[545,1946,1592],{},", as for ",[545,1949,671],{},[1463,1951,1952],{},"Answers nothing.",[1463,1954,1604,1955,1925,1957,917],{},[545,1956,1592],{},[545,1958,1468],{},[1572,1960,1961],{"id":720},[545,1962,720],{},[526,1964,1965,1966,1968,1969,1972],{},"Moves a node, a step, or a task to position ",[545,1967,1502],{},". A task also moves to the step ",[545,1970,1971],{},"to_step"," beside its own.",[1460,1974,1975,1984,1986],{},[1463,1976,1583,1977,568,1979,1586,1981,1983],{},[545,1978,1468],{},[545,1980,1502],{},[545,1982,1971],{}," (a step id, optional).",[1463,1985,1952],{},[1463,1987,1988,1989,568,1991,1993,1994,1996,1997,687,2000,2003],{},"Refused when nothing is at ",[545,1990,1468],{},[545,1992,1502],{}," is outside the list, or ",[545,1995,1971],{}," is not a step beside the task's own. It is also refused when the destination step already holds a task of that id, or when a node move adds an order problem: a ",[545,1998,1999],{},"reject_to",[545,2001,2002],{},"restart_from"," target after the node naming it, or a gate before the node producing its document.",[1572,2005,2006],{"id":739},[545,2007,739],{},[526,2009,2010,2011,568,2013,568,2015,687,2017,2019,2020,917],{},"Removes a node, gate, step, task, ",[545,2012,686],{},[545,2014,1527],{},[545,2016,1530],{},[545,2018,1766],{},". On the library, it removes a component such as ",[545,2021,2022],{},"tasks.implementer",[1460,2024,2025,2030,2058],{},[1463,2026,2027,2028,917],{},"Field: ",[545,2029,1468],{},[1463,2031,1635,2032,2035,2036,1676,2038,2040,2041,2044,2045,687,2047,2050,2051,2054,2055,917],{},[545,2033,2034],{},"{broken: [...]}",", the references the removal leaves dangling. They stay as problems. Removing a node lists each ",[545,2037,1999],{},[545,2039,2002],{}," naming it, as ",[545,2042,2043],{},"{path, field}",". Removing a library component lists each ",[545,2046,1692],{},[545,2048,2049],{},"steering"," entry naming it, as ",[545,2052,2053],{},"{file, path, field}",". Removing anything else answers ",[545,2056,2057],{},"[]",[1463,2059,1988,2060,917],{},[545,2061,1468],{},[1572,2063,2064],{"id":758},[545,2065,758],{},[526,2067,2068,2069,2072,2073,2075,2076,1676,2078,917],{},"Makes the node extend library node ",[545,2070,2071],{},"base",", dropping its own ",[545,2074,1592],{},", steps, ",[545,2077,683],{},[545,2079,686],{},[1460,2081,2082,2088,2102],{},[1463,2083,1583,2084,568,2086,917],{},[545,2085,1686],{},[545,2087,2071],{},[1463,2089,1635,2090,2093,2094,568,2097,1676,2099,2101],{},[545,2091,2092],{},"{dropped: [...]}",", the keys among ",[545,2095,2096],{},"steps",[545,2098,683],{},[545,2100,686],{}," that held something.",[1463,2103,2104,2105,2107,2108,917],{},"Refused when the library has no node ",[545,2106,2071],{},", or nothing is at ",[545,2109,1686],{},[1572,2111,2112],{"id":777},[545,2113,777],{},[526,2115,2116],{},"Changes the library node a node extends, keeping each override the new base can take.",[1460,2118,2119,2125,2135],{},[1463,2120,1583,2121,568,2123,917],{},[545,2122,1686],{},[545,2124,2071],{},[1463,2126,1635,2127,2130,2131,2134],{},[545,2128,2129],{},"{kept: [...], dropped: [{key, why}]}",". With ",[545,2132,2133],{},"?preview=1"," on the route, the answer shows what a change would drop and saves nothing.",[1463,2136,2104,2137,2107,2139,917],{},[545,2138,2071],{},[545,2140,1686],{},[1572,2142,2143],{"id":796},[545,2144,796],{},[526,2146,2147,2148,2151],{},"Starts the key's chain, empty or as a copy of chain ",[545,2149,2150],{},"from"," under this id. Chain drafts only, and only for a key with no file and no draft.",[1460,2153,2154,2167,2169],{},[1463,2155,2027,2156,2158,2159,2162,2163,2166],{},[545,2157,2150],{}," (optional): a chain id, taken from that chain's draft when it has one, else its published file. It may be a loaded add-on's chain, such as ",[545,2160,2161],{},"release:ship",": the copy carries the add-on's own references qualified (",[545,2164,2165],{},"extends: release:implementer","), so it resolves as your chain.",[1463,2168,1952],{},[1463,2170,2171,2172,2174],{},"Refused when the key already has a chain, ",[545,2173,2150],{}," is not a chain id or names no chain, or any other field is given.",[1572,2176,2177],{"id":813},[545,2178,813],{},[526,2180,2181],{},"Deletes the chain on publish. Chain drafts only. A repo whose default it is makes that a problem.",[1460,2183,2184,2187,2189],{},[1463,2185,2186],{},"Fields: none.",[1463,2188,1952],{},[1463,2190,2191],{},"Refused when the key has no chain.",[1572,2193,2194],{"id":830},[545,2195,830],{},[526,2197,2198,2199,2202],{},"Sets one field of a component. ",[545,2200,2201],{},"path: \"\""," is the chain.",[1460,2204,2205,2217,2219],{},[1463,2206,1583,2207,568,2209,2212,2213,2216],{},[545,2208,1468],{},[545,2210,2211],{},"field"," (a dotted string), ",[545,2214,2215],{},"value"," (any JSON value).",[1463,2218,1952],{},[1463,2220,1604,2221,1642,2223,2225,2226,917],{},[545,2222,2211],{},[545,2224,1509],{}," (\"rename it with rename\"), or nothing is at ",[545,2227,1468],{},[526,2229,2230],{},"How the field is written:",[1460,2232,2233,2247,2255,2271,2293],{},[1463,2234,2235,2237,2238,568,2241,568,2244,917],{},[545,2236,2211],{}," is dotted: ",[545,2239,2240],{},"policy.max_attempts",[545,2242,2243],{},"on_base_changed.restart_from",[545,2245,2246],{},"wait.polling.initial_interval",[1463,2248,2249,687,2251,2254],{},[545,2250,1937],{},[545,2252,2253],{},"\"\""," removes the key, and so does a value equal to the one the component inherits.",[1463,2256,2257,2258,2261,2262,1676,2265,2268,2269,917],{},"Setting ",[545,2259,2260],{},"profile"," removes ",[545,2263,2264],{},"model",[545,2266,2267],{},"effort",", and setting either removes ",[545,2270,2260],{},[1463,2272,2273,2274,2261,2276,2278,2279,2281,2282,2261,2285,2288,2289,2292],{},"An empty ",[545,2275,2243],{},[545,2277,1533],{}," (written ",[545,2280,1937],{}," when inherited), an empty ",[545,2283,2284],{},"artifact",[545,2286,2287],{},"artifact_required"," with it, and ",[545,2290,2291],{},"artifact_required: false"," removes it.",[1463,2294,2295,2298],{},[545,2296,2297],{},"icon"," is set like any other field.",[1572,2300,2301],{"id":849},[545,2302,849],{},[526,2304,2305,2306,2308,2309,568,2311,568,2313,1676,2315,917],{},"Removes the key so the inherited or default value applies. With no ",[545,2307,2211],{},", it removes every override of a component that extends a library one, except ",[545,2310,1509],{},[545,2312,1692],{},[545,2314,2297],{},[545,2316,683],{},[1460,2318,2319,2326,2328],{},[1463,2320,1583,2321,568,2323,2325],{},[545,2322,1468],{},[545,2324,2211],{}," (optional).",[1463,2327,1952],{},[1463,2329,1988,2330,2332,2333,2335],{},[545,2331,1468],{},", or no ",[545,2334,2211],{}," is given and the component extends nothing.",[1572,2337,2338],{"id":868},[545,2339,868],{},[526,2341,877],{},[1460,2343,2344,2350,2358],{},[1463,2345,1583,2346,568,2348,917],{},[545,2347,1468],{},[545,2349,1509],{},[1463,2351,1635,2352,2355,2356,917],{},[545,2353,2354],{},"{updated: [...]}",". Renaming to the id it already has changes nothing and answers ",[545,2357,2057],{},[1463,2359,1988,2360,568,2362,2364],{},[545,2361,1468],{},[545,2363,1509],{}," is not allowed or taken, or, for the chain, is not a chain id or names a chain that exists.",[526,2366,2367],{},"What each kind of path does:",[1460,2369,2370,2380,2383,2393,2409],{},[1463,2371,2372,2373,1676,2375,2377,2378,917],{},"A node or gate also rewrites every ",[545,2374,1999],{},[545,2376,2243],{}," naming it, and answers each as ",[545,2379,2043],{},[1463,2381,2382],{},"A step, task, judge, escalation or reviewer changes its id only.",[1463,2384,2385,2386,2388,2389,2392],{},"The chain (",[545,2387,2201],{},") moves to ",[545,2390,2391],{},"chains\u002F\u003Cid>.yaml",", its old file deleted on publish. A repo whose default is the old id makes that a problem.",[1463,2394,2395,2396,2399,2400,687,2403,2406,2407,917],{},"A library component (",[545,2397,2398],{},"path: tasks.implementer",") also rewrites every ",[545,2401,2402],{},"extends:",[545,2404,2405],{},"steering:"," entry naming it, in the library and in each chain file, which joins the draft. It answers each as ",[545,2408,2053],{},[1463,2410,2411,2412,2414],{},"A gate's ",[545,2413,2284],{}," names a document kind, not a node, so a rename never changes it.",[1572,2416,2417],{"id":887},[545,2418,887],{},[526,2420,2421,2422,2424],{},"Replaces the component at ",[545,2423,1468],{}," with the YAML mapping, as the component's YAML tab writes it.",[1460,2426,2427,2435,2437],{},[1463,2428,1583,2429,568,2431,2434],{},[545,2430,1468],{},[545,2432,2433],{},"yaml"," (the fragment, as text).",[1463,2436,1952],{},[1463,2438,1988,2439,2441,2442,2444,2445,1676,2448,2451],{},[545,2440,1468],{},", the YAML does not parse (the ",[545,2443,547],{}," adds ",[545,2446,2447],{},"line",[545,2449,2450],{},"col",", counted in the fragment), it is not a mapping, or it changes the component's id (\"rename it with rename\").",[1572,2453,2454],{"id":906},[545,2455,906],{},[526,2457,2458,2459,2461,2462,2464,2465,687,2468,2470,2471,2474,2475,2477],{},"Moves the exec node or task at ",[545,2460,1468],{}," into ",[545,2463,916],{}," as ",[545,2466,2467],{},"nodes.\u003Cname>",[545,2469,1551],{},", leaving ",[545,2472,2473],{},"{id, extends: \u003Cname>}"," in the chain. ",[545,2476,916],{}," joins the draft. Chain drafts only.",[1460,2479,2480,2487,2492],{},[1463,2481,1583,2482,568,2484,917],{},[545,2483,1468],{},[545,2485,2486],{},"name",[1463,2488,1635,2489,2491],{},[545,2490,1638],{},", the component's in the library.",[1463,2493,1604,2494,2496,2497,2499,2500,2502],{},[545,2495,1468],{}," is a step or a gate, nothing is at ",[545,2498,1468],{},", or ",[545,2501,2486],{}," is not allowed or its section already has it.",[1572,2504,2505],{"id":927},[545,2506,927],{},[526,2508,2509],{},"Adds an empty component to a section of the library. Library drafts only.",[1460,2511,2512,2531,2565],{},[1463,2513,1583,2514,1474,2517,568,2520,568,2522,687,2525,1761,2527,568,2529,2325],{},[545,2515,2516],{},"section",[545,2518,2519],{},"nodes",[545,2521,2096],{},[545,2523,2524],{},"tasks",[545,2526,2049],{},[545,2528,2486],{},[545,2530,1592],{},[1463,2532,1635,2533,2535,2536,2539,2540,2542,2543,2545,2546,2548,2549,2539,2552,2554,2555,2557,2558,2560,2561,2564],{},[545,2534,1638],{},", such as ",[545,2537,2538],{},"tasks.reviewer",". A ",[545,2541,2519],{}," component is an ",[545,2544,1595],{}," node with no step, or a ",[545,2547,1598],{}," for ",[545,2550,2551],{},"kind: gate",[545,2553,2524],{}," component has the ",[545,2556,1592],{},", when given. A ",[545,2559,2049],{}," component has empty ",[545,2562,2563],{},"instructions",", a problem until written.",[1463,2566,1604,2567,2569,2570,2572,2573,2575,2576,2578,2579,687,2581,917],{},[545,2568,2516],{}," is none of the four, ",[545,2571,2486],{}," is not allowed or taken, ",[545,2574,1592],{}," is not a node or task kind, or ",[545,2577,1592],{}," is given for ",[545,2580,2096],{},[545,2582,2049],{},[1572,2584,2585],{"id":944},[545,2586,944],{},[526,2588,2589,2590,2594,2595,2464,2597,2600,2601,2603],{},"Copies a loaded ",[530,2591,2593],{"href":2592},"\u002Fconcepts\u002Fvocabulary#add-on","Kraft add-on","'s component into ",[545,2596,916],{},[545,2598,2599],{},"\u003Csection>.\u003Cname>",". Its references into the add-on are written out qualified, so the copy resolves. ",[545,2602,916],{}," joins the draft.",[1460,2605,2606,2618,2625],{},[1463,2607,1583,2608,2611,2612,1761,2615,2617],{},[545,2609,2610],{},"ref"," (the add-on's component, as the library lists it: ",[545,2613,2614],{},"tasks.release:implementer",[545,2616,2486],{}," (the copy's own name).",[1463,2619,1635,2620,2622,2623,917],{},[545,2621,1638],{},", the copy's, such as ",[545,2624,2022],{},[1463,2626,1604,2627,2629,2630,2502],{},[545,2628,2610],{}," names no add-on component, names a component of your own (\"edit it where it is\"), or ",[545,2631,2486],{},[1572,2633,2635],{"id":2634},"ops-on-an-add-ons-content","Ops on an add-on's content",[526,2637,2638,2639,568,2641,687,2643,2645,2646,2648,2649,2652,2653,2655,2656,2659],{},"An add-on's chains and components are read-only. An op whose ",[545,2640,1468],{},[545,2642,1486],{},[545,2644,1686],{}," addresses one, such as ",[545,2647,2614],{},", is refused with ",[545,2650,2651],{},"409",", not ",[545,2654,547],{},": ",[545,2657,2658],{},"\u003Cid> comes from add-on \u003Caddon id>; extend it or copy it to your library",". Extending or selecting one from your own chain is not an address and is allowed.",[526,2661,2662,2663,2669,2670,917],{},"An add-on's chain has no draft. ",[530,2664,2666],{"href":2665},"\u002Freference\u002Fhttp-api\u002Fdrafts#get-apidraftsareakey",[545,2667,2668],{},"GET \u002Fapi\u002Fdrafts\u002F{area}\u002F{key}"," shows it read-only, and shows the add-ons' components on the library draft as ",[545,2671,2672],{},"addon_library",[1439,2674,2676],{"id":2675},"harnesses-ops","Harnesses ops",[526,2678,2679,2680,2682,2683,1676,2685,2687,2688,1642,2692,568,2694,687,2696,2698,2699,2702,2703,2705],{},"These ops edit the ",[545,2681,567],{}," draft (",[545,2684,326],{},[545,2686,318],{},"). Each ",[530,2689,2691],{"href":2690},"\u002Fconcepts\u002Fvocabulary#harness","harness",[545,2693,975],{},[545,2695,978],{},[545,2697,981],{},". That is two ",[545,2700,2701],{},"allowed_harnesses"," lists in ",[545,2704,318],{},":",[1460,2707,2708,2719,2726],{},[1463,2709,2710,2712,2713,1676,2716,917],{},[545,2711,975],{}," is in ",[545,2714,2715],{},"defaults",[545,2717,2718],{},"maxima",[1463,2720,2721,2723,2724,917],{},[545,2722,978],{}," is only in ",[545,2725,2718],{},[1463,2727,2728,2730],{},[545,2729,981],{}," is in neither.",[526,2732,2733],{},"An absent list means no bound. A list is written again only when one was there to begin with, or when it leaves a harness out.",[526,2735,2736,2737,2739,2740,2742,2743,2746],{},"A task that selects a ",[545,2738,981],{}," harness, or falls back to one, is a problem that names it, so the draft cannot publish until the task or the state changes. An ",[545,2741,978],{}," harness is allowed only for a task whose own ",[545,2744,2745],{},"policy:"," widens it.",[1572,2748,2749],{"id":965},[545,2750,965],{},[526,2752,2753,2754,568,2756,687,2758,917],{},"Moves a harness to ",[545,2755,975],{},[545,2757,978],{},[545,2759,981],{},[1460,2761,2762,2769,2771],{},[1463,2763,1583,2764,568,2766,917],{},[545,2765,2691],{},[545,2767,2768],{},"state",[1463,2770,1952],{},[1463,2772,2773,2774,2499,2776,2778],{},"Refused when the harness is not in ",[545,2775,326],{},[545,2777,2768],{}," is none of the three.",[1572,2780,2781],{"id":991},[545,2782,991],{},[526,2784,2785,2786,2789,2790,917],{},"Sets ",[545,2787,2788],{},"maxima.allowed_tools",", or removes it with ",[545,2791,1937],{},[1460,2793,2794,2802,2804],{},[1463,2795,2027,2796,2799,2800,1481],{},[545,2797,2798],{},"tools"," (a list of names, or ",[545,2801,1937],{},[1463,2803,1952],{},[1463,2805,1604,2806,2808],{},[545,2807,2798],{}," is neither.",[1572,2810,2811],{"id":1008},[545,2812,1008],{},[526,2814,2785,2815,1676,2818,2821,2822,2824],{},[545,2816,2817],{},"defaults.escalation_harness",[545,2819,2820],{},"escalation_grants",". ",[545,2823,1937],{}," removes each.",[1460,2826,2827,2842,2844],{},[1463,2828,1583,2829,2831,2832,2834,2835,1761,2837,2799,2840,1481],{},[545,2830,2691],{}," (a harness id, ",[545,2833,1302],{}," for the harness the item's own work ran on, or ",[545,2836,1937],{},[545,2838,2839],{},"grants",[545,2841,1937],{},[1463,2843,1952],{},[1463,2845,1604,2846,2848,2849,2499,2851,2853,2854,917],{},[545,2847,2691],{}," is not text or ",[545,2850,1937],{},[545,2852,2839],{}," is neither a list of names nor ",[545,2855,1937],{},[1572,2857,2858],{"id":1025},[545,2859,1025],{},[526,2861,2862,2863,917],{},"Edits a harness's own fields in ",[545,2864,326],{},[1460,2866,2867,2875,2877],{},[1463,2868,1583,2869,568,2871,2874],{},[545,2870,1509],{},[545,2872,2873],{},"patch"," (a mapping).",[1463,2876,1952],{},[1463,2878,1604,2879,2881,2882,568,2884,2886,2887,2890,2891,2894,2895,2897,2898,1481],{},[545,2880,1509],{}," is not in ",[545,2883,326],{},[545,2885,2873],{}," is empty or not a mapping, it holds a key other than the three below, or a value has the wrong type (",[545,2888,2889],{},"enabled"," is not a boolean, ",[545,2892,2893],{},"executable"," is blank or not text, ",[545,2896,2715],{}," is not a mapping of option to text or ",[545,2899,1937],{},[526,2901,2902,2904],{},[545,2903,2873],{}," may hold:",[1460,2906,2907,2912,2920],{},[1463,2908,2909,2911],{},[545,2910,2889],{},", a boolean.",[1463,2913,2914,2916,2917,2919],{},[545,2915,2893],{},", a command name or path; ",[545,2918,1937],{}," clears it.",[1463,2921,2922,2924,2925,2927],{},[545,2923,2715],{},", which merges per option; ",[545,2926,1937],{}," or an empty text removes one.",[526,2929,2930],{},"An option the provider does not accept is a problem, not a refusal.",[1572,2932,2933],{"id":1042},[545,2934,1042],{},[526,2936,680,2937,2941],{},[530,2938,2940],{"href":2939},"\u002Fconcepts\u002Fvocabulary#agent-profile","agent profile",", empty or a copy of another.",[1460,2943,2944,2951,2953],{},[1463,2945,1583,2946,568,2948,2325],{},[545,2947,2486],{},[545,2949,2950],{},"copy_from",[1463,2952,1952],{},[1463,2954,1604,2955,2957,2958,2960],{},[545,2956,2486],{}," is not allowed or taken, or ",[545,2959,2950],{}," names no profile.",[1572,2962,2963],{"id":1059},[545,2964,1059],{},[526,2966,2967,2968,2971,2972,2974],{},"Renames a profile and retargets the ",[545,2969,2970],{},"fallback:"," entries of ",[545,2973,326],{}," that name it.",[1460,2976,2977,2983,2989],{},[1463,2978,1583,2979,568,2981,917],{},[545,2980,2486],{},[545,2982,1502],{},[1463,2984,1635,2985,2988],{},[545,2986,2987],{},"{broken: [{chain, path}]}",": the library or chain tasks that name the old profile. They are left dangling, as problems.",[1463,2990,1604,2991,2993,2994,2996],{},[545,2992,2486],{}," is no profile, or ",[545,2995,1502],{}," is not allowed or taken.",[1572,2998,2999],{"id":1076},[545,3000,1076],{},[526,3002,3003],{},"Removes a profile.",[1460,3005,3006,3010,3012],{},[1463,3007,2027,3008,917],{},[545,3009,2486],{},[1463,3011,1952],{},[1463,3013,1604,3014,3016,3017,3019],{},[545,3015,2486],{}," is no profile, or a task or another profile's ",[545,3018,2970],{}," still names it.",[1572,3021,3022],{"id":1093},[545,3023,1093],{},[526,3025,3026],{},"Edits one profile.",[1460,3028,3029,3035,3037],{},[1463,3030,1583,3031,568,3033,2874],{},[545,3032,2486],{},[545,3034,2873],{},[1463,3036,1952],{},[1463,3038,1604,3039,3041,3042,3044,3045,3048,3049,687,3051,2539,3053,687,3055,3057,3058,3060,3061,3063,3064,3067,3068,3071,3072,917],{},[545,3040,2486],{}," is no profile, ",[545,3043,2873],{}," is empty, not a mapping or holds an unknown key, or one patch mixes ",[545,3046,3047],{},"providers"," with ",[545,3050,2264],{},[545,3052,2267],{},[545,3054,2264],{},[545,3056,2267],{}," patch to a profile written with ",[545,3059,3047],{}," is refused too, and so is a ",[545,3062,3047],{}," entry that is not ",[545,3065,3066],{},"{model, effort?}"," or a ",[545,3069,3070],{},"fallback"," that is neither a list nor ",[545,3073,1937],{},[526,3075,3076,2904],{},[545,3077,2873],{},[1460,3079,3080,3096,3111],{},[1463,3081,3082,3084,3085,3089,3090,3092,3093,3095],{},[545,3083,3047],{},": per ",[530,3086,3088],{"href":3087},"\u002Fconcepts\u002Fvocabulary#provider","provider"," ",[545,3091,3066],{},"; ",[545,3094,1937],{}," removes one. An older profile becomes this shape.",[1463,3097,3098,1676,3100,3102,3103,3105,3106,3108,3109,917],{},[545,3099,2264],{},[545,3101,2267],{},", for an older profile: ",[545,3104,2264],{}," is a mapping by provider, and ",[545,3107,1937],{}," removes an entry or ",[545,3110,2267],{},[1463,3112,3113,3115,3116,2292],{},[545,3114,3070],{},": replaces the list, or ",[545,3117,1937],{},[1572,3119,3121,3122,3124],{"id":3120},"the-resolved-answer-for-harnesses","The ",[545,3123,1415],{}," answer for harnesses",[526,3126,3127,3128,3130],{},"The answer's ",[545,3129,1415],{}," lists:",[1460,3132,3133,3170,3175,3183,3196],{},[1463,3134,3135,2655,3137,568,3139,568,3141,3144,3145,3147,3148,568,3150,568,3152,1676,3154,3156,3157,3159,3160,3163,3164,3166,3167,917],{},[545,3136,567],{},[545,3138,1509],{},[545,3140,2768],{},[545,3142,3143],{},"executable_found",", and from ",[545,3146,326],{}," its ",[545,3149,3088],{},[545,3151,2889],{},[545,3153,2893],{},[545,3155,2715],{},". Each has ",[545,3158,2524],{},": the agent tasks that select it, ",[545,3161,3162],{},"{chain, path, profile, fallback: false}",", and those whose ",[545,3165,2970],{}," list lands on it, with ",[545,3168,3169],{},"fallback: true",[1463,3171,3172,917],{},[545,3173,3174],{},"allowed_tools",[1463,3176,3177,3179,3180,917],{},[545,3178,1530],{},": what the file says, ",[545,3181,3182],{},"{harness, grants}",[1463,3184,3185,2655,3188,3191,3192,3195],{},[545,3186,3187],{},"escalation_effective",[545,3189,3190],{},"{harness, set}",", the harness a launch uses, ",[545,3193,3194],{},"claude"," when the key is unset.",[1463,3197,3198,3201,3202,3205,3206,3208,3209,3211],{},[545,3199,3200],{},"profiles",": per name ",[545,3203,3204],{},"{providers, effort, tasks, used_by_fallback}",": its providers, the one effort they share (else ",[545,3207,1937],{},"), the tasks that use it, and the profiles whose ",[545,3210,2970],{}," names it.",[526,3213,3214,3215,3218,3219,3221,3222,1676,3224,3226,3227,3229,3230,3232,3233,917],{},"A problem about a task of a chain carries ",[545,3216,3217],{},"chain",", and that task's ",[545,3220,1468],{}," where the message names one. A launch problem adds ",[545,3223,2260],{},[545,3225,3088],{},". Escalation running on a ",[545,3228,981],{}," harness is a problem at ",[545,3231,2817],{}," in ",[545,3234,318],{},[1439,3236,3238],{"id":3237},"repos-ops","Repos ops",[526,3240,2679,3241,2682,3243,3245,3246,3249,3250,3252,3253,3255],{},[545,3242,571],{},[545,3244,300],{},"). ",[545,3247,3248],{},"DELETE \u002Fapi\u002Frepos?path="," answers ",[545,3251,2651],{},", naming the count, while any work item that has not ended (any status but completed or abandoned) uses the repo, as ",[545,3254,1144],{}," reports it as a problem.",[1572,3257,3258],{"id":1110},[545,3259,1110],{},[526,3261,3262,3263,3266,3267,917],{},"Adds a repo entry, disabled and managed, with ",[545,3264,3265],{},"fields"," laid over ",[545,3268,3269],{},"{path, name, default_chain: \"default\", enabled: false, managed: true}",[1460,3271,3272,3279,3282],{},[1463,3273,1583,3274,568,3276,3278],{},[545,3275,1468],{},[545,3277,3265],{}," (a mapping, optional).",[1463,3280,3281],{},"Answers nothing. The path is not probed: a path that is not a git repository is a problem.",[1463,3283,1604,3284,3286],{},[545,3285,1468],{}," is already in the draft, or is a git repository with no commit.",[1572,3288,3289],{"id":1127},[545,3290,1127],{},[526,3292,3293,3294,3297,3298,917],{},"Sets fields of an entry. Like ",[545,3295,3296],{},"PATCH \u002Fapi\u002Frepos",", it marks the entry ",[545,3299,3300],{},"managed",[1460,3302,3303,3313,3315],{},[1463,3304,1583,3305,568,3307,3309,3310,3312],{},[545,3306,1468],{},[545,3308,2873],{}," (a mapping of entry fields; ",[545,3311,1937],{}," clears one).",[1463,3314,1952],{},[1463,3316,1604,3317,3319],{},[545,3318,1468],{}," is not in the draft.",[1572,3321,3322],{"id":1144},[545,3323,1144],{},[526,3325,3326],{},"Drops the entry. It is a problem while the repo has items that have not ended.",[1460,3328,3329,3333,3335],{},[1463,3330,2027,3331,917],{},[545,3332,1468],{},[1463,3334,1952],{},[1463,3336,1604,3337,3319],{},[545,3338,1468],{},[1572,3340,3341],{"id":1161},[545,3342,1161],{},[526,3344,3345,3346,3349,3350,917],{},"Makes a detected (",[545,3347,3348],{},"managed: false",") entry ",[545,3351,3352],{},"managed: true",[1460,3354,3355,3359,3361],{},[1463,3356,2027,3357,917],{},[545,3358,1468],{},[1463,3360,1952],{},[1463,3362,1604,3363,3365],{},[545,3364,1468],{}," is not in the draft, or is not a detected entry.",[1572,3367,3121,3369,3371],{"id":3368},"the-resolved-answer-for-repos",[545,3370,1415],{}," answer for repos",[526,3373,3127,3374,3376,3377,1676,3379,3382,3383,3386,3387,3390,3391,1676,3393,3396,3397,568,3399,568,3402,3405,3406,3408,3409,3411,3412,687,3415,3417,3418,687,3420,917],{},[545,3375,1415],{}," has ",[545,3378,571],{},[545,3380,3381],{},"detected",": one ",[545,3384,3385],{},"{path, name, managed, entry, resolved, sources}"," per entry, ",[545,3388,3389],{},"entry"," being the entry as written. ",[545,3392,1415],{},[545,3394,3395],{},"sources"," each have ",[545,3398,2049],{},[545,3400,3401],{},"deny_tools",[545,3403,3404],{},"models"," and each ",[545,3407,574],{}," key. The ",[545,3410,2049],{}," source is ",[545,3413,3414],{},"repo",[545,3416,639],{}," (the chain's steering), and the rest are ",[545,3419,3414],{},[545,3421,3422],{},"default",[526,3424,3425,3426,3428],{},"Problems carry ",[545,3427,3414],{},". They are:",[1460,3430,3431,3437,3440,3446],{},[1463,3432,3433,3434,3436],{},"a ",[545,3435,2745],{}," that relaxes the instance's safety layer (the same refusal a run gives);",[1463,3438,3439],{},"a path that is not a directory or not a git repository;",[1463,3441,3433,3442,3445],{},[545,3443,3444],{},"default_chain"," that names no chain in the library; and",[1463,3447,3448],{},"a removed repo that still has items that have not ended.",[1439,3450,3452],{"id":3451},"policy-ops","Policy ops",[526,3454,2679,3455,2682,3457,1481],{},[545,3456,574],{},[545,3458,318],{},[1572,3460,3461],{"id":1178},[545,3462,1178],{},[526,3464,3465,3466,3232,3469,2821,3471,2332,3473,3475],{},"Sets one setting by its dotted ",[545,3467,3468],{},"key",[545,3470,318],{},[545,3472,1937],{},[545,3474,2215],{},", removes it and any section it leaves empty.",[1460,3477,3478,3488,3490],{},[1463,3479,1583,3480,568,3483,568,3485,3487],{},[545,3481,3482],{},"scope",[545,3484,3468],{},[545,3486,2215],{}," (any JSON value, optional).",[1463,3489,1952],{},[1463,3491,1604,3492,3494,3495,3497,3498,3500,3501,3503],{},[545,3493,3468],{}," is not one of the keys of that ",[545,3496,3482],{},". The ",[545,3499,567],{}," scope, and any other scope, is refused. So is setting a value under a parent key of ",[545,3502,318],{}," that is not a mapping.",[583,3505,3506,3517],{},[586,3507,3508],{},[589,3509,3510,3514],{},[592,3511,3512],{},[545,3513,3482],{},[592,3515,3516],{},"Keys",[602,3518,3519,3571,3591,3606,3626,3651],{},[589,3520,3521,3526],{},[607,3522,3523],{},[545,3524,3525],{},"limits",[607,3527,3528,568,3531,568,3534,568,3537,1676,3540,2539,3543,1642,3546,568,3549,568,3551,687,3553,3555,3556,1642,3559,568,3562,568,3565,687,3568,917],{},[545,3529,3530],{},"budget.work_item_usd",[545,3532,3533],{},"budget.daily_usd",[545,3535,3536],{},"defaults|maxima.max_attempts",[545,3538,3539],{},"defaults|maxima.timeout_minutes",[545,3541,3542],{},"defaults|maxima.\u003Clevel>.\u003Ccap>",[545,3544,3545],{},"\u003Clevel>",[545,3547,3548],{},"work_item",[545,3550,2519],{},[545,3552,2096],{},[545,3554,2524],{},", and a ",[545,3557,3558],{},"\u003Ccap>",[545,3560,3561],{},"time_cap_minutes",[545,3563,3564],{},"total_time_cap_minutes",[545,3566,3567],{},"token_budget",[545,3569,3570],{},"budget_usd",[589,3572,3573,3577],{},[607,3574,3575],{},[545,3576,1530],{},[607,3578,3579,568,3582,568,3585,1676,3588,917],{},[545,3580,3581],{},"auto_escalate_stuck",[545,3583,3584],{},"auto_escalate_stuck_cap",[545,3586,3587],{},"auto_escalate_delay_s",[545,3589,3590],{},"auto_review_attempts",[589,3592,3593,3598],{},[607,3594,3595],{},[545,3596,3597],{},"retries",[607,3599,3600,1676,3603,917],{},[545,3601,3602],{},"rate_limit_retries",[545,3604,3605],{},"forge_cli_timeout_s",[589,3607,3608,3613],{},[607,3609,3610],{},[545,3611,3612],{},"loops",[607,3614,3615,1676,3618,3621,3622,3625],{},[545,3616,3617],{},"default.attempts",[545,3619,3620],{},"default.wall_clock_s"," (the ",[545,3623,3624],{},"default:"," block).",[589,3627,3628,3633],{},[607,3629,3630],{},[545,3631,3632],{},"housekeeping",[607,3634,3635,568,3638,568,3641,568,3644,1676,3647,3650],{},[545,3636,3637],{},"max_concurrent",[545,3639,3640],{},"archive.after_days",[545,3642,3643],{},"storage.worktrees.limit",[545,3645,3646],{},"storage.worktrees.quota",[545,3648,3649],{},"storage.worktrees.auto_cleanup.min_age",". A null value removes the key.",[589,3652,3653,3658],{},[607,3654,3655],{},[545,3656,3657],{},"findings",[607,3659,3660,3663,3664,568,3667,568,3670,1481],{},[545,3661,3662],{},"findings.loop_severities"," (a list of ",[545,3665,3666],{},"critical",[545,3668,3669],{},"important",[545,3671,3672],{},"minor",[1572,3674,3675],{"id":1197},[545,3676,1197],{},[526,3678,3679,3680,3683,3684,3687,3688,3690],{},"Sets the ",[545,3681,3682],{},"loops:"," entry for a fix loop, ",[545,3685,3686],{},"\u003Cnode id>.fix_loop",", starting from the entry's own values, else the ",[545,3689,3624],{}," block. A key naming no loop is kept and shown as a problem.",[1460,3692,3693,3708,3710],{},[1463,3694,1583,3695,568,3697,3700,3701,1761,3704,3707],{},[545,3696,3468],{},[545,3698,3699],{},"max_attempts"," (integer, optional, written as ",[545,3702,3703],{},"attempts",[545,3705,3706],{},"wall_clock_s"," (integer, optional).",[1463,3709,1952],{},[1463,3711,1604,3712,3714],{},[545,3713,3612],{}," in the file is not a mapping.",[1572,3716,3717],{"id":1214},[545,3718,1214],{},[526,3720,3721,3722,3724],{},"Drops the ",[545,3723,3682],{}," entry.",[1460,3726,3727,3731,3733],{},[1463,3728,2027,3729,917],{},[545,3730,3468],{},[1463,3732,1952],{},[1463,3734,1604,3735,2881,3737,917],{},[545,3736,3468],{},[545,3738,3612],{},[1572,3740,3121,3742,3744],{"id":3741},"the-resolved-answer-for-policy",[545,3743,1415],{}," answer for policy",[526,3746,3127,3747,1642,3749,3751,3752,3754,3755,568,3758,3761,3762,687,3764,3766],{},[545,3748,1415],{},[545,3750,1937],{}," when the draft's ",[545,3753,318],{}," does not load. Otherwise it has the keys below. Each value is ",[545,3756,3757],{},"{value, source}",[545,3759,3760],{},"source"," being ",[545,3763,574],{},[545,3765,3422],{},", unless a row says otherwise.",[583,3768,3769,3779],{},[586,3770,3771],{},[589,3772,3773,3776],{},[592,3774,3775],{},"Key",[592,3777,3778],{},"Holds",[602,3780,3781,3805,3829,3842,3877,3888],{},[589,3782,3783,3787],{},[607,3784,3785],{},[545,3786,3525],{},[607,3788,3789,568,3792,568,3795,3798,3799,1676,3801,3804],{},[545,3790,3791],{},"caps",[545,3793,3794],{},"work_item_usd",[545,3796,3797],{},"daily_usd",", and ",[545,3800,3699],{},[545,3802,3803],{},"timeout_minutes",". Described below.",[589,3806,3807,3811],{},[607,3808,3809],{},[545,3810,3612],{},[607,3812,3813,1474,3815,1761,3818,1474,3821,3824,3825,3828],{},[545,3814,3422],{},[545,3816,3817],{},"{attempts, wall_clock_s}",[545,3819,3820],{},"entries",[545,3822,3823],{},"[{key, attempts, wall_clock_s, live}]",") and ",[545,3826,3827],{},"live",", below.",[589,3830,3831,3837],{},[607,3832,3833,568,3835],{},[545,3834,1530],{},[545,3836,3597],{},[607,3838,3839,3840,917],{},"One value per key named under ",[545,3841,1178],{},[589,3843,3844,3848],{},[607,3845,3846],{},[545,3847,3632],{},[607,3849,3850,568,3852,568,3855,568,3858,568,3861,3864,3865,3824,3867,3621,3870,3873,3874,3876],{},[545,3851,3637],{},[545,3853,3854],{},"archive_after_days",[545,3856,3857],{},"storage_limit",[545,3859,3860],{},"storage_quota",[545,3862,3863],{},"storage_quota_default"," (a string, the quota's 80% default, else ",[545,3866,1937],{},[545,3868,3869],{},"storage_auto_cleanup",[545,3871,3872],{},"min_age"," in force, ",[545,3875,1937],{}," when off).",[589,3878,3879,3883],{},[607,3880,3881],{},[545,3882,3657],{},[607,3884,3885,917],{},[545,3886,3887],{},"loop_severities",[589,3889,3890,3897],{},[607,3891,3892,568,3894],{},[545,3893,567],{},[545,3895,3896],{},"other",[607,3898,3899,3900,1676,3902,3904,3905,568,3907,1676,3910,3912],{},"Read-only: the harness fields of ",[545,3901,2715],{},[545,3903,2718],{},", and the ",[545,3906,3657],{},[545,3908,3909],{},"archive",[545,3911,3637],{}," values.",[526,3914,3915,3917],{},[545,3916,3525],{}," holds:",[1460,3919,3920,3951,3963,3990,4014],{},[1463,3921,3922,3924,3925,2821,3928,1676,3930,3933,3934,568,3936,3938,3939,568,3941,568,3943,568,3945,3947,3948,917],{},[545,3923,3791],{},": per level and cap, ",[545,3926,3927],{},"{default, maximum, below}",[545,3929,3422],{},[545,3931,3932],{},"maximum"," are ",[545,3935,3757],{},[545,3937,3760],{}," being the level (",[545,3940,3548],{},[545,3942,2519],{},[545,3944,2096],{},[545,3946,2524],{},") that sets it. An unset value is ",[545,3949,3950],{},"{value: null, source: null}",[1463,3952,3953,3956,3957,3798,3960,3962],{},[545,3954,3955],{},"below"," is every scope of the published library's chains that sets that cap itself, ",[545,3958,3959],{},"{layer, chain, path, via, value, exceeds}",[545,3961,2057],{}," when none does.",[1463,3964,3965,3966,568,3968,1642,3971,3973,3974,3976,3977,3245,3980,3982,3983,3986,3987,3989],{},"In ",[545,3967,3955],{},[545,3969,3970],{},"layer",[545,3972,3217],{}," (the chain file) or ",[545,3975,639],{}," (a component it extends, named in ",[545,3978,3979],{},"via",[545,3981,1468],{}," is the scope's canonical path (the chain's id for the chain itself), and ",[545,3984,3985],{},"exceeds"," is whether ",[545,3988,2215],{}," is past the draft's maximum at that level.",[1463,3991,3992,3994,3995,2655,3998,4001,4002,568,4004,568,4007,4010,4011,4013],{},[545,3993,3794],{}," also has ",[545,3996,3997],{},"binding",[545,3999,4000],{},"{key, value}",", the lowest of the dollar caps (",[545,4003,3530],{},[545,4005,4006],{},"maxima.work_item.budget_usd",[545,4008,4009],{},"defaults.work_item.budget_usd",") and the key that sets it, or ",[545,4012,1937],{}," when none is set.",[1463,4015,4016,1676,4018,4020,4021,917],{},[545,4017,3699],{},[545,4019,3803],{}," are each ",[545,4022,4023],{},"{default, maximum}",[526,4025,4026,4029,4030,2821,4033,1676,4035,4020,4037,568,4039,4041,4042,568,4045,568,4047,568,4049,687,4051,568,4053,2499,4055,4057,4058,4060],{},[545,4027,4028],{},"loops.live"," lists every fix loop in the library, ",[545,4031,4032],{},"{key, chain, node, attempts, wall_clock_s}",[545,4034,3703],{},[545,4036,3706],{},[545,4038,3757],{},[545,4040,3760],{}," being the layer that wins: ",[545,4043,4044],{},"loop",[545,4046,1686],{},[545,4048,3217],{},[545,4050,2715],{},[545,4052,2718],{},[545,4054,3612],{},[545,4056,3422],{},". A wall clock has no ",[545,4059,4044],{}," layer. A work item's own override is not in it.",[526,4062,3425,4063,4065,4066,2539,4069,4071,4072,917],{},[545,4064,3482],{}," (the group) and, for a cap, ",[545,4067,4068],{},"level",[545,4070,3682],{}," key naming no loop in the library is a problem, and so is a limit a chain already exceeds, which names the ",[545,4073,3217],{},[1439,4075,4077],{"id":4076},"intake-ops","Intake ops",[526,4079,2679,4080,2682,4082,4084,4085,4088],{},[545,4081,577],{},[545,4083,334],{},", its ",[545,4086,4087],{},"schedules:"," included).",[1572,4090,4091],{"id":1231},[545,4092,1231],{},[526,4094,4095,4096,4098,4099,568,4102,568,4105,1676,4108,917],{},"Sets intake settings in ",[545,4097,334],{},", which gets its default for any of the four keys it did not have: ",[545,4100,4101],{},"enabled: false",[545,4103,4104],{},"interval_s: 300",[545,4106,4107],{},"priority_ceiling: 2",[545,4109,4110],{},"repos: []",[1460,4112,4113,4128,4137],{},[1463,4114,2027,4115,4117,4118,568,4120,568,4123,1676,4126,917],{},[545,4116,2873],{}," (a mapping) holding any of ",[545,4119,2889],{},[545,4121,4122],{},"interval_s",[545,4124,4125],{},"priority_ceiling",[545,4127,571],{},[1463,4129,4130,4131,4133,4134,4136],{},"Answers nothing. The op does not check values: an ",[545,4132,4122],{}," under 30 or a ",[545,4135,4125],{}," outside 0 to 4 is a problem.",[1463,4138,1604,4139,4141,4142,4144,4145,4147],{},[545,4140,2873],{}," holds any other key. ",[545,4143,3637],{}," is the ",[545,4146,574],{}," draft's.",[1572,4149,4150],{"id":1248},[545,4151,1248],{},[526,4153,4154,4155,3724],{},"Appends a ",[545,4156,4087],{},[583,4158,4159,4171],{},[586,4160,4161],{},[589,4162,4163,4165,4167,4169],{},[592,4164,1701],{},[592,4166,1704],{},[592,4168,1707],{},[592,4170,1710],{},[602,4172,4173,4187,4200,4213,4227],{},[589,4174,4175,4180,4182,4184],{},[607,4176,4177],{},[545,4178,4179],{},"cron",[607,4181,1735],{},[607,4183,1723],{},[607,4185,4186],{},"The cron expression.",[589,4188,4189,4193,4195,4197],{},[607,4190,4191],{},[545,4192,3414],{},[607,4194,1735],{},[607,4196,1723],{},[607,4198,4199],{},"The repo's path.",[589,4201,4202,4206,4208,4210],{},[607,4203,4204],{},[545,4205,3217],{},[607,4207,1735],{},[607,4209,1723],{},[607,4211,4212],{},"The chain the item runs.",[589,4214,4215,4220,4222,4224],{},[607,4216,4217],{},[545,4218,4219],{},"title",[607,4221,1735],{},[607,4223,1723],{},[607,4225,4226],{},"The item's title.",[589,4228,4229,4234,4236,4240],{},[607,4230,4231],{},[545,4232,4233],{},"description",[607,4235,1735],{},[607,4237,4238],{},[545,4239,2253],{},[607,4241,4242],{},"The item's description.",[526,4244,4245,4246,4249],{},"Answers nothing. Refused when ",[545,4247,4248],{},"schedules"," in the file is not a list, or a required field is missing.",[1572,4251,4252],{"id":1265},[545,4253,1265],{},[526,4255,4256,4257,917],{},"Changes fields of the entry at ",[545,4258,4259],{},"index",[1460,4261,4262,4280,4282],{},[1463,4263,1583,4264,4266,4267,4269,4270,568,4272,568,4274,568,4276,568,4278,1481],{},[545,4265,4259],{}," (integer), ",[545,4268,2873],{}," (a mapping of any of ",[545,4271,4179],{},[545,4273,3414],{},[545,4275,3217],{},[545,4277,4219],{},[545,4279,4233],{},[1463,4281,1952],{},[1463,4283,4284,4285,2499,4287,4289],{},"Refused when there is no schedule at ",[545,4286,4259],{},[545,4288,2873],{}," holds a key that is no schedule field.",[1572,4291,4292],{"id":1282},[545,4293,1282],{},[526,4295,4296,4297,917],{},"Drops the entry at ",[545,4298,4259],{},[1460,4300,4301,4306,4308],{},[1463,4302,2027,4303,4305],{},[545,4304,4259],{}," (integer).",[1463,4307,1952],{},[1463,4309,4284,4310,917],{},[545,4311,4259],{},[1572,4313,3121,4315,4317],{"id":4314},"the-resolved-answer-for-intake",[545,4316,1415],{}," answer for intake",[526,4319,3127,4320,1642,4322,4325,4326,4329,4330,4332,4333,4335,4336,4338,4339,4342],{},[545,4321,1415],{},[545,4323,4324],{},"{enabled, interval_s, priority_ceiling, repos, schedules}",", each schedule ",[545,4327,4328],{},"{index, cron, repo, chain, title, description}",". A schedule whose ",[545,4331,3414],{}," is not connected, whose ",[545,4334,3217],{}," is not in the library, or whose ",[545,4337,4179],{}," is invalid is a problem carrying its ",[545,4340,4341],{},"schedule"," index.",[526,4344,4345],{},"A publish applies without a restart: the poller is replaced, and the new interval and schedules are live.",[1439,4347,4349],{"id":4348},"item-drafts","Item drafts",[526,4351,4352],{},"A work item's own chain has one draft too: a list of ops a person has not applied yet, kept until it is applied or discarded.",[526,4354,4355,4356,4359,4360,4363,4364,4366],{},"Every route here is refused with ",[545,4357,4358],{},"403"," for a worker's own item (a worker cannot read or change its own item's draft), ",[545,4361,4362],{},"404"," for an unknown work item, and ",[545,4365,2651],{}," for an ended item.",[526,4368,1506,4369,4373,4374,568,4377,4379,4380,4382,4383,4385],{},[530,4370,4372],{"href":4371},"\u002Fconcepts\u002Fvocabulary#escalation-turn","escalation turn"," is not a worker, so it may use these routes on the item it is helping with. ",[545,4375,4376],{},"GET",[545,4378,1457],{}," and apply are also refused with ",[545,4381,2651],{}," for an item with no materialized chain; a ",[545,4384,1457],{}," has stored its ops by then, so the draft is kept.",[1572,4387,4389],{"id":4388},"get-apiwork-itemsiddraft",[545,4390,1299],{},[526,4392,4393,4394,1642,4397,1676,4399,4401,4402,917],{},"Reads the item's draft. With no draft, ",[545,4395,4396],{},"ops",[545,4398,2057],{},[545,4400,2519],{}," is the item's chain. Answers ",[530,4403,1437],{"href":1436},[526,4405,4406,4407,2655,4410,4412,4413,4415,4416,4418],{},"Also refused as under ",[530,4408,4349],{"href":4409},"#item-drafts",[545,4411,4358],{}," for a worker's own item, ",[545,4414,4362],{}," for an unknown item, ",[545,4417,2651],{}," for an ended one.",[1572,4420,4422],{"id":4421},"put-apiwork-itemsiddraft",[545,4423,1315],{},[526,4425,4426],{},"Replaces the whole op list. An empty list deletes the draft.",[526,4428,4429,4430,4433,4434,4436],{},"Body: ",[545,4431,4432],{},"{\"ops\": [{\"op\": \"skip\", \"path\": \"…\"}]}",". Answers as ",[545,4435,1299],{}," does.",[526,4438,4439,4440,4442,4443,4447],{},"Refused with ",[545,4441,547],{}," for a malformed op: one the ",[530,4444,4446],{"href":4445},"#item-draft-ops","item draft ops"," do not know, or with a field they do not take.",[526,4449,4406,4450,2655,4452,4412,4454,4415,4456,4418],{},[530,4451,4349],{"href":4409},[545,4453,4358],{},[545,4455,4362],{},[545,4457,2651],{},[1572,4459,4461],{"id":4460},"delete-apiwork-itemsiddraft",[545,4462,1330],{},[526,4464,4465,4466,4469,4470,4472],{},"Discards the draft. Answers ",[545,4467,4468],{},"204"," with no body. Refused with ",[545,4471,4362],{}," when there is no draft.",[526,4474,4406,4475,2655,4477,4412,4479,4415,4481,4418],{},[530,4476,4349],{"href":4409},[545,4478,4358],{},[545,4480,4362],{},[545,4482,2651],{},[1572,4484,4486],{"id":4485},"post-apiwork-itemsiddraftapply",[545,4487,1345],{},[526,4489,4490],{},"Applies every op at once, in one transaction. No body.",[526,4492,4493,4494,4496,4497,3048,4500,4503,4504,4506,4507,4510,4511,4513],{},"On success it answers as ",[545,4495,1299],{}," does, with the draft gone. The revised chain replaces the item's, recorded as ",[545,4498,4499],{},"chain_revised",[545,4501,4502],{},"source: \"draft\"",", each ",[545,4505,1404],{}," is recorded as ",[545,4508,4509],{},"scope_skipped",", and the draft is deleted. A draft of only ",[545,4512,1404],{}," ops revises no chain. On a running item it takes effect at the next node boundary: the node running finishes as it started.",[583,4515,4516,4526],{},[586,4517,4518],{},[589,4519,4520,4523],{},[592,4521,4522],{},"Status",[592,4524,4525],{},"When",[602,4527,4528,4537,4546],{},[589,4529,4530,4534],{},[607,4531,4532],{},[545,4533,4362],{},[607,4535,4536],{},"The item has no draft.",[589,4538,4539,4543],{},[607,4540,4541],{},[545,4542,2651],{},[607,4544,4545],{},"An op is passed: the item has moved past some of the draft's ops. Nothing is written. The body is below.",[589,4547,4548,4552],{},[607,4549,4550],{},[545,4551,547],{},[607,4553,4554,4555,917],{},"An op has a problem. The body is ",[545,4556,4557],{},"{detail, problems}",[4559,4560,4565],"pre",{"className":4561,"code":4562,"language":4563,"meta":4564,"style":4564},"language-json shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","{\"detail\": \"the item has moved past some of this draft's ops; remove them or move them after the current node\",\n \"passed\": [0]}\n","json","",[545,4566,4567,4588],{"__ignoreMap":4564},[4568,4569,4571,4575,4579,4581,4585],"span",{"class":2447,"line":4570},1,[4568,4572,4574],{"class":4573},"s7iLA","{",[4568,4576,4578],{"class":4577},"sb7M8","\"detail\"",[4568,4580,2655],{"class":4573},[4568,4582,4584],{"class":4583},"semJd","\"the item has moved past some of this draft's ops; remove them or move them after the current node\"",[4568,4586,4587],{"class":4573},",\n",[4568,4589,4591,4594,4597,4601],{"class":2447,"line":4590},2,[4568,4592,4593],{"class":4577}," \"passed\"",[4568,4595,4596],{"class":4573},": [",[4568,4598,4600],{"class":4599},"ssYy9","0",[4568,4602,4603],{"class":4573},"]}\n",[526,4605,4606],{},"Nothing is moved for you: drop a passed op from the list, or change it to act after the current node.",[526,4608,4406,4609,2655,4611,4412,4613,4415,4615,4418],{},[530,4610,4349],{"href":4409},[545,4612,4358],{},[545,4614,4362],{},[545,4616,2651],{},[1572,4618,1437],{"id":4619},"the-item-draft-answer",[4559,4621,4623],{"className":4561,"code":4622,"language":4563,"meta":4564,"style":4564},"{\n  \"ops\": [{\"op\": \"skip\", \"path\": \"verification.main.lint\", \"passed\": false}],\n  \"problems\": [],\n  \"checks\": {\"budget\": {\"spent_usd\": 1.2, \"cap_usd\": 5.0}, \"added\": []},\n  \"nodes\": [\"…\"],\n  \"base_seq\": 41,\n  \"updated_at\": \"2026-10-07T09:12:44.123456+00:00\"\n}\n",[545,4624,4625,4630,4669,4678,4719,4733,4746,4757],{"__ignoreMap":4564},[4568,4626,4627],{"class":2447,"line":4570},[4568,4628,4629],{"class":4573},"{\n",[4568,4631,4632,4635,4638,4641,4643,4646,4648,4651,4653,4656,4658,4661,4663,4666],{"class":2447,"line":4590},[4568,4633,4634],{"class":4577},"  \"ops\"",[4568,4636,4637],{"class":4573},": [{",[4568,4639,4640],{"class":4577},"\"op\"",[4568,4642,2655],{"class":4573},[4568,4644,4645],{"class":4583},"\"skip\"",[4568,4647,568],{"class":4573},[4568,4649,4650],{"class":4577},"\"path\"",[4568,4652,2655],{"class":4573},[4568,4654,4655],{"class":4583},"\"verification.main.lint\"",[4568,4657,568],{"class":4573},[4568,4659,4660],{"class":4577},"\"passed\"",[4568,4662,2655],{"class":4573},[4568,4664,4665],{"class":4599},"false",[4568,4667,4668],{"class":4573},"}],\n",[4568,4670,4672,4675],{"class":2447,"line":4671},3,[4568,4673,4674],{"class":4577},"  \"problems\"",[4568,4676,4677],{"class":4573},": [],\n",[4568,4679,4681,4684,4687,4690,4692,4695,4697,4700,4702,4705,4707,4710,4713,4716],{"class":2447,"line":4680},4,[4568,4682,4683],{"class":4577},"  \"checks\"",[4568,4685,4686],{"class":4573},": {",[4568,4688,4689],{"class":4577},"\"budget\"",[4568,4691,4686],{"class":4573},[4568,4693,4694],{"class":4577},"\"spent_usd\"",[4568,4696,2655],{"class":4573},[4568,4698,4699],{"class":4599},"1.2",[4568,4701,568],{"class":4573},[4568,4703,4704],{"class":4577},"\"cap_usd\"",[4568,4706,2655],{"class":4573},[4568,4708,4709],{"class":4599},"5.0",[4568,4711,4712],{"class":4573},"}, ",[4568,4714,4715],{"class":4577},"\"added\"",[4568,4717,4718],{"class":4573},": []},\n",[4568,4720,4722,4725,4727,4730],{"class":2447,"line":4721},5,[4568,4723,4724],{"class":4577},"  \"nodes\"",[4568,4726,4596],{"class":4573},[4568,4728,4729],{"class":4583},"\"…\"",[4568,4731,4732],{"class":4573},"],\n",[4568,4734,4736,4739,4741,4744],{"class":2447,"line":4735},6,[4568,4737,4738],{"class":4577},"  \"base_seq\"",[4568,4740,2655],{"class":4573},[4568,4742,4743],{"class":4599},"41",[4568,4745,4587],{"class":4573},[4568,4747,4749,4752,4754],{"class":2447,"line":4748},7,[4568,4750,4751],{"class":4577},"  \"updated_at\"",[4568,4753,2655],{"class":4573},[4568,4755,4756],{"class":4583},"\"2026-10-07T09:12:44.123456+00:00\"\n",[4568,4758,4760],{"class":2447,"line":4759},8,[4568,4761,4762],{"class":4573},"}\n",[583,4764,4765,4773],{},[586,4766,4767],{},[589,4768,4769,4771],{},[592,4770,1701],{},[592,4772,1710],{},[602,4774,4775,4794,4810,4828,4841,4854],{},[589,4776,4777,4781],{},[607,4778,4779],{},[545,4780,4396],{},[607,4782,4783,4784,2655,4787,4790,4791,4793],{},"The draft's ops as stored, each with ",[545,4785,4786],{},"passed",[545,4788,4789],{},"true"," once the item has reached the node it acts on (for ",[545,4792,614],{},", gone past the node it follows). A passed op is not applied.",[589,4795,4796,4801],{},[607,4797,4798],{},[545,4799,4800],{},"problems",[607,4802,4803,568,4806,4809],{},[545,4804,4805],{},"[{op, message}]",[545,4807,4808],{},"op"," being the op's index.",[589,4811,4812,4817],{},[607,4813,4814],{},[545,4815,4816],{},"checks",[607,4818,4819,4822,4823,917],{},[545,4820,4821],{},"{budget, added}",". See ",[530,4824,4826],{"href":4825},"#checks",[545,4827,4816],{},[589,4829,4830,4834],{},[607,4831,4832],{},[545,4833,2519],{},[607,4835,4836,4837,4840],{},"The chain, in the ",[545,4838,4839],{},"chain_definition"," node shape, with every op applied that is neither passed nor a problem.",[589,4842,4843,4848],{},[607,4844,4845],{},[545,4846,4847],{},"base_seq",[607,4849,4850,4851,4853],{},"The item's latest event number when the draft was created, kept across later writes. ",[545,4852,1937],{}," with no draft.",[589,4855,4856,4861],{},[607,4857,4858],{},[545,4859,4860],{},"updated_at",[607,4862,4863,4864,4853],{},"The draft's last write, or ",[545,4865,1937],{},[1572,4867,4868],{"id":4816},[545,4869,4816],{},[1460,4871,4872,4889,4902,4910],{},[1463,4873,4874,1642,4877,4880,4881,4884,4885,4888],{},[545,4875,4876],{},"budget",[545,4878,4879],{},"{spent_usd, cap_usd}",", the item's spend against its cap, as ",[545,4882,4883],{},"budget_cap"," on ",[545,4886,4887],{},"GET \u002Fapi\u002Fwork-items\u002F{id}"," reports it.",[1463,4890,4891,4894,4895,4898,4899,4901],{},[545,4892,4893],{},"added"," has one ",[545,4896,4897],{},"{op, node, harnesses, estimate_usd, estimate_runs}"," for each ",[545,4900,614],{}," that is not passed and has no problem.",[1463,4903,4904,4906,4907,4909],{},[545,4905,567],{}," are the harnesses its agent tasks run on. One outside the policy's ",[545,4908,2701],{}," is a problem on that op, so these are allowed.",[1463,4911,4912,4915,4916,4919,4920,4922],{},[545,4913,4914],{},"estimate_usd"," is what a node of that id has cost per item, averaged over ",[545,4917,4918],{},"estimate_runs"," items of the instance. Both are ",[545,4921,1937],{}," when none has run.",[526,4924,4925],{},"The estimate is information and blocks nothing.",[1439,4927,4929],{"id":4928},"item-draft-ops","Item draft ops",[526,4931,4932,4933,4935,4936,4938,4939,4941,4942,917],{},"Each op below is an element of the ",[545,4934,4396],{}," list of an item draft. Its refusals are ",[545,4937,4800],{}," entries on that op, except a malformed op, which is the ",[545,4940,1457],{},"'s ",[545,4943,547],{},[1572,4945,4946],{"id":978},[545,4947,978],{},[526,4949,4950,4951,917],{},"Sets what a retry's override may set at a path, within the same bounds: no structural field, policy only tightened or kept under the maxima, and a harness inside ",[545,4952,2701],{},[1460,4954,4955,4965],{},[1463,4956,1583,4957,568,4959,4962,4963,3278],{},[545,4958,1468],{},[545,4960,4961],{},"task_config"," (a mapping, optional), ",[545,4964,574],{},[1463,4966,4967],{},"Problem when the override is outside those bounds. For one outside its policy maximum, the message starts with the field.",[1572,4969,4971,1374],{"id":4970},"add_node-on-an-item-draft",[545,4972,614],{},[526,4974,4975,4976,4978],{},"Adds a node built from library components only, as a chain revision adds one. It is always an ",[545,4977,1595],{}," node.",[1460,4980,4981,4990,5004],{},[1463,4982,1583,4983,4986,4987,4989],{},[545,4984,4985],{},"after"," (the id of the node it follows), ",[545,4988,1686],{}," (an object).",[1463,4991,4992,1642,4994,568,4997,687,5000,5003],{},[545,4993,1686],{},[545,4995,4996],{},"{id, extends}",[545,4998,4999],{},"{id, tasks}",[545,5001,5002],{},"{id, steps}",", of library tasks. It holds exactly one of the three.",[1463,5005,5006],{},"Problem when the library cannot build the node.",[1572,5008,5009],{"id":1389},[545,5010,1389],{},[526,5012,5013],{},"Takes the node out of the chain.",[1460,5015,5016,5020],{},[1463,5017,2027,5018,917],{},[545,5019,1686],{},[1463,5021,5022],{},"Problem when the node is a gate, is not skippable, or lands the merge request.",[1572,5024,5025],{"id":1404},[545,5026,1404],{},[526,5028,5029,5030,5032,5033,5037],{},"Skips a step or a task. Applying records it as ",[545,5031,4509],{},", so the ",[530,5034,5036],{"href":5035},"\u002Fconcepts\u002Fvocabulary#walk","walk"," passes it.",[1460,5039,5040,5044],{},[1463,5041,2027,5042,917],{},[545,5043,1468],{},[1463,5045,5046,5047,5049,5050,5052],{},"Problem when ",[545,5048,1468],{}," names nothing, is a node (use ",[545,5051,1389],{},"), or does not allow skipping.",[1439,5054,5056],{"id":5055},"related","Related",[1460,5058,5059,5068,5073],{},[1463,5060,5061,5063,5064,5067],{},[530,5062,470],{"href":471},": the routes that carry these ops, and the ",[545,5065,5066],{},"result"," every draft answers.",[1463,5069,5070,5072],{},[530,5071,260],{"href":261},": the screens whose edits become these ops.",[1463,5074,5075,5077],{},[530,5076,444],{"href":445},": who may call, and which routes are stable.",[5079,5080,5081],"style",{},"html pre.shiki code .s7iLA, html code.shiki .s7iLA{--shiki-light:#0E1116;--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .sb7M8, html code.shiki .sb7M8{--shiki-light:#024C1A;--shiki-default:#024C1A;--shiki-dark:#72F088}html pre.shiki code .semJd, html code.shiki .semJd{--shiki-light:#032563;--shiki-default:#032563;--shiki-dark:#ADDCFF}html pre.shiki code .ssYy9, html code.shiki .ssYy9{--shiki-light:#023B95;--shiki-default:#023B95;--shiki-dark:#91CBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":4564,"searchDepth":4590,"depth":4590,"links":5083},[5084,5120,5140,5152,5162,5174,5186,5194],{"id":1441,"depth":4590,"text":1442,"children":5085},[5086,5088,5090,5092,5094,5096,5097,5098,5099,5101,5103,5105,5107,5109,5110,5112,5114,5116,5118],{"id":614,"depth":4671,"text":5087},"add_​node",{"id":632,"depth":4671,"text":5089},"add_​step",{"id":652,"depth":4671,"text":5091},"add_​task",{"id":671,"depth":4671,"text":5093},"add_​handler",{"id":701,"depth":4671,"text":5095},"remove_​handler",{"id":720,"depth":4671,"text":720},{"id":739,"depth":4671,"text":739},{"id":758,"depth":4671,"text":758},{"id":777,"depth":4671,"text":5100},"change_​base",{"id":796,"depth":4671,"text":5102},"new_​chain",{"id":813,"depth":4671,"text":5104},"delete_​chain",{"id":830,"depth":4671,"text":5106},"set_​field",{"id":849,"depth":4671,"text":5108},"reset_​field",{"id":868,"depth":4671,"text":868},{"id":887,"depth":4671,"text":5111},"set_​fragment",{"id":906,"depth":4671,"text":5113},"move_​to_​library",{"id":927,"depth":4671,"text":5115},"add_​component",{"id":944,"depth":4671,"text":5117},"copy_​component",{"id":2634,"depth":4671,"text":5119},"Ops on an add-​on's content",{"id":2675,"depth":4590,"text":2676,"children":5121},[5122,5124,5126,5128,5130,5132,5134,5136,5138],{"id":965,"depth":4671,"text":5123},"set_​access",{"id":991,"depth":4671,"text":5125},"set_​allowed_​tools",{"id":1008,"depth":4671,"text":5127},"set_​escalation",{"id":1025,"depth":4671,"text":5129},"set_​harness",{"id":1042,"depth":4671,"text":5131},"add_​profile",{"id":1059,"depth":4671,"text":5133},"rename_​profile",{"id":1076,"depth":4671,"text":5135},"remove_​profile",{"id":1093,"depth":4671,"text":5137},"set_​profile",{"id":3120,"depth":4671,"text":5139},"The resolved answer for harnesses",{"id":3237,"depth":4590,"text":3238,"children":5141},[5142,5144,5146,5148,5150],{"id":1110,"depth":4671,"text":5143},"add_​repo",{"id":1127,"depth":4671,"text":5145},"set_​repo",{"id":1144,"depth":4671,"text":5147},"remove_​repo",{"id":1161,"depth":4671,"text":5149},"connect_​detected",{"id":3368,"depth":4671,"text":5151},"The resolved answer for repos",{"id":3451,"depth":4590,"text":3452,"children":5153},[5154,5156,5158,5160],{"id":1178,"depth":4671,"text":5155},"set_​value",{"id":1197,"depth":4671,"text":5157},"set_​loop",{"id":1214,"depth":4671,"text":5159},"remove_​loop",{"id":3741,"depth":4671,"text":5161},"The resolved answer for policy",{"id":4076,"depth":4590,"text":4077,"children":5163},[5164,5166,5168,5170,5172],{"id":1231,"depth":4671,"text":5165},"set_​intake",{"id":1248,"depth":4671,"text":5167},"add_​schedule",{"id":1265,"depth":4671,"text":5169},"set_​schedule",{"id":1282,"depth":4671,"text":5171},"remove_​schedule",{"id":4314,"depth":4671,"text":5173},"The resolved answer for intake",{"id":4348,"depth":4590,"text":4349,"children":5175},[5176,5178,5180,5182,5184,5185],{"id":4388,"depth":4671,"text":5177},"GET \u002Fapi\u002F​work-​items\u002F​{id}\u002F​draft",{"id":4421,"depth":4671,"text":5179},"PUT \u002Fapi\u002F​work-​items\u002F​{id}\u002F​draft",{"id":4460,"depth":4671,"text":5181},"DELETE \u002Fapi\u002F​work-​items\u002F​{id}\u002F​draft",{"id":4485,"depth":4671,"text":5183},"POST \u002Fapi\u002F​work-​items\u002F​{id}\u002F​draft\u002F​apply",{"id":4619,"depth":4671,"text":1437},{"id":4816,"depth":4671,"text":4816},{"id":4928,"depth":4590,"text":4929,"children":5187},[5188,5189,5191,5193],{"id":978,"depth":4671,"text":978},{"id":4970,"depth":4671,"text":5190},"add_​node on an item draft",{"id":1389,"depth":4671,"text":5192},"remove_​node",{"id":1404,"depth":4671,"text":1404},{"id":5055,"depth":4590,"text":5056},"The ops each kind of draft takes, one entry per op, with the answer each gives, and a work item's own draft.","md",null,{},true,{"title":474,"description":5195},"anZsftMv5AB5czQRvviSYHtiApTD-XyGu_tt-mqCPJo",[5203,5205],{"title":470,"path":471,"stem":472,"description":5204,"children":-1},"The routes the Templates and Settings editors use to keep, change, publish and discard drafts, the policy and intake-check routes beside them, and the `result` they answer.",{"title":478,"path":479,"stem":480,"description":5206,"children":-1},"Every tool the kraft MCP server serves, with its parameters and the kraft command that does the same.",1791801178871]