[{"data":1,"prerenderedAt":1194},["ShallowReactive",2],{"navigation_docs":3,"-reference-web-ui-templates-and-settings":504,"-reference-web-ui-templates-and-settings-surround":1189},[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":252,"body":506,"description":1182,"extension":1183,"links":1184,"meta":1185,"navigation":1186,"path":253,"seo":1187,"stem":254,"__hash__":1188},"docs\u002F5.reference\u002F00.web-ui\u002F6.templates-and-settings.md",{"type":507,"value":508,"toc":1160},"minimark",[509,513,518,543,554,558,566,573,628,662,686,691,694,713,717,722,842,845,854,877,881,884,920,924,927,938,940,945,980,986,990,993,1012,1015,1033,1036,1058,1061,1068,1117,1120,1125,1136,1142,1146],[510,511,512],"p",{},"Templates and Settings edit Kraft's configuration files as screens. This page describes the Chains and Library screens and each Settings screen.",[514,515,517],"h2",{"id":516},"templates","Templates",[510,519,520,523,524,529,530,534,535,538,539,542],{},[521,522,517],"strong",{}," holds the two files an item is copied from, the ",[525,526,528],"a",{"href":527},"\u002Fconcepts\u002Fvocabulary#chain","chains"," and the\n",[525,531,533],{"href":532},"\u002Fconcepts\u002Fvocabulary#library","library",", as screens. Each one edits a draft: your changes take effect when\nyou click ",[521,536,537],{},"Review & publish",", which shows what changed and checks it first.\n",[521,540,541],{},"YAML"," shows the file itself.",[510,544,545,546,549,550,553],{},"Open items, every one not done or cancelled, keep the chain they were filed\nwith. The screens count them as ",[521,547,548],{},"open",", not running: the board's ",[521,551,552],{},"Running","\ngroup is only the ones an agent or a check is working on now.",[555,556,557],"h3",{"id":528},"Chains",[510,559,560,562,563,565],{},[521,561,557],{}," draws a chain as a graph, picked from the menu beside ",[521,564,557],{},".",[510,567,568],{},[569,570],"img",{"alt":571,"src":572},"The Chains screen on the default chain: its nodes as a graph, with the spec_approval gate selected and the inspector on the right showing the gate's message, document and reject-to node","\u002Fassets\u002Fchains.png",[574,575,576,590,593,615,622],"ul",{},[577,578,579,580,584,585,589],"li",{},"Click a ",[525,581,583],{"href":582},"\u002Fconcepts\u002Fvocabulary#node","node"," to see and change its settings in ",[525,586,588],{"href":587},"\u002Freference\u002Fweb-ui\u002Fitem-page#the-inspector","the inspector","; double-click it\nto open its own view of steps and tasks.",[577,591,592],{},"The pencil opens the chain's own settings.",[577,594,595,596,599,600,603,604,608,609,611,612,614],{},"Click the name at the top of the inspector to rename it in place: ",[521,597,598],{},"Enter","\nrenames it, ",[521,601,602],{},"Esc"," keeps it. Renaming the chain itself shows as ",[605,606,607],"code",{},"old → new","\nbeside ",[521,610,557],{}," until you publish, and ",[521,613,537],{}," lists it as a\nchange: publishing moves its file to the new name, and new items name the new\nid.",[577,616,617,618,621],{},"A task's ",[521,619,620],{},"Config"," tab leaves out the agent settings a command or\nmerge-request task never uses, unless its on-failure recovery runs under them,\nand a yes\u002Fno setting is a switch.",[577,623,624,627],{},[521,625,626],{},"Duplicate"," copies the chain under a new name.",[510,629,630,631,634,635,638,639,642,643,645,646,649,650,654,655,638,658,661],{},"In Chains and Library, ",[605,632,633],{},"ref",", ",[605,636,637],{},"target"," and ",[605,640,641],{},"inputs"," list their allowed values as\nyou type, each with a line on what it does; ",[525,644,376],{"href":377},"\nhas the lists. So do ",[605,647,648],{},"steering",", and a ",[525,651,653],{"href":652},"\u002Fconcepts\u002Fvocabulary#policy","policy","'s ",[605,656,657],{},"grants",[605,659,660],{},"allowed_harnesses",".\nA value that is not on the list is marked where you typed it and is not saved.",[510,663,664,665,668,669,673,674,678,679,638,682,685],{},"An agent task's ",[605,666,667],{},"fallback"," is edited as its list of entries, a ",[525,670,672],{"href":671},"\u002Fconcepts\u002Fvocabulary#harness","harness"," and an\n",[525,675,677],{"href":676},"\u002Fconcepts\u002Fvocabulary#agent-profile","agent profile"," picked for each. An entry's ",[605,680,681],{},"model",[605,683,684],{},"effort"," are set in YAML.",[510,687,688,689,565],{},"See ",[525,690,102],{"href":103},[555,692,693],{"id":533},"Library",[510,695,696,698,699,702,703,634,706,638,709,712],{},[521,697,693],{}," lists the components chains are built from, under ",[521,700,701],{},"Nodes",",\n",[521,704,705],{},"Steps",[521,707,708],{},"Tasks",[521,710,711],{},"Steering",", each with how many chains use it.",[514,714,716],{"id":715},"settings","Settings",[510,718,719,721],{},[521,720,716],{}," holds the screens that set up Kraft itself: the repos it works on, the agent CLIs it drives, its limits, and how you reach it. Repos, Harnesses, Policy and Auto-intake edit a draft the same way as Templates.",[723,724,725,738],"table",{},[726,727,728],"thead",{},[729,730,731,735],"tr",{},[732,733,734],"th",{},"Screen",[732,736,737],{},"The file it edits",[739,740,741,754,766,778,790,807,819,831],"tbody",{},[729,742,743,750],{},[744,745,746],"td",{},[525,747,749],{"href":748},"#repos","Repos",[744,751,752],{},[605,753,292],{},[729,755,756,762],{},[744,757,758],{},[525,759,761],{"href":760},"#harnesses","Harnesses",[744,763,764],{},[605,765,318],{},[729,767,768,774],{},[744,769,770],{},[525,771,773],{"href":772},"#policy","Policy",[744,775,776],{},[605,777,310],{},[729,779,780,786],{},[744,781,782],{},[525,783,785],{"href":784},"#auto-intake","Auto-intake",[744,787,788],{},[605,789,326],{},[729,791,792,798],{},[744,793,794],{},[525,795,797],{"href":796},"#notifications","Notifications",[744,799,800,802,803,806],{},[605,801,330],{}," for the webhook. ",[521,804,805],{},"This browser"," is kept in the browser, not in a file.",[729,808,809,815],{},[744,810,811],{},[525,812,814],{"href":813},"#access","Access",[744,816,817],{},[605,818,322],{},[729,820,821,827],{},[744,822,823],{},[525,824,826],{"href":825},"#appearance","Appearance",[744,828,829],{},[605,830,334],{},[729,832,833,839],{},[744,834,835],{},[525,836,838],{"href":837},"#about","About",[744,840,841],{},"None.",[555,843,749],{"id":844},"repos",[510,846,847,849,850,565],{},[521,848,749],{}," lists the connected repos with each one's chain, steering, test\ncommand and state. Select a repo to change its fields, as\n",[525,851,853],{"href":852},"#a-repos-fields","below",[574,855,856,870],{},[577,857,858,861,862,865,866,869],{},[521,859,860],{},"Connect repo"," adds one. Given a repo already connected, it offers\n",[521,863,864],{},"Update"," instead, which saves only what the repo's entry left undecided, as\n",[605,867,868],{},"kraft repo connect"," does.",[577,871,872,873,876],{},"A repo with no commit yet cannot connect: ",[521,874,875],{},"Check again"," reads it once you\nhave committed.",[555,878,880],{"id":879},"a-repos-fields","A repo's fields",[510,882,883],{},"In a selected repo's fields:",[574,885,886,900],{},[577,887,888,891,892,895,896,899],{},[521,889,890],{},"No setup needed",", beside its ",[521,893,894],{},"setup command",", says that a fresh checkout\nneeds nothing installed (",[605,897,898],{},"setup_command: \"\"",").",[577,901,902,891,905,908,909,912,913,916,917,919],{},[521,903,904],{},"No tests",[521,906,907],{},"test command",", says the repo has no tests\n(",[605,910,911],{},"test_command: \"\"","): its items pass verify without running any, and the list\nshows ",[605,914,915],{},"no tests (passes verify)",". Untick ",[521,918,904],{}," and the test command is no longer set,\nwhich stops each item at verify. Kraft refuses that save while the repo is\nenabled and has no test scopes: disable the repo, or set test scopes, in the\nsame change.",[510,921,688,922,565],{},[525,923,292],{"href":293},[555,925,761],{"id":926},"harnesses",[510,928,929,931,932,935,936,565],{},[521,930,761],{}," lists the agent CLIs Kraft can drive and whether each is\navailable, and the agent profiles tasks pick a model by. ",[521,933,934],{},"+ Profile"," adds one. See\n",[525,937,119],{"href":120},[555,939,773],{"id":653},[510,941,942,944],{},[521,943,773],{}," has three sections:",[574,946,947,963,969],{},[577,948,949,952,953,957,958,962],{},[521,950,951],{},"Limits",": time, token and dollar ",[525,954,956],{"href":955},"\u002Fconcepts\u002Fvocabulary#cap","caps"," by scope: the ",[525,959,961],{"href":960},"\u002Fconcepts\u002Fvocabulary#work-item","work item",", nodes, steps\nand tasks, plus the daily dollar cap.",[577,964,965,968],{},[521,966,967],{},"Loops",": fix-loop defaults, findings and stuck-item handling.",[577,970,971,974,975,979],{},[521,972,973],{},"Housekeeping",": concurrency, relaunches, archive and the ",[525,976,978],{"href":977},"\u002Fconcepts\u002Fvocabulary#forge","forge"," timeout.",[510,981,982],{},[569,983],{"alt":984,"src":985},"The Policy screen on its Limits section: the instance's daily dollar cap, then the work item, node and step scopes, each with a default and a maximum","\u002Fassets\u002Fpolicy.png",[510,987,688,988,565],{},[525,989,40],{"href":41},[555,991,785],{"id":992},"auto-intake",[510,994,995,997,998,1002,1003,1006,1007,1009,1010,565],{},[521,996,785],{}," sets whether Kraft picks up ready issues from ",[525,999,1001],{"href":1000},"\u002Fconcepts\u002Fvocabulary#beads","beads"," by itself, and its\nschedules (",[521,1004,1005],{},"Add schedule","), both in ",[605,1008,326],{},". How many items run at once\nis Policy › Housekeeping. See\n",[525,1011,110],{"href":111},[555,1013,797],{"id":1014},"notifications",[510,1016,1017,1019,1020,1023,1024,1026,1027,1030,1031,565],{},[521,1018,797],{}," sets where Kraft tells you it has stopped and waits for you: a\n",[521,1021,1022],{},"Webhook",", and ",[521,1025,805],{},". ",[521,1028,1029],{},"Send a test"," checks each one. See\n",[525,1032,92],{"href":93},[555,1034,814],{"id":1035},"access",[510,1037,1038,1040,1041,1044,1045,1048,1049,1044,1052,1055,1056,565],{},[521,1039,814],{}," sets who can reach the board: ",[521,1042,1043],{},"This machine only"," (",[605,1046,1047],{},"127.0.0.1",", no\npassword) or ",[521,1050,1051],{},"Local network",[605,1053,1054],{},"0.0.0.0",", password required). It also holds the\nport, the allowed hosts and the password. A change takes effect on restart. See\n",[525,1057,140],{"href":141},[555,1059,826],{"id":1060},"appearance",[510,1062,1063,1065,1066,565],{},[521,1064,826],{}," sets how the web UI looks and a few defaults. It is saved in\n",[605,1067,334],{},[574,1069,1070,1083,1098],{},[577,1071,1072,634,1075,1078,1079,1082],{},[521,1073,1074],{},"Light",[521,1076,1077],{},"Dark"," or ",[521,1080,1081],{},"System","; how much color; the surface and accent\ncolors.",[577,1084,1085,1086,1089,1090,1093,1094,1097],{},"Further down, the board (",[521,1087,1088],{},"Open items in",": ",[521,1091,1092],{},"Peek",", the side panel, or ",[521,1095,1096],{},"Full page","), the\nreview diff's layout and syntax highlighting.",[577,1099,1100,1101,1104,1105,1108,1109,1112,1113,1116],{},"The ",[521,1102,1103],{},"Default editor"," that ",[521,1106,1107],{},"Open in editor"," uses: the editors found on\nthis machine, or ",[521,1110,1111],{},"Not set",", which uses ",[605,1114,1115],{},"KRAFT_EDITOR",", else the system's\ndefault app.",[555,1118,838],{"id":1119},"about",[510,1121,1122,1124],{},[521,1123,838],{}," opens from the version line at the sidebar's foot, and from the last\nentry under Settings. It shows:",[574,1126,1127,1130,1133],{},[577,1128,1129],{},"the version, whether an update is available or waits on a restart, the\ncommand to install it, and the release channel;",[577,1131,1132],{},"this instance's address and whether it asks for a sign-in;",[577,1134,1135],{},"its run directory and health, and the Python it runs on.",[510,1137,1138,1141],{},[521,1139,1140],{},"Copy diagnostics"," copies them for a bug report.",[514,1143,1145],{"id":1144},"related","Related",[574,1147,1148,1155],{},[577,1149,1150,638,1152,1154],{},[525,1151,376],{"href":377},[525,1153,102],{"href":103},": what the Chains screen draws, and how to change it.",[577,1156,1157,1159],{},[525,1158,286],{"href":287},": the YAML files these screens edit.",{"title":1161,"searchDepth":1162,"depth":1162,"links":1163},"",2,[1164,1169,1181],{"id":516,"depth":1162,"text":517,"children":1165},[1166,1168],{"id":528,"depth":1167,"text":557},3,{"id":533,"depth":1167,"text":693},{"id":715,"depth":1162,"text":716,"children":1170},[1171,1172,1173,1174,1175,1177,1178,1179,1180],{"id":844,"depth":1167,"text":749},{"id":879,"depth":1167,"text":880},{"id":926,"depth":1167,"text":761},{"id":653,"depth":1167,"text":773},{"id":992,"depth":1167,"text":1176},"Auto-​intake",{"id":1014,"depth":1167,"text":797},{"id":1035,"depth":1167,"text":814},{"id":1060,"depth":1167,"text":826},{"id":1119,"depth":1167,"text":838},{"id":1144,"depth":1162,"text":1145},"The Templates screens for chains and the library, each Settings screen, and a repo's fields.","md",null,{},true,{"title":252,"description":1182},"2V6izzEhSRQ80AILbtqssGlQwXxI42k5ByWODZY7GuM",[1190,1192],{"title":248,"path":249,"stem":250,"description":1191,"children":-1},"The review page's Compare toolbar, Viewed marks, line comments and Finish review dialog, and how the page opens at a gate.",{"title":256,"path":257,"stem":258,"description":1193,"children":-1},"What each figure, chart and table on the Analytics screen counts.",1791801247610]