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