[{"data":1,"prerenderedAt":1690},["ShallowReactive",2],{"navigation_docs":3,"-reference-statuses":520,"-reference-statuses-surround":1685},[4,28,51,191,222,485],{"title":5,"path":6,"stem":7,"children":8},"Get started","\u002Fget-started","1.get-started",[9,12,16,20,24],{"title":10,"path":6,"stem":11},"Overview","1.get-started\u002Findex",{"title":13,"path":14,"stem":15},"Why Kraft","\u002Fget-started\u002Fwhy-kraft","1.get-started\u002F0.why-kraft",{"title":17,"path":18,"stem":19},"Install","\u002Fget-started\u002Finstall","1.get-started\u002F1.install",{"title":21,"path":22,"stem":23},"Your first work item","\u002Fget-started\u002Ffirst-work-item","1.get-started\u002F2.first-work-item",{"title":25,"path":26,"stem":27},"FAQ","\u002Fget-started\u002Ffaq","1.get-started\u002F3.faq",{"title":29,"path":30,"stem":31,"children":32},"Concepts","\u002Fconcepts","2.concepts",[33,35,39,43,47],{"title":10,"path":30,"stem":34},"2.concepts\u002Findex",{"title":36,"path":37,"stem":38},"How a work item runs","\u002Fconcepts\u002Fhow-a-work-item-runs","2.concepts\u002F1.how-a-work-item-runs",{"title":40,"path":41,"stem":42},"Caps and budgets","\u002Fconcepts\u002Fcaps-and-budgets","2.concepts\u002F2.caps-and-budgets",{"title":44,"path":45,"stem":46},"Why a permission gate","\u002Fconcepts\u002Fpermission-gate","2.concepts\u002F3.permission-gate",{"title":48,"path":49,"stem":50},"Vocabulary","\u002Fconcepts\u002Fvocabulary","2.concepts\u002F4.vocabulary",{"title":52,"path":53,"stem":54,"children":55},"Guides","\u002Fguides","3.guides",[56,58,96,117,138,187],{"title":10,"path":53,"stem":57},"3.guides\u002Findex",{"title":59,"path":60,"stem":61,"children":62,"page":95},"Day to day","\u002Fguides\u002Fday-to-day","3.guides\u002F1.day-to-day",[63,67,71,75,79,83,87,91],{"title":64,"path":65,"stem":66},"The setup wizard on first start","\u002Fguides\u002Fday-to-day\u002Ffirst-run","3.guides\u002F1.day-to-day\u002F2.first-run",{"title":68,"path":69,"stem":70},"File a work item","\u002Fguides\u002Fday-to-day\u002Ffile-a-work-item","3.guides\u002F1.day-to-day\u002F3.file-a-work-item",{"title":72,"path":73,"stem":74},"Use Kraft from your agent","\u002Fguides\u002Fday-to-day\u002Fagent-integration","3.guides\u002F1.day-to-day\u002F4.agent-integration",{"title":76,"path":77,"stem":78},"Reviewing a change","\u002Fguides\u002Fday-to-day\u002Freview-a-change","3.guides\u002F1.day-to-day\u002F5.review-a-change",{"title":80,"path":81,"stem":82},"Raise a cap on a stopped item","\u002Fguides\u002Fday-to-day\u002Fraise-a-cap","3.guides\u002F1.day-to-day\u002F6.raise-a-cap",{"title":84,"path":85,"stem":86},"Kraft for VS Code","\u002Fguides\u002Fday-to-day\u002Fvscode","3.guides\u002F1.day-to-day\u002F7.vscode",{"title":88,"path":89,"stem":90},"Kraft on a phone","\u002Fguides\u002Fday-to-day\u002Fkraft-on-a-phone","3.guides\u002F1.day-to-day\u002F8.kraft-on-a-phone",{"title":92,"path":93,"stem":94},"Get notified when an item needs you","\u002Fguides\u002Fday-to-day\u002Fnotifications","3.guides\u002F1.day-to-day\u002F9.notifications",false,{"title":97,"path":98,"stem":99,"children":100,"page":95},"Customize and automate","\u002Fguides\u002Fcustomize","3.guides\u002F2.customize",[101,105,109,113],{"title":102,"path":103,"stem":104},"Write your own chain","\u002Fguides\u002Fcustomize\u002Fwrite-your-own-chain","3.guides\u002F2.customize\u002F1.write-your-own-chain",{"title":106,"path":107,"stem":108},"Add a security review or a gate reviewer","\u002Fguides\u002Fcustomize\u002Fadd-review-agents","3.guides\u002F2.customize\u002F2.add-review-agents",{"title":110,"path":111,"stem":112},"Schedule or webhook work","\u002Fguides\u002Fcustomize\u002Fschedule-and-webhook-work","3.guides\u002F2.customize\u002F3.schedule-and-webhook-work",{"title":114,"path":115,"stem":116},"Share chains with add-ons","\u002Fguides\u002Fcustomize\u002Fshare-chains-with-addons","3.guides\u002F2.customize\u002F4.share-chains-with-addons",{"title":118,"path":119,"stem":120,"children":121,"page":95},"Agents and harnesses","\u002Fguides\u002Fharnesses","3.guides\u002F3.harnesses",[122,126,130,134],{"title":123,"path":124,"stem":125},"Switch a task to another harness","\u002Fguides\u002Fharnesses\u002Fswitch-harness","3.guides\u002F3.harnesses\u002F1.switch-harness",{"title":127,"path":128,"stem":129},"Add or override a harness","\u002Fguides\u002Fharnesses\u002Fadding-a-harness","3.guides\u002F3.harnesses\u002F2.adding-a-harness",{"title":131,"path":132,"stem":133},"Build a worker Kit","\u002Fguides\u002Fharnesses\u002Fworker-kit","3.guides\u002F3.harnesses\u002F3.worker-kit",{"title":135,"path":136,"stem":137},"Give a worker its login","\u002Fguides\u002Fharnesses\u002Fgive-a-worker-its-login","3.guides\u002F3.harnesses\u002F4.give-a-worker-its-login",{"title":139,"path":140,"stem":141,"children":142,"page":95},"Run the server","\u002Fguides\u002Frun","3.guides\u002F4.run",[143,147,151,155,159,163,167,171,175,179,183],{"title":144,"path":145,"stem":146},"Remote access","\u002Fguides\u002Frun\u002Fremote-access","3.guides\u002F4.run\u002F01.remote-access",{"title":148,"path":149,"stem":150},"Put a proxy in front of Kraft","\u002Fguides\u002Frun\u002Fput-a-proxy-in-front-of-kraft","3.guides\u002F4.run\u002F02.put-a-proxy-in-front-of-kraft",{"title":152,"path":153,"stem":154},"Restart Kraft without ending running agents","\u002Fguides\u002Frun\u002Frestart-kraft","3.guides\u002F4.run\u002F03.restart-kraft",{"title":156,"path":157,"stem":158},"Back up and restore the database","\u002Fguides\u002Frun\u002Fback-up-and-restore","3.guides\u002F4.run\u002F04.back-up-and-restore",{"title":160,"path":161,"stem":162},"Logs and disk space","\u002Fguides\u002Frun\u002Flogs-and-disk-space","3.guides\u002F4.run\u002F05.logs-and-disk-space",{"title":164,"path":165,"stem":166},"Run Kraft as a service","\u002Fguides\u002Frun\u002Frun-as-a-service","3.guides\u002F4.run\u002F06.run-as-a-service",{"title":168,"path":169,"stem":170},"Upgrade Kraft","\u002Fguides\u002Frun\u002Fupgrade-kraft","3.guides\u002F4.run\u002F07.upgrade-kraft",{"title":172,"path":173,"stem":174},"Upgrade your configuration","\u002Fguides\u002Frun\u002Fupgrade-your-configuration","3.guides\u002F4.run\u002F08.upgrade-your-configuration",{"title":176,"path":177,"stem":178},"Upgrade from 1.4","\u002Fguides\u002Frun\u002Fupgrade-from-1-4","3.guides\u002F4.run\u002F09.upgrade-from-1-4",{"title":180,"path":181,"stem":182},"Upgrade from 0.x or a release candidate","\u002Fguides\u002Frun\u002Fupgrade-from-0-x-or-a-release-candidate","3.guides\u002F4.run\u002F10.upgrade-from-0-x-or-a-release-candidate",{"title":184,"path":185,"stem":186},"Roll back to 1.4","\u002Fguides\u002Frun\u002Froll-back","3.guides\u002F4.run\u002F11.roll-back",{"title":188,"path":189,"stem":190},"Kraft Lite","\u002Fguides\u002Fkraft-lite","3.guides\u002F5.kraft-lite",{"title":192,"path":193,"stem":194,"children":195},"Troubleshooting","\u002Ftroubleshooting","4.troubleshooting",[196,198,202,206,210,214,218],{"title":10,"path":193,"stem":197},"4.troubleshooting\u002Findex",{"title":199,"path":200,"stem":201},"Why did my item stop?","\u002Ftroubleshooting\u002Fwhy-did-my-item-stop","4.troubleshooting\u002F1.why-did-my-item-stop",{"title":203,"path":204,"stem":205},"Stop reasons in detail","\u002Ftroubleshooting\u002Fstop-reasons-in-detail","4.troubleshooting\u002F2.stop-reasons-in-detail",{"title":207,"path":208,"stem":209},"Starting and reaching Kraft","\u002Ftroubleshooting\u002Fstarting-and-reaching-kraft","4.troubleshooting\u002F3.starting-and-reaching-kraft",{"title":211,"path":212,"stem":213},"Doctor failures","\u002Ftroubleshooting\u002Fdoctor-failures","4.troubleshooting\u002F4.doctor-failures",{"title":215,"path":216,"stem":217},"Sandbox and Kit stops","\u002Ftroubleshooting\u002Fsandbox-and-kit-stops","4.troubleshooting\u002F5.sandbox-and-kit-stops",{"title":219,"path":220,"stem":221},"Add-on problems","\u002Ftroubleshooting\u002Faddon-problems","4.troubleshooting\u002F6.addon-problems",{"title":223,"path":224,"stem":225,"children":226},"Reference","\u002Freference","5.reference",[227,229,267,289,293,391,409,435,439,443,477,481],{"title":10,"path":224,"stem":228},"5.reference\u002Findex",{"title":230,"path":231,"stem":232,"children":233},"Web UI","\u002Freference\u002Fweb-ui","5.reference\u002F00.web-ui\u002Findex",[234,235,239,243,247,251,255,259,263],{"title":10,"path":231,"stem":232},{"title":236,"path":237,"stem":238},"Sidebar, search, and keyboard","\u002Freference\u002Fweb-ui\u002Fsidebar-search-and-keyboard","5.reference\u002F00.web-ui\u002F0.sidebar-search-and-keyboard",{"title":240,"path":241,"stem":242},"The board","\u002Freference\u002Fweb-ui\u002Fboard","5.reference\u002F00.web-ui\u002F1.board",{"title":244,"path":245,"stem":246},"An item's page","\u002Freference\u002Fweb-ui\u002Fitem-page","5.reference\u002F00.web-ui\u002F2.item-page",{"title":248,"path":249,"stem":250},"Fix loops and test scopes","\u002Freference\u002Fweb-ui\u002Ffix-loops-and-test-scopes","5.reference\u002F00.web-ui\u002F3.fix-loops-and-test-scopes",{"title":252,"path":253,"stem":254},"Config before an item starts","\u002Freference\u002Fweb-ui\u002Fconfig-before-start","5.reference\u002F00.web-ui\u002F4.config-before-start",{"title":256,"path":257,"stem":258},"The review page","\u002Freference\u002Fweb-ui\u002Freview-page","5.reference\u002F00.web-ui\u002F5.review-page",{"title":260,"path":261,"stem":262},"Templates and Settings","\u002Freference\u002Fweb-ui\u002Ftemplates-and-settings","5.reference\u002F00.web-ui\u002F6.templates-and-settings",{"title":264,"path":265,"stem":266},"Analytics","\u002Freference\u002Fweb-ui\u002Fanalytics","5.reference\u002F00.web-ui\u002F7.analytics",{"title":268,"path":269,"stem":270,"children":271},"CLI","\u002Freference\u002Fcli","5.reference\u002F01.cli\u002Findex",[272,273,277,281,285],{"title":10,"path":269,"stem":270},{"title":274,"path":275,"stem":276},"Item verbs","\u002Freference\u002Fcli\u002Fitem","5.reference\u002F01.cli\u002F2.item",{"title":278,"path":279,"stem":280},"View verbs","\u002Freference\u002Fcli\u002Fview","5.reference\u002F01.cli\u002F3.view",{"title":282,"path":283,"stem":284},"Repo verbs","\u002Freference\u002Fcli\u002Frepo","5.reference\u002F01.cli\u002F4.repo",{"title":286,"path":287,"stem":288},"Admin verbs","\u002Freference\u002Fcli\u002Fadmin","5.reference\u002F01.cli\u002F5.admin",{"title":290,"path":291,"stem":292},"Work item statuses","\u002Freference\u002Fstatuses","5.reference\u002F02.statuses",{"title":294,"path":295,"stem":296,"children":297},"Configuration","\u002Freference\u002Fconfiguration","5.reference\u002F03.configuration\u002Findex",[298,299,317,321,325,329,333,337,341,345,379,383,387],{"title":10,"path":295,"stem":296},{"title":300,"path":301,"stem":302,"children":303},"repos.yaml","\u002Freference\u002Fconfiguration\u002Frepos","5.reference\u002F03.configuration\u002F02.repos\u002Findex",[304,305,309,313],{"title":10,"path":301,"stem":302},{"title":306,"path":307,"stem":308},"How connect proposes commands","\u002Freference\u002Fconfiguration\u002Frepos\u002Fconnect-proposals","5.reference\u002F03.configuration\u002F02.repos\u002F1.connect-proposals",{"title":310,"path":311,"stem":312},"detectors.yaml","\u002Freference\u002Fconfiguration\u002Frepos\u002Fdetectors","5.reference\u002F03.configuration\u002F02.repos\u002F2.detectors",{"title":314,"path":315,"stem":316},"Workspaces","\u002Freference\u002Fconfiguration\u002Frepos\u002Fworkspaces","5.reference\u002F03.configuration\u002F02.repos\u002F3.workspaces",{"title":318,"path":319,"stem":320},"policy.yaml","\u002Freference\u002Fconfiguration\u002Fpolicy","5.reference\u002F03.configuration\u002F03.policy",{"title":322,"path":323,"stem":324},"Library and chains","\u002Freference\u002Fconfiguration\u002Flibrary-and-chains","5.reference\u002F03.configuration\u002F04.library-and-chains",{"title":326,"path":327,"stem":328},"harnesses.yaml","\u002Freference\u002Fconfiguration\u002Fharnesses-file","5.reference\u002F03.configuration\u002F05.harnesses-file",{"title":330,"path":331,"stem":332},"access.yaml","\u002Freference\u002Fconfiguration\u002Faccess","5.reference\u002F03.configuration\u002F06.access",{"title":334,"path":335,"stem":336},"intake.yaml","\u002Freference\u002Fconfiguration\u002Fintake","5.reference\u002F03.configuration\u002F07.intake",{"title":338,"path":339,"stem":340},"notify.yaml","\u002Freference\u002Fconfiguration\u002Fnotify","5.reference\u002F03.configuration\u002F08.notify",{"title":342,"path":343,"stem":344},"theme.yaml","\u002Freference\u002Fconfiguration\u002Ftheme","5.reference\u002F03.configuration\u002F09.theme",{"title":346,"path":347,"stem":348,"children":349},"Sandboxed workers","\u002Freference\u002Fconfiguration\u002Fsandbox","5.reference\u002F03.configuration\u002F10.sandbox\u002Findex",[350,351,355,359,363,367,371,375],{"title":10,"path":347,"stem":348},{"title":352,"path":353,"stem":354},"Resource limits","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fresource-limits","5.reference\u002F03.configuration\u002F10.sandbox\u002F1.resource-limits",{"title":356,"path":357,"stem":358},"Callbacks from a sandbox","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fcallbacks","5.reference\u002F03.configuration\u002F10.sandbox\u002F2.callbacks",{"title":360,"path":361,"stem":362},"Network policy","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fnetwork-policy","5.reference\u002F03.configuration\u002F10.sandbox\u002F3.network-policy",{"title":364,"path":365,"stem":366},"Credentials","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fcredentials","5.reference\u002F03.configuration\u002F10.sandbox\u002F4.credentials",{"title":368,"path":369,"stem":370},"Kits","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fkits","5.reference\u002F03.configuration\u002F10.sandbox\u002F5.kits",{"title":372,"path":373,"stem":374},"sandbox.yaml","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fsandbox-yaml","5.reference\u002F03.configuration\u002F10.sandbox\u002F6.sandbox-yaml",{"title":376,"path":377,"stem":378},"Git in a sandbox","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fgit-in-a-sandbox","5.reference\u002F03.configuration\u002F10.sandbox\u002F7.git-in-a-sandbox",{"title":380,"path":381,"stem":382},"Environment variables","\u002Freference\u002Fconfiguration\u002Fenvironment-variables","5.reference\u002F03.configuration\u002F11.environment-variables",{"title":384,"path":385,"stem":386},"Add-ons and collections","\u002Freference\u002Fconfiguration\u002Faddons","5.reference\u002F03.configuration\u002F12.addons",{"title":388,"path":389,"stem":390},"Repo libraries","\u002Freference\u002Fconfiguration\u002Frepo-libraries","5.reference\u002F03.configuration\u002F13.repo-libraries",{"title":392,"path":393,"stem":394,"children":395},"Chain file keys","\u002Freference\u002Fchain-nodes","5.reference\u002F04.chain-nodes\u002Findex",[396,397,401,405],{"title":10,"path":393,"stem":394},{"title":398,"path":399,"stem":400},"Subprocess tasks","\u002Freference\u002Fchain-nodes\u002Fsubprocess-tasks","5.reference\u002F04.chain-nodes\u002F2.subprocess-tasks",{"title":402,"path":403,"stem":404},"Fix loop and judge","\u002Freference\u002Fchain-nodes\u002Ffix-loop","5.reference\u002F04.chain-nodes\u002F3.fix-loop",{"title":406,"path":407,"stem":408},"Result file","\u002Freference\u002Fchain-nodes\u002Fresult-file","5.reference\u002F04.chain-nodes\u002F4.result-file",{"title":410,"path":411,"stem":412,"children":413},"Agent harnesses","\u002Freference\u002Fharnesses","5.reference\u002F05.harnesses\u002Findex",[414,415,419,423,427,431],{"title":10,"path":411,"stem":412},{"title":416,"path":417,"stem":418},"Unattended runs","\u002Freference\u002Fharnesses\u002Funattended-runs","5.reference\u002F05.harnesses\u002F2.unattended-runs",{"title":420,"path":421,"stem":422},"Agent profiles","\u002Freference\u002Fharnesses\u002Fagent-profiles","5.reference\u002F05.harnesses\u002F3.agent-profiles",{"title":424,"path":425,"stem":426},"Harness definition files","\u002Freference\u002Fharnesses\u002Fharness-files","5.reference\u002F05.harnesses\u002F4.harness-files",{"title":428,"path":429,"stem":430},"Fallback and escalation","\u002Freference\u002Fharnesses\u002Ffallback-and-escalation","5.reference\u002F05.harnesses\u002F5.fallback-and-escalation",{"title":432,"path":433,"stem":434},"Cost reporting","\u002Freference\u002Fharnesses\u002Fcost-reporting","5.reference\u002F05.harnesses\u002F6.cost-reporting",{"title":436,"path":437,"stem":438},"Permission gate","\u002Freference\u002Fpermissions","5.reference\u002F06.permissions",{"title":440,"path":441,"stem":442},"Inbound triggers","\u002Freference\u002Ftriggers","5.reference\u002F07.triggers",{"title":444,"path":445,"stem":446,"children":447},"HTTP API","\u002Freference\u002Fhttp-api","5.reference\u002F08.http-api\u002Findex",[448,449,453,457,461,465,469,473],{"title":10,"path":445,"stem":446},{"title":450,"path":451,"stem":452},"Filing, reading and changing work items","\u002Freference\u002Fhttp-api\u002Fwork-items","5.reference\u002F08.http-api\u002F2.work-items",{"title":454,"path":455,"stem":456},"Gates, run control, ending and retry","\u002Freference\u002Fhttp-api\u002Fgates-run-control-and-ending","5.reference\u002F08.http-api\u002F3.gates-run-control-and-ending",{"title":458,"path":459,"stem":460},"The work item object","\u002Freference\u002Fhttp-api\u002Fwork-item-object","5.reference\u002F08.http-api\u002F4.work-item-object",{"title":462,"path":463,"stem":464},"Budget, events, diff and documents","\u002Freference\u002Fhttp-api\u002Fbudget-and-events","5.reference\u002F08.http-api\u002F5.budget-and-events",{"title":466,"path":467,"stem":468},"Repos, chains, harnesses and the server","\u002Freference\u002Fhttp-api\u002Frepos-chains-harnesses-and-server","5.reference\u002F08.http-api\u002F6.repos-chains-harnesses-and-server",{"title":470,"path":471,"stem":472},"Drafts","\u002Freference\u002Fhttp-api\u002Fdrafts","5.reference\u002F08.http-api\u002F7.drafts",{"title":474,"path":475,"stem":476},"Ops for each draft area","\u002Freference\u002Fhttp-api\u002Fdraft-ops","5.reference\u002F08.http-api\u002F8.draft-ops",{"title":478,"path":479,"stem":480},"MCP tools","\u002Freference\u002Fmcp-tools","5.reference\u002F09.mcp-tools",{"title":482,"path":483,"stem":484},"Events","\u002Freference\u002Fevents","5.reference\u002F10.events",{"title":486,"path":487,"stem":488,"children":489},"Security and project","\u002Fproject","6.project",[490,492,496,500,504,508,512,516],{"title":10,"path":487,"stem":491},"6.project\u002Findex",{"title":493,"path":494,"stem":495},"Security","\u002Fproject\u002Fsecurity","6.project\u002F1.security",{"title":497,"path":498,"stem":499},"Data and privacy","\u002Fproject\u002Fdata-and-privacy","6.project\u002F2.data-and-privacy",{"title":501,"path":502,"stem":503},"What's new in 2.0","\u002Fproject\u002Fwhats-new","6.project\u002F3.whats-new",{"title":505,"path":506,"stem":507},"Status and support","\u002Fproject\u002Fstatus-and-support","6.project\u002F4.status-and-support",{"title":509,"path":510,"stem":511},"Architecture","\u002Fproject\u002Farchitecture","6.project\u002F5.architecture",{"title":513,"path":514,"stem":515},"Source map","\u002Fproject\u002Fsource-map","6.project\u002F6.source-map",{"title":517,"path":518,"stem":519},"Contributing","\u002Fproject\u002Fcontributing","6.project\u002F7.contributing",{"id":521,"title":290,"body":522,"description":1678,"extension":1679,"links":1680,"meta":1681,"navigation":1682,"path":291,"seo":1683,"stem":292,"__hash__":1684},"docs\u002F5.reference\u002F02.statuses.md",{"type":523,"value":524,"toc":1665},"minimark",[525,535,540,543,550,570,744,748,751,1204,1219,1229,1246,1250,1282,1285,1441,1449,1455,1477,1480,1490,1501,1507,1527,1530,1534,1542,1563,1566,1629,1640,1644],[526,527,528,529,534],"p",{},"A ",[530,531,533],"a",{"href":532},"\u002Fconcepts\u002Fvocabulary#work-item","work item"," holds one of nine statuses, and the board shows a status of its own\ncomputed from it. This page lists both, and the moves between them.",[536,537,539],"h2",{"id":538},"statuses","Statuses",[526,541,542],{},"A work item always holds one of nine statuses. Seven are open and two are\nended. An ended item never runs again.",[526,544,545],{},[546,547],"img",{"alt":548,"src":549},"The work item status state machine: paused, queued, blocked, active, waiting, rate_limited, needs_human, completed and abandoned, with the commands and events that move between them","\u002Fdiagrams\u002Fstatus.svg",[526,551,552,553,557,558,561,562,565,566,569],{},"The diagram shows the usual paths. ",[554,555,556],"code",{},"complete"," and ",[554,559,560],{},"cancel"," can end an item\nfrom any open status, and ",[554,563,564],{},"abandon"," from any status but ",[554,567,568],{},"active",". The second\ntable below lists every move.",[571,572,573,589],"table",{},[574,575,576],"thead",{},[577,578,579,583,586],"tr",{},[580,581,582],"th",{},"Status",[580,584,585],{},"What it means",[580,587,588],{},"The board shows it under",[590,591,592,606,627,643,662,674,686,714,732],"tbody",{},[577,593,594,600,603],{},[595,596,597],"td",{},[554,598,599],{},"paused",[595,601,602],{},"Filed and not started, or stopped by a person. Nothing runs.",[595,604,605],{},"Not started if it never ran, else Needs you",[577,607,608,613,624],{},[595,609,610],{},[554,611,612],{},"queued",[595,614,615,616,619,620,623],{},"Asked to start while every ",[554,617,618],{},"max_concurrent"," slot was busy. Kraft starts it when one frees, earliest first. It holds no slot. It is also queued when worktrees are over ",[554,621,622],{},"storage.worktrees.limit"," and it has none yet.",[595,625,626],{},"Running",[577,628,629,634,640],{},[595,630,631],{},[554,632,633],{},"blocked",[595,635,636,637,639],{},"Started while a work item it comes after is unfinished. Kraft moves it to ",[554,638,612],{}," when they have all completed. It holds no slot.",[595,641,642],{},"Not started, or Running when it was resumed mid-chain",[577,644,645,649,660],{},[595,646,647],{},[554,648,568],{},[595,650,651,652,656,657,659],{},"Kraft is running a ",[530,653,655],{"href":654},"\u002Fconcepts\u002Fvocabulary#node","node",". It takes one of the ",[554,658,618],{}," slots.",[595,661,626],{},[577,663,664,669,672],{},[595,665,666],{},[554,667,668],{},"waiting",[595,670,671],{},"Parked on something outside Kraft: CI, an automated review, an approval, a merge landing. It holds no slot.",[595,673,626],{},[577,675,676,681,684],{},[595,677,678],{},[554,679,680],{},"rate_limited",[595,682,683],{},"The agent hit its provider's rate limit. Kraft starts it again when the limit resets, with no one paged.",[595,685,626],{},[577,687,688,693,706],{},[595,689,690],{},[554,691,692],{},"needs_human",[595,694,695,696,700,701,705],{},"Stopped at a ",[530,697,699],{"href":698},"\u002Fconcepts\u002Fvocabulary#gate","gate",", or stopped and waiting for you after a failure, a ",[530,702,704],{"href":703},"\u002Fconcepts\u002Fvocabulary#cap","cap",", or an agent's question.",[595,707,708,709,713],{},"Needs you, or Running while an ",[530,710,712],{"href":711},"\u002Fconcepts\u002Fvocabulary#escalation-turn","escalation turn"," works on it",[577,715,716,721,729],{},[595,717,718],{},[554,719,720],{},"completed",[595,722,723,724,728],{},"Ran to the end of its ",[530,725,727],{"href":726},"\u002Fconcepts\u002Fvocabulary#chain","chain",", or a person marked it complete.",[595,730,731],{},"Done",[577,733,734,739,742],{},[595,735,736],{},[554,737,738],{},"abandoned",[595,740,741],{},"A person cancelled or abandoned it.",[595,743,731],{},[536,745,747],{"id":746},"moves-between-statuses","Moves between statuses",[526,749,750],{},"Each row is one move and its cause.",[571,752,753,763],{},[574,754,755],{},[577,756,757,760],{},[580,758,759],{},"Move",[580,761,762],{},"Cause",[590,764,765,779,794,809,828,847,872,894,911,927,938,953,975,986,997,1008,1019,1030,1051,1064,1081,1095,1109,1120,1140,1151,1172,1189],{},[577,766,767,772],{},[595,768,769,770],{},"filed → ",[554,771,599],{},[595,773,774,775,778],{},"Every item, unless it was filed with ",[554,776,777],{},"--autostart",".",[577,780,781,785],{},[595,782,769,783],{},[554,784,612],{},[595,786,787,788,790,791,793],{},"An ",[554,789,777],{}," item when no ",[554,792,618],{}," slot is free.",[577,795,796,800],{},[595,797,769,798],{},[554,799,633],{},[595,801,787,802,804,805,808],{},[554,803,777],{}," item filed with ",[554,806,807],{},"--after"," while an item it comes after is unfinished.",[577,810,811,815],{},[595,812,769,813],{},[554,814,568],{},[595,816,817,819,820,824,825,827],{},[554,818,777],{},", or ",[530,821,823],{"href":822},"\u002Fconcepts\u002Fvocabulary#auto-intake","auto-intake",", when a ",[554,826,618],{}," slot is free. With none free, auto-intake files nothing.",[577,829,830,837],{},[595,831,832,834,835],{},[554,833,599],{}," → ",[554,836,568],{},[595,838,839,842,843,778],{},[554,840,841],{},"kraft item resume",", with an optional ",[530,844,846],{"href":845},"\u002Fconcepts\u002Fvocabulary#steer","steer",[577,848,849,858],{},[595,850,851,853,854,834,856],{},[554,852,599],{},", ",[554,855,692],{},[554,857,612],{},[595,859,860,853,862,865,866,869,870,793],{},[554,861,841],{},[554,863,864],{},"retry"," or ",[554,867,868],{},"raise-budget"," when no ",[554,871,618],{},[577,873,874,882],{},[595,875,876,853,878,834,880],{},[554,877,599],{},[554,879,692],{},[554,881,633],{},[595,883,884,853,886,865,888,890,891,778],{},[554,885,841],{},[554,887,864],{},[554,889,868],{}," on an item that comes after an unfinished one; or ",[554,892,893],{},"create --autostart --after",[577,895,896,902],{},[595,897,898,834,900],{},[554,899,633],{},[554,901,612],{},[595,903,904,905,819,907,910],{},"Every item it comes after is ",[554,906,720],{},[554,908,909],{},"kraft item unblock"," dropped the ones that were not.",[577,912,913,921],{},[595,914,915,834,917,853,919],{},[554,916,633],{},[554,918,599],{},[554,920,692],{},[595,922,923,926],{},[554,924,925],{},"kraft item pause","; or an item it comes after was abandoned, and its timeline says which.",[577,928,929,935],{},[595,930,931,834,933],{},[554,932,612],{},[554,934,568],{},[595,936,937],{},"A slot frees. Kraft makes the queued request again, with the steer it carried.",[577,939,940,948],{},[595,941,942,834,944,853,946],{},[554,943,612],{},[554,945,599],{},[554,947,692],{},[595,949,950,952],{},[554,951,925],{},", which takes it out of the queue and back to where it was; or the queued request is refused or fails when its slot comes, and the item's timeline says why.",[577,954,955,965],{},[595,956,957,853,959,853,961,834,963],{},[554,958,568],{},[554,960,668],{},[554,962,680],{},[554,964,599],{},[595,966,967,969,970,974],{},[554,968,925],{},", or Kraft itself when a linked bead is blocked, or when the ",[530,971,973],{"href":972},"\u002Fconcepts\u002Fvocabulary#base-branch","base branch"," it sits on turns red after another item's merge.",[577,976,977,983],{},[595,978,979,834,981],{},[554,980,568],{},[554,982,668],{},[595,984,985],{},"A task started an external wait.",[577,987,988,994],{},[595,989,990,834,992],{},[554,991,668],{},[554,993,568],{},[595,995,996],{},"The wait scheduler looks again when its next check is due.",[577,998,999,1005],{},[595,1000,1001,834,1003],{},[554,1002,568],{},[554,1004,680],{},[595,1006,1007],{},"An agent launch was rate limited and no fallback was left.",[577,1009,1010,1016],{},[595,1011,1012,834,1014],{},[554,1013,680],{},[554,1015,568],{},[595,1017,1018],{},"The limit's reset time passed.",[577,1020,1021,1027],{},[595,1022,1023,834,1025],{},[554,1024,568],{},[554,1026,692],{},[595,1028,1029],{},"A gate was reached.",[577,1031,1032,1038],{},[595,1033,1034,834,1036],{},[554,1035,568],{},[554,1037,692],{},[595,1039,1040,1041,1045,1046,1050],{},"A stop of any other kind: a task failed after recovery and the ",[530,1042,1044],{"href":1043},"\u002Fconcepts\u002Fvocabulary#fix-loop","fix loop",", a cap or a budget ran out, a wait timed out, a config error, or an agent asked a question. ",[530,1047,1049],{"href":1048},"\u002Freference\u002Fevents#stop-kinds","Stop kinds"," names each kind.",[577,1052,1053,1061],{},[595,1054,1055,853,1057,834,1059],{},[554,1056,668],{},[554,1058,680],{},[554,1060,692],{},[595,1062,1063],{},"A time cap ran out while the item was parked.",[577,1065,1066,1072],{},[595,1067,1068,834,1070],{},[554,1069,692],{},[554,1071,568],{},[595,1073,1074,865,1077,1080],{},[554,1075,1076],{},"kraft item approve",[554,1078,1079],{},"reject"," at a gate.",[577,1082,1083,1089],{},[595,1084,1085,834,1087],{},[554,1086,692],{},[554,1088,568],{},[595,1090,1091,1094],{},[554,1092,1093],{},"kraft item retry"," after a stop.",[577,1096,1097,1103],{},[595,1098,1099,834,1101],{},[554,1100,692],{},[554,1102,568],{},[595,1104,1105,1108],{},[554,1106,1107],{},"kraft item resume --steer",", to answer an agent's question.",[577,1110,1111,1117],{},[595,1112,1113,834,1115],{},[554,1114,692],{},[554,1116,568],{},[595,1118,1119],{},"An escalation turn that retries the item.",[577,1121,1122,1134],{},[595,1123,1124,853,1126,853,1128,853,1130,834,1132],{},[554,1125,568],{},[554,1127,668],{},[554,1129,599],{},[554,1131,692],{},[554,1133,568],{},[595,1135,1136,1139],{},[554,1137,1138],{},"kraft item skip",", which moves past the current node or gate.",[577,1141,1142,1148],{},[595,1143,1144,834,1146],{},[554,1145,568],{},[554,1147,720],{},[595,1149,1150],{},"The last node finished.",[577,1152,1153,1158],{},[595,1154,1155,1156],{},"any open status → ",[554,1157,720],{},[595,1159,1160,1163,1164,1168,1169,778],{},[554,1161,1162],{},"kraft item complete --reason",". It leaves the item's issues in ",[530,1165,1167],{"href":1166},"\u002Fconcepts\u002Fvocabulary#beads","beads"," open unless you add ",[554,1170,1171],{},"--close-beads",[577,1173,1174,1178],{},[595,1175,1155,1176],{},[554,1177,738],{},[595,1179,1180,1183,1184,1188],{},[554,1181,1182],{},"kraft item cancel --reason",". It keeps the ",[530,1185,1187],{"href":1186},"\u002Fconcepts\u002Fvocabulary#worktree","worktree"," until you archive.",[577,1190,1191,1198],{},[595,1192,1193,1194,834,1196],{},"any status but ",[554,1195,568],{},[554,1197,738],{},[595,1199,1200,1203],{},[554,1201,1202],{},"kraft item abandon",". It removes the worktree and branch at once, unpushed commits included, and a cancelled item's too. Pause an active item first.",[526,1205,528,1206,865,1208,1210,1211,1214,1215,1218],{},[554,1207,612],{},[554,1209,633],{}," item that anything else moves, such as a stop or a gate review's verdict, leaves the hold: the request it held is discarded, and its timeline shows ",[554,1212,1213],{},"work_item_dequeued"," with ",[554,1216,1217],{},"why: superseded",", the status it went to, and any steer the request carried.",[526,1220,1221,1222,1224,1225,1228],{},"A server that is stopped while it is starting a ",[554,1223,612],{}," item puts the item back in the queue, in the place it had, and the next server starts it. Its timeline shows ",[554,1226,1227],{},"work_item_queued"," a second time.",[526,1230,1231,1233,1234,1236,1237,1240,1241,1243,1244,778],{},[554,1232,1093],{}," is the only way back onto an item that a failure stopped,\nand it only works from ",[554,1235,692],{},". ",[554,1238,1239],{},"resume"," only works from ",[554,1242,599],{},", apart\nfrom answering a question. A reject that has already hit its gate's reject\nlimit leaves the item in ",[554,1245,692],{},[536,1247,1249],{"id":1248},"displayed-status","Displayed status",[526,1251,1252,1253,1256,1257,1260,1261,1264,1265,1271,1272,557,1275,1278,1279,1281],{},"The board's status badge is a separate value, ",[554,1254,1255],{},"display_status",". Kraft computes\nit each time it is read, from the stored status, the stop's kind (",[554,1258,1259],{},"stop_kind",",\none of the ",[554,1262,1263],{},"kind"," values in\n",[530,1266,1268],{"href":1267},"\u002Freference\u002Fevents#work_item_needs_human",[554,1269,1270],{},"work_item_needs_human","), whether a\ngate is pending, and whether an escalation turn has run since the item\nstopped. ",[554,1273,1274],{},"GET \u002Fapi\u002Fwork-items",[554,1276,1277],{},"GET \u002Fapi\u002Fwork-items\u002F{id}"," report it (see the\n",[530,1280,444],{"href":451},").",[526,1283,1284],{},"It is exactly one of eleven values. Kraft checks the rows top to bottom, and the\nfirst that matches decides:",[571,1286,1287,1298],{},[574,1288,1289],{},[577,1290,1291,1295],{},[580,1292,1293],{},[554,1294,1255],{},[580,1296,1297],{},"When",[590,1299,1300,1313,1324,1335,1350,1360,1370,1381,1394,1406,1418],{},[577,1301,1302,1307],{},[595,1303,1304],{},[554,1305,1306],{},"archived",[595,1308,1309,1312],{},[554,1310,1311],{},"archived_at"," is set, whatever the stored status",[577,1314,1315,1320],{},[595,1316,1317],{},[554,1318,1319],{},"done",[595,1321,1322],{},[554,1323,720],{},[577,1325,1326,1331],{},[595,1327,1328],{},[554,1329,1330],{},"cancelled",[595,1332,1333],{},[554,1334,738],{},[577,1336,1337,1341],{},[595,1338,1339],{},[554,1340,599],{},[595,1342,1343,1345,1346,1349],{},[554,1344,599],{},", including an item that has not started (",[554,1347,1348],{},"current_node_id"," is null)",[577,1351,1352,1356],{},[595,1353,1354],{},[554,1355,612],{},[595,1357,1358],{},[554,1359,612],{},[577,1361,1362,1366],{},[595,1363,1364],{},[554,1365,633],{},[595,1367,1368],{},[554,1369,633],{},[577,1371,1372,1377],{},[595,1373,1374],{},[554,1375,1376],{},"running",[595,1378,1379],{},[554,1380,568],{},[577,1382,1383,1387],{},[595,1384,1385],{},[554,1386,668],{},[595,1388,1389,865,1391,1393],{},[554,1390,668],{},[554,1392,680],{},": something outside Kraft will come back by itself",[577,1395,1396,1401],{},[595,1397,1398],{},[554,1399,1400],{},"needs_you",[595,1402,1403,1405],{},[554,1404,692],{}," with a gate pending, or a stop no rule below claims",[577,1407,1408,1413],{},[595,1409,1410],{},[554,1411,1412],{},"escalated",[595,1414,1415,1417],{},[554,1416,692],{},", no gate pending, and an escalation turn is working on this stop: one began since it did, and its session is still running",[577,1419,1420,1425],{},[595,1421,1422],{},[554,1423,1424],{},"failed",[595,1426,1427,1429,1430,1432,1433,853,1435,865,1438],{},[554,1428,692],{},", no gate pending, no escalation turn working, and ",[554,1431,1259],{}," is ",[554,1434,1424],{},[554,1436,1437],{},"config",[554,1439,1440],{},"infra",[526,1442,1443,1444,1446,1447,778],{},"A stop recorded before ",[554,1445,1259],{}," existed has no kind and shows ",[554,1448,1400],{},[526,1450,528,1451,1454],{},[554,1452,1453],{},"stuck"," stop that automatic escalation will pick up changes its displayed\nstatus three times:",[1456,1457,1458,1464,1469],"ol",{},[1459,1460,1461,1463],"li",{},[554,1462,1400],{}," while the countdown to the escalation runs.",[1459,1465,1466,1468],{},[554,1467,1412],{}," while the escalation turn's session runs.",[1459,1470,1471,1472,865,1474,1476],{},"The stop's own status (",[554,1473,1424],{},[554,1475,1400],{},") once that session exits.",[526,1478,1479],{},"The item is then yours to retry.",[1481,1482,1484,1485,1487,1488],"h3",{"id":1483},"why-infra-shows-as-failed","Why ",[554,1486,1440],{}," shows as ",[554,1489,1424],{},[526,1491,787,1492,1494,1495,1497,1498,1500],{},[554,1493,1440],{}," stop shows as ",[554,1496,1424],{}," and not ",[554,1499,1400],{}," because nothing will\nchange it on its own: no handler applies, and no timer or escalation will make\na different answer come back.",[526,1502,1503,1504,1506],{},"These are all ",[554,1505,1440],{}," stops:",[1508,1509,1510,1513,1516,1519],"ul",{},[1459,1511,1512],{},"A server restart that lost a session.",[1459,1514,1515],{},"A worktree refresh that git refused.",[1459,1517,1518],{},"CI infrastructure that ran out of retries.",[1459,1520,1521,1522,1526],{},"In a node with a fix loop, a ",[530,1523,1525],{"href":1524},"\u002Fconcepts\u002Fvocabulary#forge","forge"," task that failed because the forge refused\nthe credentials or could not be reached.",[526,1528,1529],{},"The way out is to fix the cause and retry.",[536,1531,1533],{"id":1532},"mr-closed-externally","MR closed externally",[526,1535,1536,1537,865,1539,1541],{},"An item parked ",[554,1538,668],{},[554,1540,692],{}," at a merge-request node can have its\nmerge request closed on the forge by someone, or something, other than Kraft:\nclosed, not merged.",[526,1543,1544,1545,1548,1549,1552,1553,1556,1557,1560,1561,778],{},"A poller checks every such item against the forge on a fixed interval\n(",[554,1546,1547],{},"policy.forge_poll_s",", default ",[554,1550,1551],{},"300"," seconds). When it finds the merge request\nclosed, it stops the item with ",[554,1554,1555],{},"stop.kind: \"mr_closed\""," and\n",[554,1558,1559],{},"facts: {ref, url}"," naming it. The item's displayed status is then ",[554,1562,1400],{},[526,1564,1565],{},"There are three ways out, and no fourth.",[571,1567,1568,1581],{},[574,1569,1570],{},[577,1571,1572,1575,1578],{},[580,1573,1574],{},"Way out",[580,1576,1577],{},"On the item's page",[580,1579,1580],{},"What it does",[590,1582,1583,1602,1616],{},[577,1584,1585,1588,1595],{},[595,1586,1587],{},"Reopen the same merge request",[595,1589,1590,1594],{},[1591,1592,1593],"strong",{},"Reopen !N"," (N is the merge request's number)",[595,1596,1597,1598,1601],{},"Reopens it on the forge and retries the stopped node, as a retry with no ",[554,1599,1600],{},"path"," would.",[577,1603,1604,1607,1613],{},[595,1605,1606],{},"Retry from the merge request node",[595,1608,1609,1612],{},[1591,1610,1611],{},"Open a new MR",", when the item had opened one",[595,1614,1615],{},"Opens a fresh merge request instead of reusing the closed one.",[577,1617,1618,1621,1626],{},[595,1619,1620],{},"Cancel the item",[595,1622,1623],{},[1591,1624,1625],{},"Cancel item…",[595,1627,1628],{},"Leaves the closed merge request and the worktree as they are.",[526,1630,1631,1632,1635,1636,1639],{},"The buttons are on the item's state card, which the board's side panel shows too. The header's main action reads ",[1591,1633,1634],{},"Reopen MR"," and does the first. ",[530,1637,454],{"href":1638},"\u002Freference\u002Fhttp-api\u002Fgates-run-control-and-ending#post-apiwork-itemsidreopen-mr"," gives the route behind each.",[536,1641,1643],{"id":1642},"related","Related",[1508,1645,1646,1651,1656],{},[1459,1647,1648,1650],{},[530,1649,36],{"href":37},": the lifecycle these statuses belong to.",[1459,1652,1653,1655],{},[530,1654,199],{"href":200},": the reason for each stop, and its fix.",[1459,1657,1658,1660,1661,1664],{},[530,1659,482],{"href":483},": the ",[554,1662,1663],{},"stop.kind"," values and every event that moves an item.",{"title":1666,"searchDepth":1667,"depth":1667,"links":1668},"",2,[1669,1670,1671,1676,1677],{"id":538,"depth":1667,"text":539},{"id":746,"depth":1667,"text":747},{"id":1248,"depth":1667,"text":1249,"children":1672},[1673],{"id":1483,"depth":1674,"text":1675},3,"Why infra shows as failed",{"id":1532,"depth":1667,"text":1533},{"id":1642,"depth":1667,"text":1643},"The nine statuses a work item can hold, what moves it between them, and the status the board shows for each.","md",null,{},true,{"title":290,"description":1678},"bLTRAeOLdB_fKo11EvIHbG7dk_oxsIG9xTzu4IleW2I",[1686,1688],{"title":286,"path":287,"stem":288,"description":1687,"children":-1},"The kraft admin verbs: start, stop, check, update, and configure this machine's server.",{"title":10,"path":295,"stem":296,"description":1689,"children":-1},"Which file in Kraft's config directory controls what, and how Kraft creates, edits, validates and rereads the directory.",1791801168359]