[{"data":1,"prerenderedAt":1469},["ShallowReactive",2],{"navigation_docs":3,"-reference-statuses":504,"-reference-statuses-surround":1464},[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":282,"body":506,"description":1457,"extension":1458,"links":1459,"meta":1460,"navigation":1461,"path":283,"seo":1462,"stem":284,"__hash__":1463},"docs\u002F5.reference\u002F02.statuses.md",{"type":507,"value":508,"toc":1444},"minimark",[509,519,524,527,534,554,693,697,700,1027,1044,1048,1080,1083,1219,1227,1233,1255,1258,1268,1280,1286,1306,1309,1313,1321,1342,1345,1408,1419,1423],[510,511,512,513,518],"p",{},"A ",[514,515,517],"a",{"href":516},"\u002Fconcepts\u002Fvocabulary#work-item","work item"," holds one of seven statuses, and the board shows a status of its own\ncomputed from it. This page lists both, and the moves between them.",[520,521,523],"h2",{"id":522},"statuses","Statuses",[510,525,526],{},"A work item always holds one of seven statuses. Five are open and two are\nended. An ended item never runs again.",[510,528,529],{},[530,531],"img",{"alt":532,"src":533},"The work item status state machine: paused, active, waiting, rate_limited, needs_human, completed and abandoned, with the commands and events that move between them","\u002Fdiagrams\u002Fstatus.svg",[510,535,536,537,541,542,545,546,549,550,553],{},"The diagram shows the usual paths. ",[538,539,540],"code",{},"complete"," and ",[538,543,544],{},"cancel"," can end an item\nfrom any open status, and ",[538,547,548],{},"abandon"," from any status but ",[538,551,552],{},"active",". The second\ntable below lists every move.",[555,556,557,573],"table",{},[558,559,560],"thead",{},[561,562,563,567,570],"tr",{},[564,565,566],"th",{},"Status",[564,568,569],{},"What it means",[564,571,572],{},"The board shows it under",[574,575,576,590,611,623,635,663,681],"tbody",{},[561,577,578,584,587],{},[579,580,581],"td",{},[538,582,583],{},"paused",[579,585,586],{},"Filed and not started, or stopped by a person. Nothing runs.",[579,588,589],{},"Not started if it never ran, else Needs you",[561,591,592,596,608],{},[579,593,594],{},[538,595,552],{},[579,597,598,599,603,604,607],{},"Kraft is running a ",[514,600,602],{"href":601},"\u002Fconcepts\u002Fvocabulary#node","node",". It takes one of the ",[538,605,606],{},"max_concurrent"," slots.",[579,609,610],{},"Running",[561,612,613,618,621],{},[579,614,615],{},[538,616,617],{},"waiting",[579,619,620],{},"Parked on something outside Kraft: CI, an automated review, an approval, a merge landing. It holds no slot.",[579,622,610],{},[561,624,625,630,633],{},[579,626,627],{},[538,628,629],{},"rate_limited",[579,631,632],{},"The agent hit its provider's rate limit. Kraft starts it again when the limit resets, with no one paged.",[579,634,610],{},[561,636,637,642,655],{},[579,638,639],{},[538,640,641],{},"needs_human",[579,643,644,645,649,650,654],{},"Stopped at a ",[514,646,648],{"href":647},"\u002Fconcepts\u002Fvocabulary#gate","gate",", or stopped and waiting for you after a failure, a ",[514,651,653],{"href":652},"\u002Fconcepts\u002Fvocabulary#cap","cap",", or an agent's question.",[579,656,657,658,662],{},"Needs you, or Running while an ",[514,659,661],{"href":660},"\u002Fconcepts\u002Fvocabulary#escalation-turn","escalation turn"," works on it",[561,664,665,670,678],{},[579,666,667],{},[538,668,669],{},"completed",[579,671,672,673,677],{},"Ran to the end of its ",[514,674,676],{"href":675},"\u002Fconcepts\u002Fvocabulary#chain","chain",", or a person marked it complete.",[579,679,680],{},"Done",[561,682,683,688,691],{},[579,684,685],{},[538,686,687],{},"abandoned",[579,689,690],{},"A person cancelled or abandoned it.",[579,692,680],{},[520,694,696],{"id":695},"moves-between-statuses","Moves between statuses",[510,698,699],{},"Each row is one move and its cause.",[555,701,702,712],{},[558,703,704],{},[561,705,706,709],{},[564,707,708],{},"Move",[564,710,711],{},"Cause",[574,713,714,734,753,773,797,808,819,830,841,852,873,886,904,918,932,943,963,974,995,1012],{},[561,715,716,721],{},[579,717,718,719],{},"filed → ",[538,720,583],{},[579,722,723,724,727,728,730,731,733],{},"Every item, unless it was filed with ",[538,725,726],{},"--autostart",", and an ",[538,729,726],{}," item when no ",[538,732,606],{}," slot is free.",[561,735,736,740],{},[579,737,718,738],{},[538,739,552],{},[579,741,742,744,745,749,750,752],{},[538,743,726],{},", or ",[514,746,748],{"href":747},"\u002Fconcepts\u002Fvocabulary#auto-intake","auto-intake",", when a ",[538,751,606],{}," slot is free. With none free, auto-intake files nothing.",[561,754,755,762],{},[579,756,757,759,760],{},[538,758,583],{}," → ",[538,761,552],{},[579,763,764,767,768,772],{},[538,765,766],{},"kraft item resume",", with an optional ",[514,769,771],{"href":770},"\u002Fconcepts\u002Fvocabulary#steer","steer",".",[561,774,775,786],{},[579,776,777,779,780,779,782,759,784],{},[538,778,552],{},", ",[538,781,617],{},[538,783,629],{},[538,785,583],{},[579,787,788,791,792,796],{},[538,789,790],{},"kraft item pause",", or Kraft itself when a linked bead is blocked, or when the ",[514,793,795],{"href":794},"\u002Fconcepts\u002Fvocabulary#base-branch","base branch"," it sits on turns red after another item's merge.",[561,798,799,805],{},[579,800,801,759,803],{},[538,802,552],{},[538,804,617],{},[579,806,807],{},"A task started an external wait.",[561,809,810,816],{},[579,811,812,759,814],{},[538,813,617],{},[538,815,552],{},[579,817,818],{},"The wait scheduler looks again when its next check is due.",[561,820,821,827],{},[579,822,823,759,825],{},[538,824,552],{},[538,826,629],{},[579,828,829],{},"An agent launch was rate limited and no fallback was left.",[561,831,832,838],{},[579,833,834,759,836],{},[538,835,629],{},[538,837,552],{},[579,839,840],{},"The limit's reset time passed.",[561,842,843,849],{},[579,844,845,759,847],{},[538,846,552],{},[538,848,641],{},[579,850,851],{},"A gate was reached.",[561,853,854,860],{},[579,855,856,759,858],{},[538,857,552],{},[538,859,641],{},[579,861,862,863,867,868,872],{},"A stop of any other kind: a task failed after recovery and the ",[514,864,866],{"href":865},"\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. ",[514,869,871],{"href":870},"\u002Freference\u002Fevents#stop-kinds","Stop kinds"," names each kind.",[561,874,875,883],{},[579,876,877,779,879,759,881],{},[538,878,617],{},[538,880,629],{},[538,882,641],{},[579,884,885],{},"A time cap ran out while the item was parked.",[561,887,888,894],{},[579,889,890,759,892],{},[538,891,641],{},[538,893,552],{},[579,895,896,899,900,903],{},[538,897,898],{},"kraft item approve"," or ",[538,901,902],{},"reject"," at a gate.",[561,905,906,912],{},[579,907,908,759,910],{},[538,909,641],{},[538,911,552],{},[579,913,914,917],{},[538,915,916],{},"kraft item retry"," after a stop.",[561,919,920,926],{},[579,921,922,759,924],{},[538,923,641],{},[538,925,552],{},[579,927,928,931],{},[538,929,930],{},"kraft item resume --steer",", to answer an agent's question.",[561,933,934,940],{},[579,935,936,759,938],{},[538,937,641],{},[538,939,552],{},[579,941,942],{},"An escalation turn that retries the item.",[561,944,945,957],{},[579,946,947,779,949,779,951,779,953,759,955],{},[538,948,552],{},[538,950,617],{},[538,952,583],{},[538,954,641],{},[538,956,552],{},[579,958,959,962],{},[538,960,961],{},"kraft item skip",", which moves past the current node or gate.",[561,964,965,971],{},[579,966,967,759,969],{},[538,968,552],{},[538,970,669],{},[579,972,973],{},"The last node finished.",[561,975,976,981],{},[579,977,978,979],{},"any open status → ",[538,980,669],{},[579,982,983,986,987,991,992,772],{},[538,984,985],{},"kraft item complete --reason",". It leaves the item's issues in ",[514,988,990],{"href":989},"\u002Fconcepts\u002Fvocabulary#beads","beads"," open unless you add ",[538,993,994],{},"--close-beads",[561,996,997,1001],{},[579,998,978,999],{},[538,1000,687],{},[579,1002,1003,1006,1007,1011],{},[538,1004,1005],{},"kraft item cancel --reason",". It keeps the ",[514,1008,1010],{"href":1009},"\u002Fconcepts\u002Fvocabulary#worktree","worktree"," until you archive.",[561,1013,1014,1021],{},[579,1015,1016,1017,759,1019],{},"any status but ",[538,1018,552],{},[538,1020,687],{},[579,1022,1023,1026],{},[538,1024,1025],{},"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.",[510,1028,1029,1031,1032,1034,1035,1038,1039,1041,1042,772],{},[538,1030,916],{}," is the only way back onto an item that a failure stopped,\nand it only works from ",[538,1033,641],{},". ",[538,1036,1037],{},"resume"," only works from ",[538,1040,583],{},", apart\nfrom answering a question. A reject that has already hit its gate's reject\nlimit leaves the item in ",[538,1043,641],{},[520,1045,1047],{"id":1046},"displayed-status","Displayed status",[510,1049,1050,1051,1054,1055,1058,1059,1062,1063,1069,1070,541,1073,1076,1077,1079],{},"The board's status badge is a separate value, ",[538,1052,1053],{},"display_status",". Kraft computes\nit each time it is read, from the stored status, the stop's kind (",[538,1056,1057],{},"stop_kind",",\none of the ",[538,1060,1061],{},"kind"," values in\n",[514,1064,1066],{"href":1065},"\u002Freference\u002Fevents#work_item_needs_human",[538,1067,1068],{},"work_item_needs_human","), whether a\ngate is pending, and whether an escalation turn has run since the item\nstopped. ",[538,1071,1072],{},"GET \u002Fapi\u002Fwork-items",[538,1074,1075],{},"GET \u002Fapi\u002Fwork-items\u002F{id}"," report it (see the\n",[514,1078,428],{"href":435},").",[510,1081,1082],{},"It is exactly one of nine values. Kraft checks the rows top to bottom, and the\nfirst that matches decides:",[555,1084,1085,1096],{},[558,1086,1087],{},[561,1088,1089,1093],{},[564,1090,1091],{},[538,1092,1053],{},[564,1094,1095],{},"When",[574,1097,1098,1111,1122,1133,1148,1159,1172,1184,1196],{},[561,1099,1100,1105],{},[579,1101,1102],{},[538,1103,1104],{},"archived",[579,1106,1107,1110],{},[538,1108,1109],{},"archived_at"," is set, whatever the stored status",[561,1112,1113,1118],{},[579,1114,1115],{},[538,1116,1117],{},"done",[579,1119,1120],{},[538,1121,669],{},[561,1123,1124,1129],{},[579,1125,1126],{},[538,1127,1128],{},"cancelled",[579,1130,1131],{},[538,1132,687],{},[561,1134,1135,1139],{},[579,1136,1137],{},[538,1138,583],{},[579,1140,1141,1143,1144,1147],{},[538,1142,583],{},", including an item that has not started (",[538,1145,1146],{},"current_node_id"," is null)",[561,1149,1150,1155],{},[579,1151,1152],{},[538,1153,1154],{},"running",[579,1156,1157],{},[538,1158,552],{},[561,1160,1161,1165],{},[579,1162,1163],{},[538,1164,617],{},[579,1166,1167,899,1169,1171],{},[538,1168,617],{},[538,1170,629],{},": something outside Kraft will come back by itself",[561,1173,1174,1179],{},[579,1175,1176],{},[538,1177,1178],{},"needs_you",[579,1180,1181,1183],{},[538,1182,641],{}," with a gate pending, or a stop no rule below claims",[561,1185,1186,1191],{},[579,1187,1188],{},[538,1189,1190],{},"escalated",[579,1192,1193,1195],{},[538,1194,641],{},", no gate pending, and an escalation turn is working on this stop: one began since it did, and its session is still running",[561,1197,1198,1203],{},[579,1199,1200],{},[538,1201,1202],{},"failed",[579,1204,1205,1207,1208,1210,1211,779,1213,899,1216],{},[538,1206,641],{},", no gate pending, no escalation turn working, and ",[538,1209,1057],{}," is ",[538,1212,1202],{},[538,1214,1215],{},"config",[538,1217,1218],{},"infra",[510,1220,1221,1222,1224,1225,772],{},"A stop recorded before ",[538,1223,1057],{}," existed has no kind and shows ",[538,1226,1178],{},[510,1228,512,1229,1232],{},[538,1230,1231],{},"stuck"," stop that automatic escalation will pick up changes its displayed\nstatus three times:",[1234,1235,1236,1242,1247],"ol",{},[1237,1238,1239,1241],"li",{},[538,1240,1178],{}," while the countdown to the escalation runs.",[1237,1243,1244,1246],{},[538,1245,1190],{}," while the escalation turn's session runs.",[1237,1248,1249,1250,899,1252,1254],{},"The stop's own status (",[538,1251,1202],{},[538,1253,1178],{},") once that session exits.",[510,1256,1257],{},"The item is then yours to retry.",[1259,1260,1262,1263,1265,1266],"h3",{"id":1261},"why-infra-shows-as-failed","Why ",[538,1264,1218],{}," shows as ",[538,1267,1202],{},[510,1269,1270,1271,1273,1274,1276,1277,1279],{},"An ",[538,1272,1218],{}," stop shows as ",[538,1275,1202],{}," and not ",[538,1278,1178],{}," because nothing will\nchange it on its own: no handler applies, and no timer or escalation will make\na different answer come back.",[510,1281,1282,1283,1285],{},"These are all ",[538,1284,1218],{}," stops:",[1287,1288,1289,1292,1295,1298],"ul",{},[1237,1290,1291],{},"A server restart that lost a session.",[1237,1293,1294],{},"A worktree refresh that git refused.",[1237,1296,1297],{},"CI infrastructure that ran out of retries.",[1237,1299,1300,1301,1305],{},"In a node with a fix loop, a ",[514,1302,1304],{"href":1303},"\u002Fconcepts\u002Fvocabulary#forge","forge"," task that failed because the forge refused\nthe credentials or could not be reached.",[510,1307,1308],{},"The way out is to fix the cause and retry.",[520,1310,1312],{"id":1311},"mr-closed-externally","MR closed externally",[510,1314,1315,1316,899,1318,1320],{},"An item parked ",[538,1317,617],{},[538,1319,641],{}," at a merge-request node can have its\nmerge request closed on the forge by someone, or something, other than Kraft:\nclosed, not merged.",[510,1322,1323,1324,1327,1328,1331,1332,1335,1336,1339,1340,772],{},"A poller checks every such item against the forge on a fixed interval\n(",[538,1325,1326],{},"policy.forge_poll_s",", default ",[538,1329,1330],{},"300"," seconds). When it finds the merge request\nclosed, it stops the item with ",[538,1333,1334],{},"stop.kind: \"mr_closed\""," and\n",[538,1337,1338],{},"facts: {ref, url}"," naming it. The item's displayed status is then ",[538,1341,1178],{},[510,1343,1344],{},"There are three ways out, and no fourth.",[555,1346,1347,1360],{},[558,1348,1349],{},[561,1350,1351,1354,1357],{},[564,1352,1353],{},"Way out",[564,1355,1356],{},"On the item's page",[564,1358,1359],{},"What it does",[574,1361,1362,1381,1395],{},[561,1363,1364,1367,1374],{},[579,1365,1366],{},"Reopen the same merge request",[579,1368,1369,1373],{},[1370,1371,1372],"strong",{},"Reopen !N"," (N is the merge request's number)",[579,1375,1376,1377,1380],{},"Reopens it on the forge and retries the stopped node, as a retry with no ",[538,1378,1379],{},"path"," would.",[561,1382,1383,1386,1392],{},[579,1384,1385],{},"Retry from the merge request node",[579,1387,1388,1391],{},[1370,1389,1390],{},"Open a new MR",", when the item had opened one",[579,1393,1394],{},"Opens a fresh merge request instead of reusing the closed one.",[561,1396,1397,1400,1405],{},[579,1398,1399],{},"Cancel the item",[579,1401,1402],{},[1370,1403,1404],{},"Cancel item…",[579,1406,1407],{},"Leaves the closed merge request and the worktree as they are.",[510,1409,1410,1411,1414,1415,1418],{},"The buttons are on the item's state card, which the board's side panel shows too. The header's main action reads ",[1370,1412,1413],{},"Reopen MR"," and does the first. ",[514,1416,438],{"href":1417},"\u002Freference\u002Fhttp-api\u002Fgates-run-control-and-ending#post-apiwork-itemsidreopen-mr"," gives the route behind each.",[520,1420,1422],{"id":1421},"related","Related",[1287,1424,1425,1430,1435],{},[1237,1426,1427,1429],{},[514,1428,36],{"href":37},": the lifecycle these statuses belong to.",[1237,1431,1432,1434],{},[514,1433,195],{"href":196},": the reason for each stop, and its fix.",[1237,1436,1437,1439,1440,1443],{},[514,1438,466],{"href":467},": the ",[538,1441,1442],{},"stop.kind"," values and every event that moves an item.",{"title":1445,"searchDepth":1446,"depth":1446,"links":1447},"",2,[1448,1449,1450,1455,1456],{"id":522,"depth":1446,"text":523},{"id":695,"depth":1446,"text":696},{"id":1046,"depth":1446,"text":1047,"children":1451},[1452],{"id":1261,"depth":1453,"text":1454},3,"Why infra shows as failed",{"id":1311,"depth":1446,"text":1312},{"id":1421,"depth":1446,"text":1422},"The seven statuses a work item can hold, what moves it between them, and the status the board shows for each.","md",null,{},true,{"title":282,"description":1457},"RMf0WWL4RHHHwzIXdWzxHEUY1p94HRwduzDebitIuzY",[1465,1467],{"title":278,"path":279,"stem":280,"description":1466,"children":-1},"The kraft admin verbs: start, stop, check, update, and configure this machine's server.",{"title":10,"path":287,"stem":288,"description":1468,"children":-1},"Which file in Kraft's config directory controls what, and how Kraft creates, edits, validates and rereads the directory.",1791801249655]