[{"data":1,"prerenderedAt":1506},["ShallowReactive",2],{"navigation_docs":3,"-reference-web-ui-analytics":520,"-reference-web-ui-analytics-surround":1501},[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":264,"body":522,"description":1494,"extension":1495,"links":1496,"meta":1497,"navigation":1498,"path":265,"seo":1499,"stem":266,"__hash__":1500},"docs\u002F5.reference\u002F00.web-ui\u002F7.analytics.md",{"type":523,"value":524,"toc":1476},"minimark",[525,539,546,551,590,594,602,666,672,675,678,784,787,828,836,841,886,890,912,922,925,929,932,955,958,961,1054,1057,1063,1067,1070,1143,1147,1150,1248,1257,1260,1294,1318,1322,1334,1395,1401,1405,1450,1454],[526,527,528,529,534,535,538],"p",{},"The Analytics screen rolls up where the time and the money went across your ",[530,531,533],"a",{"href":532},"\u002Fconcepts\u002Fvocabulary#work-item","work items",". This page names each panel, figure and control, and says what each number counts. Open it from ",[536,537,264],"strong",{}," in the sidebar.",[526,540,541],{},[542,543],"img",{"alt":544,"src":545},"The Analytics screen for items created in the last 8 weeks: the Repo and Chain filters, the Completed, Lead time and Cost figures with a line of detail under each, a Throughput by week bar of 3 merged items in the current week, and the top of the By node table","\u002Fassets\u002Fanalytics.png",[547,548,550],"h2",{"id":549},"what-the-screen-counts","What the screen counts",[552,553,554,573,584],"ul",{},[555,556,557,560,561,564,565,568,569,572],"li",{},[536,558,559],{},"The items."," Every figure covers the work items created in the last 8 weeks (56 days), narrowed by the two filters. An item created earlier is left out, even if it merged yesterday. The header reads ",[536,562,563],{},"Items created in the last 8 weeks",". Only ",[536,566,567],{},"Completed",", ",[536,570,571],{},"Lead time",", the share waiting on you and the two figures under the stops are limited to completed items. Every other figure covers any status.",[555,574,575,578,579,583],{},[536,576,577],{},"Their history."," For each of those items, the screen adds up all of its ",[530,580,582],{"href":581},"\u002Fconcepts\u002Fvocabulary#worker-session","worker sessions"," and all of its events, whenever they happened.",[555,585,586,589],{},[536,587,588],{},"No stored totals."," Kraft computes the figures from the database each time you open the screen or change a filter.",[547,591,593],{"id":592},"filters","Filters",[526,595,596,597,601],{},"Two menus sit at the right of the header. Both default to ",[598,599,600],"code",{},"all",", and both apply to every panel.",[603,604,605,621],"table",{},[606,607,608],"thead",{},[609,610,611,615,618],"tr",{},[612,613,614],"th",{},"Menu",[612,616,617],{},"Choices",[612,619,620],{},"Narrows to",[622,623,624,641],"tbody",{},[609,625,626,632,638],{},[627,628,629],"td",{},[536,630,631],{},"Repo ▾",[627,633,634,637],{},[536,635,636],{},"All repos",", then each repo by its folder name, with the number of your work items beside it.",[627,639,640],{},"The items filed in that repo.",[609,642,643,648,659],{},[627,644,645],{},[536,646,647],{},"Chain ▾",[627,649,650,653,654,658],{},[536,651,652],{},"All chains",", then each ",[530,655,657],{"href":656},"\u002Fconcepts\u002Fvocabulary#chain","chain"," your work items use, with the number of items beside it.",[627,660,661,662,665],{},"The items on that chain. An item that never chose one counts as ",[598,663,664],{},"default",".",[526,667,668,669,671],{},"The filters reset to ",[598,670,600],{}," when you leave the screen.",[547,673,10],{"id":674},"overview",[526,676,677],{},"Three figures, each with a line of detail under it.",[603,679,680,693],{},[606,681,682],{},[609,683,684,687,690],{},[612,685,686],{},"Figure",[612,688,689],{},"What it counts",[612,691,692],{},"The line under it",[622,694,695,734,757],{},[609,696,697,701,707],{},[627,698,699],{},[536,700,567],{},[627,702,703,704,665],{},"Items whose status is ",[598,705,706],{},"completed",[627,708,709,712,713,716,717,720,721,724,725,727,728,730,731,665],{},[598,710,711],{},"+N vs previous"," (or ",[598,714,715],{},"-N","): the change from the 8 weeks before, counted the same way. ",[598,718,719],{},"$X spend per completed item, all spend counted",": ",[536,722,723],{},"Cost"," divided by ",[536,726,567],{},", shown when ",[536,729,567],{}," is not ",[598,732,733],{},"0",[609,735,736,740,747],{},[627,737,738],{},[536,739,571],{},[627,741,742,743,746],{},"The median, over completed items, of creation to completion, so a wait after the merge, such as ",[598,744,745],{},"post_merge_ci",", counts.",[627,748,749,752,753,756],{},[598,750,751],{},"median create → completion",". ",[598,754,755],{},"N% waiting on you",": the time completed items spent stopped on you, as a share of their lead time.",[609,758,759,763,771],{},[627,760,761],{},[536,762,723],{},[627,764,765,766,770],{},"The cost recorded for every ",[530,767,769],{"href":768},"\u002Fconcepts\u002Fvocabulary#worker","worker"," session of every item in the set, completed or not.",[627,772,773,568,776,779,780,783],{},[598,774,775],{},"N repairs per item that needed one",[598,777,778],{},"N capped"," and ",[598,781,782],{},"N rejected gates",", explained below.",[526,785,786],{},"The figures use the same units as the rest of the UI:",[552,788,789,805,816],{},[555,790,791,792,568,795,568,798,801,802,665],{},"A duration reads ",[598,793,794],{},"45s",[598,796,797],{},"12m",[598,799,800],{},"2h 5m"," or ",[598,803,804],{},"1d 3h",[555,806,807,808,811,812,815],{},"A dollar amount has three decimals under $1 (",[598,809,810],{},"$0.116",") and two from $1 (",[598,813,814],{},"$1.16",").",[555,817,818,819,568,822,801,825,665],{},"A token count reads ",[598,820,821],{},"850",[598,823,824],{},"17k",[598,826,827],{},"1.2M",[526,829,830,831,835],{},"Time waiting on you runs from the moment a gate is requested, or an item stops and waits for you, until the gate is approved or rejected, the item is retried, or a ",[530,832,834],{"href":833},"\u002Fconcepts\u002Fvocabulary#node","node"," starts. It is kept apart from the item's run time, so a slow reviewer does not read as a slow agent.",[837,838,840],"h3",{"id":839},"fix-rounds-capped-and-rejected-gates","Fix rounds, capped and rejected gates",[552,842,843,860,866,876],{},[555,844,845,847,848,852,853,856,857,859],{},[536,846,775],{}," is the count of distinct repair rounds that ran a worker session in the items' ",[530,849,851],{"href":850},"\u002Fconcepts\u002Fvocabulary#fix-loop","fix-loop"," nodes, divided by the number of items with at least one. A repair round is round ",[598,854,855],{},"1"," or higher, so an item with a first pass and one repair counts ",[598,858,855],{},". It covers every node that declares a fix loop, whatever its name.",[555,861,862,863,865],{},"A node's first pass (round ",[598,864,733],{},") is no repair, and neither is the repair pass that precedes the first paid cycle. An item with no repair is left out of the division.",[555,867,868,870,871,875],{},[536,869,778],{}," is the number of items with a fix-loop session that ended at its attempt limit. A wait that ran out and a time ",[530,872,874],{"href":873},"\u002Fconcepts\u002Fvocabulary#cap","cap"," do not count.",[555,877,878,880,881,885],{},[536,879,782],{}," is the number of times a ",[530,882,884],{"href":883},"\u002Fconcepts\u002Fvocabulary#gate","gate"," was rejected on these items, by you or by Kraft's own review.",[837,887,889],{"id":888},"a-trailing-plus","A trailing plus",[526,891,892,893,896,897,900,901,905,906,909,910,665],{},"A trailing ",[598,894,895],{},"+"," (",[598,898,899],{},"$1.16+",") marks a sum that is missing a session: one with tokens and no dollar figure. For example, the ",[530,902,904],{"href":903},"\u002Fconcepts\u002Fvocabulary#harness","harness"," reports no cost and its model is not in Kraft's price table, or a resumed session's tokens could not be separated from the earlier session's. The true total is higher. The session's tokens still count in ",[536,907,908],{},"By node",". For which harnesses report no cost, see ",[530,911,432],{"href":433},[526,913,914,915,918,919,921],{},"Kraft's own estimate from the price table also goes into the sum, when the model is listed. A session still running adds a live estimate, on any harness, ",[598,916,917],{},"claude"," included. A finished session whose agent reported no cost adds a final one: a harness that never reports one, or a crash or interruption before the agent reported. The sum includes them unmarked, and the note under ",[536,920,908],{}," says so.",[526,923,924],{},"A running session's live estimate leaves out output tokens, so it is a floor.",[547,926,928],{"id":927},"throughput-by-week","Throughput by week",[526,930,931],{},"A bar chart of merged items per week: eight columns, oldest first. The number above a bar is its count, and a bar is as tall as its count against the tallest week. The label under it is the Monday that starts the week, as month\u002Fday, in UTC. The last bar, drawn dashed, is the current week and is partial.",[526,933,934,935,939,940,943,944,947,948,951,952],{},"A merge here is a node finishing that runs a ",[530,936,938],{"href":937},"\u002Fconcepts\u002Fvocabulary#forge","forge"," task with the target ",[598,941,942],{},"mr.merge",", such as the shipped ",[598,945,946],{},"merge"," node. A completed item whose chain has no such node, the shipped ",[598,949,950],{},"quick-task"," chain for one, completes without showing up. The note under the chart says so. When nothing merged, the chart is replaced with ",[536,953,954],{},"Nothing merged in this range.",[547,956,908],{"id":957},"by-node",[526,959,960],{},"One row per node that ran a worker session for these items, highest cost first.",[603,962,963,973],{},[606,964,965],{},[609,966,967,970],{},[612,968,969],{},"Column",[612,971,972],{},"What it shows",[622,974,975,984,994,1006,1016,1032],{},[609,976,977,981],{},[627,978,979],{},[536,980,834],{},[627,982,983],{},"The node's id in its chain.",[609,985,986,991],{},[627,987,988],{},[536,989,990],{},"share of cost",[627,992,993],{},"A bar: the node's cost against the costliest node, which fills the bar.",[609,995,996,1001],{},[627,997,998],{},[536,999,1000],{},"min",[627,1002,1003,1004,665],{},"The mean wall time of one worker session on the node, over every item in range, in whole minutes. Under 30 seconds shows ",[598,1005,733],{},[609,1007,1008,1013],{},[627,1009,1010],{},[536,1011,1012],{},"tokens",[627,1014,1015],{},"Every token its sessions used: uncached input, cache writes, cache reads and output.",[609,1017,1018,1023],{},[627,1019,1020],{},[536,1021,1022],{},"$",[627,1024,1025,1026,1028,1029,665],{},"The cost of its sessions. A trailing ",[598,1027,895],{}," marks a missing session, as under ",[530,1030,723],{"href":1031},"#a-trailing-plus",[609,1033,1034,1039],{},[627,1035,1036],{},[536,1037,1038],{},"%",[627,1040,1041,1042,1044,1045,1047,1048,1051,1052,665],{},"The node's ",[536,1043,1022],{}," as a share of all rows' ",[536,1046,1022],{},", rounded. ",[598,1049,1050],{},"0%"," when the total is ",[598,1053,733],{},[526,1055,1056],{},"The note under the table reads \"Minutes are the mean wall time of one worker session, over every item in range.\"",[526,1058,1059,1060],{},"With no sessions, the panel reads ",[536,1061,1062],{},"Nothing here yet.",[547,1064,1066],{"id":1065},"by-repo","By repo",[526,1068,1069],{},"One row per repo, the one with the most items first.",[603,1071,1072,1080],{},[606,1073,1074],{},[609,1075,1076,1078],{},[612,1077,969],{},[612,1079,972],{},[622,1081,1082,1092,1102,1114,1127],{},[609,1083,1084,1089],{},[627,1085,1086],{},[536,1087,1088],{},"repo",[627,1090,1091],{},"The repo's folder name.",[609,1093,1094,1099],{},[627,1095,1096],{},[536,1097,1098],{},"items",[627,1100,1101],{},"Items created in the last 8 weeks, in any status.",[609,1103,1104,1109],{},[627,1105,1106],{},[536,1107,1108],{},"done",[627,1110,1111,1112,665],{},"Those items whose status is ",[598,1113,706],{},[609,1115,1116,1121],{},[627,1117,1118],{},[536,1119,1120],{},"cost",[627,1122,1123,1124,1126],{},"The cost of their sessions. A trailing ",[598,1125,895],{}," marks a missing session.",[609,1128,1129,1134],{},[627,1130,1131],{},[536,1132,1133],{},"avg repairs",[627,1135,1136,1137,1139,1140,1142],{},"The average repairs, counted as in the ",[536,1138,10],{},", over the repo's items that needed at least one. It is the ",[536,1141,10],{}," figure for that repo alone.",[547,1144,1146],{"id":1145},"why-items-stopped-for-a-person","Why items stopped for a person",[526,1148,1149],{},"One bar per reason, with its count, most common first. A count is a number of stops, not of items: an item that stops three times adds three. Every item in the set counts, completed or not.",[603,1151,1152,1162],{},[606,1153,1154],{},[609,1155,1156,1159],{},[612,1157,1158],{},"Label",[612,1160,1161],{},"A stop where",[622,1163,1164,1178,1188,1202,1215,1238],{},[609,1165,1166,1171],{},[627,1167,1168],{},[598,1169,1170],{},"gate · \u003Cname>",[627,1172,1173,1174,1177],{},"A gate named ",[598,1175,1176],{},"\u003Cname>"," was requested.",[609,1179,1180,1185],{},[627,1181,1182],{},[598,1183,1184],{},"budget",[627,1186,1187],{},"A spend cap stopped the item, and the stop carries the budget's figures.",[609,1189,1190,1195],{},[627,1191,1192],{},[598,1193,1194],{},"cap breach",[627,1196,1197,1198,1201],{},"A ",[530,1199,1200],{"href":850},"fix loop"," reached its attempt cap, and the stop carries its cycle and attempt counts.",[609,1203,1204,1209],{},[627,1205,1206],{},[598,1207,1208],{},"orchestrator\u002Finfra defect",[627,1210,1211,1212,665],{},"The reason starts ",[598,1213,1214],{},"resume: current-node session did not resolve cleanly",[609,1216,1217,1222],{},[627,1218,1219],{},[598,1220,1221],{},"preventable dispatch",[627,1223,1211,1224,1227,1228,568,1231,801,1234,1237],{},[598,1225,1226],{},"needs_context:"," and contains ",[598,1229,1230],{},"blocked on",[598,1232,1233],{},"not merged",[598,1235,1236],{},"depends on",", in any case.",[609,1239,1240,1245],{},[627,1241,1242],{},[598,1243,1244],{},"task failure",[627,1246,1247],{},"Any other stop that waits on you, including one no earlier label fits.",[526,1249,1250,1251,1253,1254],{},"For what each stop means and its fix, see ",[530,1252,199],{"href":200},". With no stops, the panel reads ",[536,1255,1256],{},"Nothing stopped for a person in this range.",[526,1258,1259],{},"Under the bars, one line holds two more figures, both over completed items only:",[552,1261,1262,1284],{},[555,1263,1264,1267,1268,1271,1272,568,1274,779,1276,1278,1279,779,1281,1283],{},[536,1265,1266],{},"N unplanned touches per item",", to two decimals. It adds up the stops that nobody designed the chain to need and divides by the completed items. A ",[598,1269,1270],{},"gate · ..."," stop never counts. ",[598,1273,1184],{},[598,1275,1208],{},[598,1277,1221],{}," always count. ",[598,1280,1194],{},[598,1282,1244],{}," count, unless Kraft cleared the stop without paging you. Two cases clear it: an automatic escalation retry, and a gate that Kraft's own review decided.",[555,1285,1286,1289,1290,1293],{},[536,1287,1288],{},"open MR → checks done X median",": the median time from the node that opens the draft merge request starting to the node that waits on CI completing. ",[598,1291,1292],{},"0s"," shows when no item has both.",[526,1295,1296,1297,1300,1301,1304,1305,1307,1308,779,1311,1314,1315,1317],{},"A node is found by its task, never by its id: a forge task targeting ",[598,1298,1299],{},"mr.open_draft"," opens the merge request, one targeting ",[598,1302,1303],{},"mr.ci"," waits on CI. On the shipped ",[598,1306,664],{}," chain these are ",[598,1309,1310],{},"draft_merge_request",[598,1312,1313],{},"merge_request_feedback",". The span starts when the node begins, with the rebase, and ends when CI, the automated review and any repair rounds have all passed. It covers completed items only. An item whose chain lacks either node, such as one on ",[598,1316,950],{},", adds nothing.",[547,1319,1321],{"id":1320},"on-a-phone","On a phone",[526,1323,1324,1325,1327,1328,1331,1332,665],{},"On a phone, ",[536,1326,264],{}," is a tab in the bottom bar and the same screen at ",[598,1329,1330],{},"\u002Fanalytics",", laid out as four tiles and three lists. See ",[530,1333,88],{"href":89},[552,1335,1336,1353,1371,1384],{},[555,1337,1338,1341,1342,1345,1346,801,1349,1352],{},[536,1339,1340],{},"Range"," at the top right picks ",[536,1343,1344],{},"7 days"," (the default), ",[536,1347,1348],{},"30 days",[536,1350,1351],{},"90 days",", by the same created-in-range rule. There is no Repo or Chain filter, and no weekly chart.",[555,1354,1355,1358,1359,1361,1362,1364,1365,1358,1368,1370],{},[536,1356,1357],{},"Spent"," is ",[536,1360,723],{},", with ",[598,1363,719],{}," under it, the same quotient as on the desktop, and ",[536,1366,1367],{},"Items done",[536,1369,567],{},", with how many items are running now. That count includes escalated items and is not limited to the range.",[555,1372,1373,1376,1377,1358,1380,1383],{},[536,1374,1375],{},"Time at gates"," is the total time stopped on you across all items in the range; under it, how much of their lead time completed items spent waiting on you. ",[536,1378,1379],{},"Fix loops",[536,1381,1382],{},"repairs per item that needed one",", with how many items hit their cap.",[555,1385,1386,1388,1389,1391,1392,1394],{},[536,1387,908],{}," shows each node's runs and cost, ",[536,1390,1066],{}," shows items, done and avg repairs with the cost, and ",[536,1393,1146],{}," is the same list as above, with the same line under it for unplanned touches and open MR → checks done.",[526,1396,1397,1398],{},"When nothing has completed in the range and no node ran, the lists give way to ",[536,1399,1400],{},"Nothing has completed in this range yet.",[547,1402,1404],{"id":1403},"the-numbers-behind-it","The numbers behind it",[526,1406,1407,1408,1411,1412,568,1415,779,1417,1420,1421,1358,1423,568,1426,568,1429,568,1432,801,1435,1437,1438,1440,1441,1443,1444,568,1446,801,1448,665],{},"The screen reads ",[598,1409,1410],{},"GET \u002Fapi\u002Fanalytics"," with ",[598,1413,1414],{},"range",[598,1416,1088],{},[598,1418,1419],{},"template"," (the chain). ",[598,1422,1414],{},[598,1424,1425],{},"7d",[598,1427,1428],{},"30d",[598,1430,1431],{},"90d",[598,1433,1434],{},"8w",[598,1436,600],{},", and ",[598,1439,1425],{}," when omitted; any other value is refused with a 400. The desktop screen always asks for ",[598,1442,1434],{},". The phone asks for ",[598,1445,1425],{},[598,1447,1428],{},[598,1449,1431],{},[547,1451,1453],{"id":1452},"related","Related",[552,1455,1456,1461,1466,1471],{},[555,1457,1458,1460],{},[530,1459,240],{"href":241},": the screen that groups the same work items by what they need from you.",[555,1462,1463,1465],{},[530,1464,432],{"href":433},": which harnesses report no cost, how Kraft estimates one, and what a dollar cap does about it.",[555,1467,1468,1470],{},[530,1469,40],{"href":41},": how a spend cap and a fix loop's attempt cap stop an item.",[555,1472,1473,1475],{},[530,1474,199],{"href":200},": the fix for each stop the last table counts.",{"title":1477,"searchDepth":1478,"depth":1478,"links":1479},"",2,[1480,1481,1482,1487,1488,1489,1490,1491,1492,1493],{"id":549,"depth":1478,"text":550},{"id":592,"depth":1478,"text":593},{"id":674,"depth":1478,"text":10,"children":1483},[1484,1486],{"id":839,"depth":1485,"text":840},3,{"id":888,"depth":1485,"text":889},{"id":927,"depth":1478,"text":928},{"id":957,"depth":1478,"text":908},{"id":1065,"depth":1478,"text":1066},{"id":1145,"depth":1478,"text":1146},{"id":1320,"depth":1478,"text":1321},{"id":1403,"depth":1478,"text":1404},{"id":1452,"depth":1478,"text":1453},"What each figure, chart and table on the Analytics screen counts.","md",null,{},true,{"title":264,"description":1494},"rF0QRJq9K_AXxFZjNmDhr7KjRFl1V8HEx3EmB_7iXkw",[1502,1504],{"title":260,"path":261,"stem":262,"description":1503,"children":-1},"The Templates screens for chains and the library, each Settings screen, and a repo's fields.",{"title":10,"path":269,"stem":270,"description":1505,"children":-1},"Every kraft verb, grouped by what it does, and found by what you want to do.",1791801170406]