[{"data":1,"prerenderedAt":555},["ShallowReactive",2],{"navigation_docs":3,"-guides-vscode":270,"-guides-vscode-surround":550},[4,28,51,110,243],{"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},"Troubleshooting and FAQ","\u002Fget-started\u002Ftroubleshooting","1.get-started\u002F3.troubleshooting",{"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},"Vocabulary","\u002Fconcepts\u002Fvocabulary","2.concepts\u002F1.vocabulary",{"title":40,"path":41,"stem":42},"How a work item runs","\u002Fconcepts\u002Fhow-a-work-item-runs","2.concepts\u002F2.how-a-work-item-runs",{"title":44,"path":45,"stem":46},"Caps and budgets","\u002Fconcepts\u002Fcaps-and-budgets","2.concepts\u002F3.caps-and-budgets",{"title":48,"path":49,"stem":50},"Why a permission gate","\u002Fconcepts\u002Fpermission-gate","2.concepts\u002F4.permission-gate",{"title":52,"path":53,"stem":54,"children":55},"Guides","\u002Fguides","3.guides",[56,58,62,66,70,74,78,82,86,90,94,98,102,106],{"title":10,"path":53,"stem":57},"3.guides\u002Findex",{"title":59,"path":60,"stem":61},"Use Kraft from your agent","\u002Fguides\u002Fagent-integration","3.guides\u002F01.agent-integration",{"title":63,"path":64,"stem":65},"Kraft Lite","\u002Fguides\u002Fkraft-lite","3.guides\u002F02.kraft-lite",{"title":67,"path":68,"stem":69},"Remote access","\u002Fguides\u002Fremote-access","3.guides\u002F03.remote-access",{"title":71,"path":72,"stem":73},"Add or override a harness","\u002Fguides\u002Fadding-a-harness","3.guides\u002F04.adding-a-harness",{"title":75,"path":76,"stem":77},"Schedule or webhook work","\u002Fguides\u002Fschedule-and-webhook-work","3.guides\u002F05.schedule-and-webhook-work",{"title":79,"path":80,"stem":81},"Add a security review or a gate reviewer","\u002Fguides\u002Fadd-review-agents","3.guides\u002F06.add-review-agents",{"title":83,"path":84,"stem":85},"Kraft for VS Code","\u002Fguides\u002Fvscode","3.guides\u002F07.vscode",{"title":87,"path":88,"stem":89},"Reviewing a change","\u002Fguides\u002Freview-a-change","3.guides\u002F08.review-a-change",{"title":91,"path":92,"stem":93},"Write your own chain","\u002Fguides\u002Fwrite-your-own-chain","3.guides\u002F09.write-your-own-chain",{"title":95,"path":96,"stem":97},"Switch a harness","\u002Fguides\u002Fswitch-harness","3.guides\u002F10.switch-harness",{"title":99,"path":100,"stem":101},"Upgrade your templates","\u002Fguides\u002Fupgrading-templates","3.guides\u002F11.upgrading-templates",{"title":103,"path":104,"stem":105},"Operations","\u002Fguides\u002Foperations","3.guides\u002F12.operations",{"title":107,"path":108,"stem":109},"Worker Kit","\u002Fguides\u002Fworker-kit","3.guides\u002F13.worker-kit",{"title":111,"path":112,"stem":113,"children":114},"Reference","\u002Freference","4.reference",[115,117,139,183,201,205,227,231,235,239],{"title":10,"path":112,"stem":116},"4.reference\u002Findex",{"title":118,"path":119,"stem":120,"children":121},"CLI","\u002Freference\u002Fcli","4.reference\u002F1.cli\u002Findex",[122,123,127,131,135],{"title":10,"path":119,"stem":120},{"title":124,"path":125,"stem":126},"Item verbs","\u002Freference\u002Fcli\u002Fitem","4.reference\u002F1.cli\u002F2.item",{"title":128,"path":129,"stem":130},"View verbs","\u002Freference\u002Fcli\u002Fview","4.reference\u002F1.cli\u002F3.view",{"title":132,"path":133,"stem":134},"Repo verbs","\u002Freference\u002Fcli\u002Frepo","4.reference\u002F1.cli\u002F4.repo",{"title":136,"path":137,"stem":138},"Admin verbs","\u002Freference\u002Fcli\u002Fadmin","4.reference\u002F1.cli\u002F5.admin",{"title":140,"path":141,"stem":142,"children":143},"Configuration","\u002Freference\u002Fconfiguration","4.reference\u002F2.configuration\u002Findex",[144,145,155,159,163,167,171,175,179],{"title":10,"path":141,"stem":142},{"title":146,"path":147,"stem":148,"children":149},"Repos","\u002Freference\u002Fconfiguration\u002Frepos","4.reference\u002F2.configuration\u002F2.repos\u002Findex",[150,151],{"title":10,"path":147,"stem":148},{"title":152,"path":153,"stem":154},"Workspaces","\u002Freference\u002Fconfiguration\u002Frepos\u002Fworkspaces","4.reference\u002F2.configuration\u002F2.repos\u002F3.workspaces",{"title":156,"path":157,"stem":158},"Policy","\u002Freference\u002Fconfiguration\u002Fpolicy","4.reference\u002F2.configuration\u002F3.policy",{"title":160,"path":161,"stem":162},"Library and chains","\u002Freference\u002Fconfiguration\u002Flibrary-and-chains","4.reference\u002F2.configuration\u002F4.library-and-chains",{"title":164,"path":165,"stem":166},"Harnesses file","\u002Freference\u002Fconfiguration\u002Fharnesses-file","4.reference\u002F2.configuration\u002F5.harnesses-file",{"title":168,"path":169,"stem":170},"Access","\u002Freference\u002Fconfiguration\u002Faccess","4.reference\u002F2.configuration\u002F6.access",{"title":172,"path":173,"stem":174},"Intake","\u002Freference\u002Fconfiguration\u002Fintake","4.reference\u002F2.configuration\u002F7.intake",{"title":176,"path":177,"stem":178},"Sandbox host","\u002Freference\u002Fconfiguration\u002Fsandbox","4.reference\u002F2.configuration\u002F8.sandbox",{"title":180,"path":181,"stem":182},"Environment variables","\u002Freference\u002Fconfiguration\u002Fenvironment-variables","4.reference\u002F2.configuration\u002F9.environment-variables",{"title":184,"path":185,"stem":186,"children":187},"Chain nodes","\u002Freference\u002Fchain-nodes","4.reference\u002F3.chain-nodes\u002Findex",[188,189,193,197],{"title":10,"path":185,"stem":186},{"title":190,"path":191,"stem":192},"Subprocess tasks","\u002Freference\u002Fchain-nodes\u002Fsubprocess-tasks","4.reference\u002F3.chain-nodes\u002F2.subprocess-tasks",{"title":194,"path":195,"stem":196},"Fix loop and judge","\u002Freference\u002Fchain-nodes\u002Ffix-loop","4.reference\u002F3.chain-nodes\u002F3.fix-loop",{"title":198,"path":199,"stem":200},"Result file","\u002Freference\u002Fchain-nodes\u002Fresult-file","4.reference\u002F3.chain-nodes\u002F4.result-file",{"title":202,"path":203,"stem":204},"Permission gate","\u002Freference\u002Fpermissions","4.reference\u002F4.permissions",{"title":206,"path":207,"stem":208,"children":209},"Agent harnesses","\u002Freference\u002Fharnesses","4.reference\u002F5.harnesses\u002Findex",[210,211,215,219,223],{"title":10,"path":207,"stem":208},{"title":212,"path":213,"stem":214},"Unattended runs","\u002Freference\u002Fharnesses\u002Funattended-runs","4.reference\u002F5.harnesses\u002F2.unattended-runs",{"title":216,"path":217,"stem":218},"Agent profiles","\u002Freference\u002Fharnesses\u002Fagent-profiles","4.reference\u002F5.harnesses\u002F3.agent-profiles",{"title":220,"path":221,"stem":222},"Harness files","\u002Freference\u002Fharnesses\u002Fharness-files","4.reference\u002F5.harnesses\u002F4.harness-files",{"title":224,"path":225,"stem":226},"Fallback and escalation","\u002Freference\u002Fharnesses\u002Ffallback-and-escalation","4.reference\u002F5.harnesses\u002F5.fallback-and-escalation",{"title":228,"path":229,"stem":230},"Inbound triggers","\u002Freference\u002Ftriggers","4.reference\u002F6.triggers",{"title":232,"path":233,"stem":234},"HTTP API","\u002Freference\u002Fhttp-api","4.reference\u002F7.http-api",{"title":236,"path":237,"stem":238},"MCP tools","\u002Freference\u002Fmcp-tools","4.reference\u002F8.mcp-tools",{"title":240,"path":241,"stem":242},"Events","\u002Freference\u002Fevents","4.reference\u002F9.events",{"title":244,"path":245,"stem":246,"children":247},"Project","\u002Fproject","5.project",[248,250,254,258,262,266],{"title":10,"path":245,"stem":249},"5.project\u002Findex",{"title":251,"path":252,"stem":253},"Architecture","\u002Fproject\u002Farchitecture","5.project\u002F1.architecture",{"title":255,"path":256,"stem":257},"Contributing","\u002Fproject\u002Fcontributing","5.project\u002F2.contributing",{"title":259,"path":260,"stem":261},"Security","\u002Fproject\u002Fsecurity","5.project\u002F3.security",{"title":263,"path":264,"stem":265},"Data and privacy","\u002Fproject\u002Fdata-and-privacy","5.project\u002F4.data-and-privacy",{"title":267,"path":268,"stem":269},"Status and support","\u002Fproject\u002Fstatus-and-support","5.project\u002F5.status-and-support",{"id":271,"title":83,"body":272,"description":543,"extension":544,"links":545,"meta":546,"navigation":547,"path":84,"seo":548,"stem":85,"__hash__":549},"docs\u002F3.guides\u002F07.vscode.md",{"type":273,"value":274,"toc":535},"minimark",[275,279,283,314,327,368,371,387,396,400,415,419,430,434,455,459,528,531],[276,277,278],"p",{},"The Kraft extension shows the board in the sidebar and lets you clear what\nKraft is waiting on you for from the editor: approve or reject a gate, review a\nwork item's branch, and edit Kraft's YAML config files with errors flagged as\nyou type.",[280,281,17],"h2",{"id":282},"install",[276,284,285,286,290,291,295,296,303,304,309,310,313],{},"Install ",[287,288,289],"strong",{},"Kraft"," (publisher ",[292,293,294],"code",{},"kraft-sdlc",") from the\n",[297,298,302],"a",{"href":299,"rel":300},"https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=kraft-sdlc.kraft",[301],"nofollow","VS Code Marketplace",",\nor from ",[297,305,308],{"href":306,"rel":307},"https:\u002F\u002Fopen-vsx.org\u002Fextension\u002Fkraft-sdlc\u002Fkraft",[301],"Open VSX",", the\nregistry VSCodium and Cursor install from. Or search for ",[292,311,312],{},"kraft-sdlc.kraft"," in\nthe Extensions view.",[276,315,316,317,320,321,326],{},"Every release also attaches the extension as ",[292,318,319],{},"kraft-\u003Cversion>.vsix",". To\ninstall one by hand, download it from the\n",[297,322,325],{"href":323,"rel":324},"https:\u002F\u002Fgithub.com\u002FitsOmidKarami\u002Fkraft\u002Freleases",[301],"GitHub release"," and run:",[328,329,334],"pre",{"className":330,"code":331,"language":332,"meta":333,"style":333},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","code --install-extension kraft-\u003Cversion>.vsix\n","bash","",[292,335,336],{"__ignoreMap":333},[337,338,341,344,348,351,355,358,362,365],"span",{"class":339,"line":340},"line",1,[337,342,292],{"class":343},"sBMFI",[337,345,347],{"class":346},"sfazB"," --install-extension",[337,349,350],{"class":346}," kraft-",[337,352,354],{"class":353},"sMK4o","\u003C",[337,356,357],{"class":346},"versio",[337,359,361],{"class":360},"sTEyZ","n",[337,363,364],{"class":353},">",[337,366,367],{"class":346},".vsix\n",[276,369,370],{},"The extension needs a running Kraft on the same machine:",[328,372,374],{"className":330,"code":373,"language":332,"meta":333,"style":333},"kraft admin start\n",[292,375,376],{"__ignoreMap":333},[337,377,378,381,384],{"class":339,"line":340},[337,379,380],{"class":343},"kraft",[337,382,383],{"class":346}," admin",[337,385,386],{"class":346}," start\n",[276,388,389,390,395],{},"For completion and instant structure checks in config files, also install\n",[297,391,394],{"href":392,"rel":393},"https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=redhat.vscode-yaml",[301],"Red Hat YAML",".\nThe extension offers it once if it is missing.",[280,397,399],{"id":398},"clear-a-gate","Clear a gate",[276,401,402,403,406,407,410,411,414],{},"When a gate opens, VS Code shows a notification with ",[287,404,405],{},"Open",", ",[287,408,409],{},"Approve"," and\n",[287,412,413],{},"Reject",". Open shows the gate's document in a tab; approve and reject are also\nin that tab's title bar and on the item in the sidebar.",[280,416,418],{"id":417},"review-a-branch","Review a branch",[276,420,421,422,425,426,429],{},"Run ",[287,423,424],{},"Review Changes"," on an item, or from a gate document's title bar, to\nopen its branch in the multi-file diff editor. Findings from the review agents show on the lines they\nname, as a colored bar with the message beside the line, and in the Problems panel. Add a comment on any line, then run ",[287,427,428],{},"Submit Review",": your comments go\nto the agent as one note, as a reject at a gate or as a steer on a paused item.\nApproving instead asks before it discards your comments.",[280,431,433],{"id":432},"edit-config-files","Edit config files",[276,435,436,437,440,441,406,444,406,447,450,451,454],{},"Files under ",[292,438,439],{},"$KRAFT_HOME\u002Ftemplates"," (",[292,442,443],{},"policy.yaml",[292,445,446],{},"harnesses.yaml",[292,448,449],{},"chains\u002F*.yaml","\nand the rest) get completion from Kraft's JSON Schemas, and the running Kraft\nchecks each edit and flags the line at fault. On a chain file, ",[287,452,453],{},"Show resolved\nchain"," previews the chain after inheritance. On save, the extension offers to\nreload Kraft, or to restart it for files Kraft reads only at startup.",[280,456,458],{"id":457},"settings","Settings",[460,461,462,475],"table",{},[463,464,465],"thead",{},[466,467,468,472],"tr",{},[469,470,471],"th",{},"Setting",[469,473,474],{},"What it does",[476,477,478,508],"tbody",{},[466,479,480,486],{},[481,482,483],"td",{},[292,484,485],{},"kraft.url",[481,487,488,489,492,493,496,497,492,500,503,504,507],{},"Where Kraft listens. Empty reads ",[292,490,491],{},"KRAFT_HOST"," and ",[292,494,495],{},"KRAFT_PORT",", then ",[292,498,499],{},"bind",[292,501,502],{},"port"," from ",[292,505,506],{},"access.yaml",".",[466,509,510,515],{},[481,511,512],{},[292,513,514],{},"kraft.notifications",[481,516,517,406,520,523,524,527],{},[292,518,519],{},"all",[292,521,522],{},"gates"," or ",[292,525,526],{},"off",": which states raise a notification.",[276,529,530],{},"If Kraft's version does not match the extension's, the extension turns read-only:\nthe board still updates and every action is disabled until you update one of them.",[532,533,534],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":333,"searchDepth":536,"depth":536,"links":537},2,[538,539,540,541,542],{"id":282,"depth":536,"text":17},{"id":398,"depth":536,"text":399},{"id":417,"depth":536,"text":418},{"id":432,"depth":536,"text":433},{"id":457,"depth":536,"text":458},"Install the Kraft extension to clear gates, review a branch's diff, and edit Kraft config files without leaving VS Code.","md",null,{},true,{"title":83,"description":543},"UoWf_odRM5IIGjOq7dc9EeDbq-OHPd5vXPANzSrRStA",[551,553],{"title":79,"path":80,"stem":81,"description":552,"children":-1},"Add the shipped security-review and gate-review skills to a chain of your own, since no shipped chain uses them.",{"title":87,"path":88,"stem":89,"description":554,"children":-1},"Comment on a Kraft work item at any point in its life, not only at a gate, and see your feedback reach the next agent that touches the code.",1790824541301]