[{"data":1,"prerenderedAt":1166},["ShallowReactive",2],{"navigation_docs":3,"-reference-configuration":520,"-reference-configuration-surround":1161},[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":294,"body":522,"description":1154,"extension":1155,"links":1156,"meta":1157,"navigation":1158,"path":295,"seo":1159,"stem":296,"__hash__":1160},"docs\u002F5.reference\u002F03.configuration\u002Findex.md",{"type":523,"value":524,"toc":1147},"minimark",[525,538,543,862,866,980,983,1031,1035],[526,527,528,529,533,534,537],"p",{},"Kraft's configuration is a set of YAML files under ",[530,531,532],"code",{},"$KRAFT_HOME\u002Fconfig\u002F"," (default ",[530,535,536],{},"~\u002F.kraft\u002Fconfig\u002F","). This page maps each file to its reference page and says how the directory is created and edited.",[539,540,542],"h2",{"id":541},"files","Files",[544,545,546,565],"table",{},[547,548,549],"thead",{},[550,551,552,556,559,562],"tr",{},[553,554,555],"th",{},"File",[553,557,558],{},"What it configures",[553,560,561],{},"Created",[553,563,564],{},"Page",[566,567,568,593,609,642,665,681,696,711,726,747,766,787,818,837],"tbody",{},[550,569,570,575,586,589],{},[571,572,573],"td",{},[530,574,300],{},[571,576,577,578,581,582,585],{},"Connected repos: setup command, env, steering, workspaces, and the ",[530,579,580],{},"sandbox"," field (",[583,584,346],"a",{"href":347},").",[571,587,588],{},"Seeded, empty",[571,590,591],{},[583,592,300],{"href":301},[550,594,595,599,602,605],{},[571,596,597],{},[530,598,318],{},[571,600,601],{},"Caps, budget, concurrency, archiving, defaults and maxima.",[571,603,604],{},"Seeded",[571,606,607],{},[583,608,318],{"href":319},[550,610,611,620,628,638],{},[571,612,613,616,617],{},[530,614,615],{},"library.yaml"," and ",[530,618,619],{},"chains\u002F*.yaml",[571,621,622,623,627],{},"The templates: reusable components and the chains built from them, copied onto each ",[583,624,626],{"href":625},"\u002Fconcepts\u002Fvocabulary#work-item","work item"," at intake.",[571,629,630,631,616,634,637],{},"Seeded: the ",[530,632,633],{},"default",[530,635,636],{},"quick-task"," chains",[571,639,640],{},[583,641,322],{"href":323},[550,643,644,648,659,661],{},[571,645,646],{},[530,647,326],{},[571,649,650,616,654,658],{},[583,651,653],{"href":652},"\u002Fconcepts\u002Fvocabulary#harness-profile","Harness profiles",[583,655,657],{"href":656},"\u002Fconcepts\u002Fvocabulary#agent-profile","agent profiles",".",[571,660,604],{},[571,662,663],{},[583,664,326],{"href":327},[550,666,667,671,674,677],{},[571,668,669],{},[530,670,330],{},[571,672,673],{},"Bind address, password, remote access.",[571,675,676],{},"The first save in Settings",[571,678,679],{},[583,680,330],{"href":331},[550,682,683,687,690,692],{},[571,684,685],{},[530,686,334],{},[571,688,689],{},"Autonomous pickup of issues, and schedules.",[571,691,604],{},[571,693,694],{},[583,695,334],{"href":335},[550,697,698,702,705,707],{},[571,699,700],{},[530,701,338],{},[571,703,704],{},"The notification webhook.",[571,706,676],{},[571,708,709],{},[583,710,338],{"href":339},[550,712,713,717,720,722],{},[571,714,715],{},[530,716,342],{},[571,718,719],{},"UI appearance.",[571,721,676],{},[571,723,724],{},[583,725,342],{"href":343},[550,727,728,732,740,743],{},[571,729,730],{},[530,731,372],{},[571,733,734,735,739],{},"Which container CLI runs ",[583,736,738],{"href":737},"\u002Fconcepts\u002Fvocabulary#sandbox","sandboxed"," tasks, SELinux, and an extra CA.",[571,741,742],{},"You",[571,744,745],{},[583,746,372],{"href":373},[550,748,749,753,760,762],{},[571,750,751],{},[530,752,310],{},[571,754,755,756,759],{},"Your own conventions for the setup and test commands ",[530,757,758],{},"kraft repo connect"," proposes, layered on the shipped table.",[571,761,742],{},[571,763,764],{},[583,765,310],{"href":311},[550,767,768,773,781,783],{},[571,769,770],{},[530,771,772],{},"harnesses\u002F*.yaml",[571,774,775,776,780],{},"Your own ",[583,777,779],{"href":778},"\u002Fconcepts\u002Fvocabulary#harness","harness"," definitions, which add a harness or override a shipped one.",[571,782,742],{},[571,784,785],{},[583,786,424],{"href":425},[550,788,789,794,807,813],{},[571,790,791],{},[530,792,793],{},"addons.yaml",[571,795,796,797,801,802,806],{},"The ",[583,798,800],{"href":799},"\u002Fconcepts\u002Fvocabulary#collection","collections"," this instance knows and the ",[583,803,805],{"href":804},"\u002Fconcepts\u002Fvocabulary#add-on","Kraft add-ons"," installed from them.",[571,808,809,812],{},[530,810,811],{},"kraft admin addon",", or you",[571,814,815],{},[583,816,384],{"href":817},"\u002Freference\u002Fconfiguration\u002Faddons#addonsyaml",[550,819,820,825,828,832],{},[571,821,822],{},[530,823,824],{},"addons.lock",[571,826,827],{},"The commit, digest and version each installed add-on is pinned to. Not edited by hand.",[571,829,830],{},[530,831,811],{},[571,833,834],{},[583,835,384],{"href":836},"\u002Freference\u002Fconfiguration\u002Faddons#addonslock",[550,838,839,844,852,857],{},[571,840,841],{},[530,842,843],{},"repo-libraries.lock",[571,845,846,847,851],{},"The commit and digest each connected repository's ",[583,848,850],{"href":849},"\u002Fconcepts\u002Fvocabulary#repo-library","repo library"," was accepted at. Not edited by hand.",[571,853,854],{},[530,855,856],{},"kraft repo library",[571,858,859],{},[583,860,388],{"href":861},"\u002Freference\u002Fconfiguration\u002Frepo-libraries#repo-librarieslock",[539,863,865],{"id":864},"how-kraft-treats-the-directory","How Kraft treats the directory",[867,868,869,893,921,936,951],"ul",{},[870,871,872,876,877,880,881,883,884,616,886,889,890,892],"li",{},[873,874,875],"strong",{},"Seeding."," Kraft copies the shipped defaults into ",[530,878,879],{},"config\u002F"," on first run and never overwrites it afterwards, so an upgrade cannot clobber an edited policy. ",[583,882,172],{"href":173}," takes what a new release ships in ",[530,885,615],{},[530,887,888],{},"chains\u002F",". The files marked \"You\", \"",[530,891,811],{},"\" or \"The first save in Settings\" are never seeded.",[870,894,895,898,899,902,903,616,905,907,908,911,912,914,915,914,917,920],{},[873,896,897],{},"Editing."," The ",[873,900,901],{},"Templates"," screens edit ",[530,904,615],{},[530,906,888],{},". ",[873,909,910],{},"Settings"," edits the rest, except ",[530,913,372],{},", ",[530,916,310],{},[530,918,919],{},"harnesses\u002F"," and the add-on files and locks, which no screen edits. Editing any file by hand is equally supported.",[870,922,923,926,927,616,930,933,934,658],{},[873,924,925],{},"Moving it."," ",[530,928,929],{},"KRAFT_HOME",[530,931,932],{},"KRAFT_CONFIG_DIR"," move the directory; see ",[583,935,380],{"href":381},[870,937,938,941,942,616,945,948,949,658],{},[873,939,940],{},"Validation."," Kraft validates each file when it loads it, and reports a file that fails with the offending key named. Chain rules such as ",[530,943,944],{},"extends",[530,946,947],{},"reject_to"," are in ",[583,950,392],{"href":393},[870,952,953,956,957,960,961,964,965,968,969,972,973,960,976,658],{},[873,954,955],{},"An old directory."," Before 2.0, the directory was ",[530,958,959],{},"templates\u002F","; see ",[583,962,176],{"href":963},"\u002Fguides\u002Frun\u002Fupgrade-from-1-4#config-directory-and-files",". A home still in the 0.x template format (a ",[530,966,967],{},"registry.yaml",", hook names or ",[530,970,971],{},"gate_after",") is refused until you run ",[530,974,975],{},"kraft admin update",[583,977,979],{"href":978},"\u002Fguides\u002Frun\u002Fupgrade-from-0-x-or-a-release-candidate#migrating-a-home-from-0x","Migrating a home from 0.x",[526,981,982],{},"Three commands check and reload the files:",[867,984,985,991,1025],{},[870,986,987,990],{},[530,988,989],{},"kraft admin doctor"," reports anything that does not parse.",[870,992,993,996,997,914,999,1001,1002,1004,1005,1007,1008,1010,1011,1013,1014,1017,1018,1021,1022,1024],{},[530,994,995],{},"kraft admin reload"," rereads ",[530,998,318],{},[530,1000,615],{}," with its chains, ",[530,1003,334],{},", and ",[530,1006,793],{}," with ",[530,1009,824],{},", without a restart. A change to ",[530,1012,330],{},"'s ",[530,1015,1016],{},"bind"," or ",[530,1019,1020],{},"port"," needs a restart, and a hand edit of ",[530,1023,338],{}," takes effect at the next save in Settings or a restart.",[870,1026,1027,1030],{},[530,1028,1029],{},"kraft admin templates lint"," checks the whole library and every chain at once, and writes nothing.",[539,1032,1034],{"id":1033},"in-this-section","In this section",[867,1036,1037,1048,1055,1066,1073,1080,1087,1094,1101,1115,1120,1136],{},[870,1038,1039,1041,1042,1044,1045,1047],{},[583,1040,300],{"href":301},": every field in ",[530,1043,300],{},", and the pages for how connect proposes commands, ",[530,1046,310],{}," and workspaces.",[870,1049,1050,1041,1052,1054],{},[583,1051,318],{"href":319},[530,1053,318],{},": caps, budget, concurrency, archiving, defaults and maxima.",[870,1056,1057,1059,1060,1062,1063,1065],{},[583,1058,322],{"href":323},": the sections of ",[530,1061,615],{},", and how ",[530,1064,619],{}," files compose them into chains.",[870,1067,1068,1041,1070,1072],{},[583,1069,326],{"href":327},[530,1071,326],{},", for harness profiles and agent profiles.",[870,1074,1075,1041,1077,1079],{},[583,1076,330],{"href":331},[530,1078,330],{},": bind address, port, password, session expiry and allowed hosts.",[870,1081,1082,1041,1084,1086],{},[583,1083,334],{"href":335},[530,1085,334],{},": autonomous pickup from beads, and cron schedules.",[870,1088,1089,1041,1091,1093],{},[583,1090,338],{"href":339},[530,1092,338],{},": the notification webhook and the events that post to it.",[870,1095,1096,1041,1098,1100],{},[583,1097,342],{"href":343},[530,1099,342],{},": colors, density, the diff and the board.",[870,1102,1103,1105,1106,1108,1109,1111,1112,1114],{},[583,1104,346],{"href":347},": the ",[530,1107,580],{}," key of ",[530,1110,300],{},", and the pages for the container's resource limits, callbacks, network, credentials, Kits, ",[530,1113,372],{}," and git.",[870,1116,1117,1119],{},[583,1118,380],{"href":381},": the variables that move this directory, every other variable Kraft reads, and the variables a worker gets.",[870,1121,1122,1124,1125,914,1128,914,1131,616,1133,1135],{},[583,1123,384],{"href":385},": ",[530,1126,1127],{},"collection.json",[530,1129,1130],{},"addon.json",[530,1132,793],{},[530,1134,824],{},", the naming rules, and when an add-on loads, updates and is restored.",[870,1137,1138,1140,1141,1144,1145,658],{},[583,1139,388],{"href":389},": a repository's own ",[530,1142,1143],{},".kraft\u002F"," library, where it is read from, how a person accepts it, and ",[530,1146,843],{},{"title":1148,"searchDepth":1149,"depth":1149,"links":1150},"",2,[1151,1152,1153],{"id":541,"depth":1149,"text":542},{"id":864,"depth":1149,"text":865},{"id":1033,"depth":1149,"text":1034},"Which file in Kraft's config directory controls what, and how Kraft creates, edits, validates and rereads the directory.","md",null,{},{"title":10},{"title":294,"description":1154},"7Mok8amBJ0y1ryHTP5vlH7B-XYozIyMxA1VmBO3QlXQ",[1162,1164],{"title":290,"path":291,"stem":292,"description":1163,"children":-1},"The nine statuses a work item can hold, what moves it between them, and the status the board shows for each.",{"title":10,"path":301,"stem":302,"description":1165,"children":-1},"Every field in repos.yaml, where a repo's value comes from, and the pages for how connect proposes commands, detectors, workspaces and sandboxes.",1791801173907]