[{"data":1,"prerenderedAt":1081},["ShallowReactive",2],{"navigation_docs":3,"-guides-day-to-day-kraft-on-a-phone":520,"-guides-day-to-day-kraft-on-a-phone-surround":1076},[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":88,"body":522,"description":1069,"extension":1070,"links":1071,"meta":1072,"navigation":1073,"path":89,"seo":1074,"stem":90,"__hash__":1075},"docs\u002F3.guides\u002F1.day-to-day\u002F8.kraft-on-a-phone.md",{"type":523,"value":524,"toc":1058},"minimark",[525,529,534,541,545,553,556,602,617,621,657,660,693,703,710,714,717,789,812,816,819,980,1013,1017,1032,1036],[526,527,528],"p",{},"Open Kraft's board on a phone and act on what needs you from it: the layout switches on a screen narrower than 768 pixels, at the same address as the desktop, and each card and each stopped item offers its own buttons.",[530,531,533],"h2",{"id":532},"before-you-start","Before you start",[526,535,536,537,540],{},"Your phone must be able to reach the server. See ",[538,539,144],"a",{"href":145}," for how, and for signing in. The phone signs in the same way as the desktop.",[530,542,544],{"id":543},"the-layout","The layout",[526,546,547],{},[548,549],"img",{"alt":550,"src":551,"width":552},"The board at a 390px phone viewport, with bottom tab navigation","\u002Fassets\u002Fmobile.png",300,[526,554,555],{},"The layout switches on its own when the window is narrower than 768 pixels, with\nno setting to turn on. It is the same app at the same address, so a link copied\non one opens on the other. Widening the window brings the desktop layout back on\nthe same page.",[557,558,559,581,594],"ul",{},[560,561,562,563,567,568,567,571,576,577,580],"li",{},"A bar at the bottom holds ",[564,565,566],"strong",{},"Board",", ",[564,569,570],{},"Search",[538,572,574],{"href":573},"\u002Freference\u002Fweb-ui\u002Fanalytics#on-a-phone",[564,575,264],{}," and ",[564,578,579],{},"More",".",[560,582,583,585,586,589,590,593],{},[564,584,579],{}," lists everything else: Chains, Library, Repos and Harnesses, then\nPolicy, Auto-intake, Notifications, Access, Appearance and About, then\nAnalytics and ",[564,587,588],{},"Archived",". An archived item opens from there, and ",[564,591,592],{},"Restore","\non the item puts it back on the board.",[560,595,596,597,601],{},"The phone has no first-run wizard. With no repo connected, the board says\n\"No repository is connected\": connect one from a computer, or run\n",[598,599,600],"code",{},"kraft repo connect"," in the repo on the machine Kraft runs on.",[526,603,604,605,607,608,567,612,616],{},"A phone screen the desktop has no page for lands on the nearest desktop page,\nwhen the window widens or a link sent from a phone opens on a laptop. ",[564,606,579],{},"\nlands on the board. One ",[538,609,611],{"href":610},"\u002Fconcepts\u002Fvocabulary#harness","harness",[538,613,615],{"href":614},"\u002Fconcepts\u002Fvocabulary#agent-profile","agent profile",",\nschedule or notification channel lands on its list, with the harness or agent\nprofile selected.",[530,618,620],{"id":619},"the-board-on-a-phone","The board on a phone",[526,622,623,624,567,627,567,630,567,633,636,637,640,641,644,645,649,650,653,654,656],{},"The board filters by ",[564,625,626],{},"All",[564,628,629],{},"Needs you",[564,631,632],{},"Running",[564,634,635],{},"Not started"," and\n",[564,638,639],{},"Done",", the desktop board's groups. The ",[564,642,643],{},"+"," button files a new ",[538,646,648],{"href":647},"\u002Fconcepts\u002Fvocabulary#work-item","work item","\n(",[564,651,652],{},"New work item","), as ",[538,655,68],{"href":69},"\ndescribes.",[526,658,659],{},"A card that needs you carries its own buttons:",[557,661,662,671,677,683],{},[560,663,664,576,667,670],{},[564,665,666],{},"Approve",[564,668,669],{},"Reject…"," for a gate;",[560,672,673,676],{},[564,674,675],{},"Answer…"," for a question;",[560,678,679,682],{},[564,680,681],{},"Retry…"," for a failed item;",[560,684,685,688,689,692],{},[564,686,687],{},"Raise cap"," for a cap and ",[564,690,691],{},"Raise budget"," for a dollar cap. Those two open\nthe item with its raise sheet over it, or on its card, which says why, when\nthe item can't raise it.",[526,694,695,696,698,699,702],{},"Tap the card for the item. ",[564,697,666],{}," asks first, naming the node the item\nmoves on to, since a passed gate is not taken back. ",[564,700,701],{},"Open the review"," there\nreads the gate's document instead.",[526,704,705,706,709],{},"After ",[598,707,708],{},"kraft admin update"," installs a release under a running server, the board\nsays so in a line under its filters, as the desktop's sidebar does. Restart to\nfinish the update. For an older release installed over a newer one, read About\nfirst.",[530,711,713],{"id":712},"an-item-on-a-phone","An item on a phone",[526,715,716],{},"An item opens as its chain, node by node. Tap a node for its tasks, a task for\nits log.",[557,718,719,729,737,740,743,750,756,762,769,774],{},[560,720,721,722,636,725,728],{},"A node whose fix loop has gone past its first round shows a chip for each\nround. Tap one to see that round's tasks, and the loop's ",[564,723,724],{},"repair",[564,726,727],{},"judge"," for it. Each opens like any other task.",[560,730,731,732,736],{},"A node the chain ran again, after a gate rejection, a retry or a base change,\nshows a chip for each ",[538,733,735],{"href":734},"\u002Fconcepts\u002Fvocabulary#pass","pass"," above the rounds. Tap\none for that pass's rounds, tasks and logs. A task or scope opened from it\nsays which pass it is.",[560,738,739],{},"A task that ran more than once in a round offers its attempts. A test task\nthat picks scopes lists them instead, each with its command. When the item\nspans several repositories, each scope is under its repository's name.",[560,741,742],{},"Tap a scope for its command, the paths that select it, how the other rounds\ntreated it and, once it has run, its log.",[560,744,745,746,749],{},"A test task reads ",[564,747,748],{},"failed"," when one of its scopes failed, even if a later\none passed.",[560,751,752,755],{},[564,753,754],{},"Review and decide"," opens the gate's document and diff.",[560,757,758,759,580],{},"Comments you added there and have not sent are counted as pending, beside the\ndocument's name too, and each is marked ",[564,760,761],{},"pending",[560,763,764,765,768],{},"A thread names its lines as the desktop does (",[598,766,767],{},"lines −2 to +6",") and quotes\nthem. A thread on the whole change is listed above the files.",[560,770,771,773],{},[564,772,666],{}," asks before it sends pending comments with the approval.",[560,775,776,777,780,781,784,785,788],{},"An item that has not started offers ",[564,778,779],{},"Start",". When its draft holds changes\nStart would not apply, Start lists them and asks first: ",[564,782,783],{},"Apply and start",",\nor ",[564,786,787],{},"Start without them",". A spec or plan attached when it was filed is listed\nunder its title; tap one to read it.",[526,790,791,792,795,796,576,799,802,803,576,806,808,809,811],{},"A node's bar offers ",[564,793,794],{},"Retry node"," only once the item has stopped. On a paused\nitem it offers ",[564,797,798],{},"Skip node",[564,800,801],{},"Resume",". A node waiting on CI offers\n",[564,804,805],{},"Pause",[564,807,798],{},". A rate-limited node offers only ",[564,810,805],{},", so\npause it first to skip it.",[530,813,815],{"id":814},"the-bar-on-a-stopped-item","The bar on a stopped item",[526,817,818],{},"A stopped item has an action bar at the bottom with one or two buttons, chosen\nby why it stopped:",[820,821,822,835],"table",{},[823,824,825],"thead",{},[826,827,828,832],"tr",{},[829,830,831],"th",{},"Why it stopped",[829,833,834],{},"The bar offers",[836,837,838,850,863,875,888,900,912,923,939,949,959,968],"tbody",{},[826,839,840,844],{},[841,842,843],"td",{},"At a gate",[841,845,846,576,848],{},[564,847,669],{},[564,849,754],{},[826,851,852,855],{},[841,853,854],{},"A failure, or most other stops",[841,856,857,576,860],{},[564,858,859],{},"Escalate",[564,861,862],{},"Retry",[826,864,865,868],{},[841,866,867],{},"A question",[841,869,870,576,872],{},[564,871,859],{},[564,873,874],{},"Answer",[826,876,877,880],{},[841,878,879],{},"A merge conflict",[841,881,882,576,885],{},[564,883,884],{},"Cancel…",[564,886,887],{},"Review the conflicts",[826,889,890,893],{},[841,891,892],{},"A closed merge request",[841,894,895,576,897],{},[564,896,884],{},[564,898,899],{},"Reopen MR",[826,901,902,905],{},[841,903,904],{},"A cap that names its limit",[841,906,907,576,910],{},[564,908,909],{},"Steer",[564,911,687],{},[826,913,914,917],{},[841,915,916],{},"A cap that names no limit",[841,918,919,576,921],{},[564,920,909],{},[564,922,862],{},[826,924,925,932],{},[841,926,927,928,931],{},"A dollar cap the item can raise (its own cap, or the item-wide ",[598,929,930],{},"budget_usd",")",[841,933,934,936,937],{},[564,935,691],{}," alone, with no ",[564,938,909],{},[826,940,941,944],{},[841,942,943],{},"A daily, token or node-level cap",[841,945,946,948],{},[564,947,862],{}," alone",[826,950,951,954],{},[841,952,953],{},"An escalation running",[841,955,956,958],{},[564,957,862],{},", which stops the escalation and retries the node",[826,960,961,964],{},[841,962,963],{},"Waiting on a rate limit or on CI",[841,965,966,948],{},[564,967,805],{},[826,969,970,973],{},[841,971,972],{},"Blocked behind an unfinished item, which its card lists",[841,974,975,576,978],{},[564,976,977],{},"Unblock",[564,979,805],{},[557,981,982,993,996,1002],{},[560,983,984,986,987,989,990,580],{},[564,985,909],{}," retries the node with your note. ",[564,988,687],{}," opens a one-number\nsheet titled for that limit, such as ",[564,991,992],{},"Raise the running time cap",[560,994,995],{},"For a daily, token or node-level cap, the card says the item can't raise that\ncap, so raise it in the policy or the chain first.",[560,997,998,999,1001],{},"While an escalation runs, its node bar offers ",[564,1000,794],{},". Pause, Steer and\nSkip wait until the escalation answers.",[560,1003,1004,1005,1008,1009,1012],{},"An item waiting on a rate limit or on CI is retried by Kraft itself. Its node\nreads ",[564,1006,1007],{},"waiting on CI"," or ",[564,1010,1011],{},"waiting · rate limit",", not running.",[530,1014,1016],{"id":1015},"check-it-worked","Check it worked",[526,1018,1019,1020,567,1022,567,1024,636,1026,1028,1029,1031],{},"Open Kraft on your phone, or make the browser window narrower than 768 pixels.\nThe board shows the bottom bar with ",[564,1021,566],{},[564,1023,570],{},[564,1025,264],{},[564,1027,579],{},", and a card under ",[564,1030,629],{}," carries its own buttons.",[530,1033,1035],{"id":1034},"next-steps","Next steps",[557,1037,1038,1043,1048],{},[560,1039,1040,1042],{},[538,1041,144],{"href":145},": reach Kraft from your phone over a tunnel, and fix a 403.",[560,1044,1045,1047],{},[538,1046,240],{"href":241},": the desktop board's groups and rows, which the phone's filters mirror.",[560,1049,1050,1052,1053,576,1055,1057],{},[538,1051,80],{"href":81},": what ",[564,1054,687],{},[564,1056,691],{}," open.",{"title":1059,"searchDepth":1060,"depth":1060,"links":1061},"",2,[1062,1063,1064,1065,1066,1067,1068],{"id":532,"depth":1060,"text":533},{"id":543,"depth":1060,"text":544},{"id":619,"depth":1060,"text":620},{"id":712,"depth":1060,"text":713},{"id":814,"depth":1060,"text":815},{"id":1015,"depth":1060,"text":1016},{"id":1034,"depth":1060,"text":1035},"The phone layout, with its bottom bar, the board's filters and cards, and the buttons on a stopped item.","md",null,{},true,{"title":88,"description":1069},"oxEofaqJescjUxf5t9ps5G2CPZnotbZIdPPSwWrNwhU",[1077,1079],{"title":84,"path":85,"stem":86,"description":1078,"children":-1},"Install the Kraft extension to clear gates, review a branch's diff, and edit Kraft config files without leaving VS Code.",{"title":92,"path":93,"stem":94,"description":1080,"children":-1},"Set up a webhook or alerts in your browser, so Kraft tells you when a work item waits at a gate or stops, and check that a test reaches you.",1791801165546]