[{"data":1,"prerenderedAt":1040},["ShallowReactive",2],{"navigation_docs":3,"-concepts-how-a-work-item-runs":270,"-concepts-how-a-work-item-runs-surround":1035},[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":40,"body":272,"description":1028,"extension":1029,"links":1030,"meta":1031,"navigation":1032,"path":41,"seo":1033,"stem":42,"__hash__":1034},"docs\u002F2.concepts\u002F2.how-a-work-item-runs.md",{"type":273,"value":274,"toc":1019},"minimark",[275,283,288,295,398,402,405,411,430,543,546,812,829,833,839,870,876,908,913,942,946,952,955,987,990,995,999],[276,277,278,279,282],"p",{},"This page follows one work item from the moment you file it to the moment it\nis archived. It uses the words defined in ",[280,281,36],"a",{"href":37},".",[284,285,287],"h2",{"id":286},"from-filing-to-archive","From filing to archive",[276,289,290],{},[291,292],"img",{"alt":293,"src":294},"A work item's lifecycle: filed, intake, paused, started, the default chain's nodes and gates, then merge, completion and archive","\u002Fdiagrams\u002Flifecycle.svg",[296,297,298,320,326,336,350,368,374,384],"ol",{},[299,300,301,305,306,310,311,314,315,319],"li",{},[302,303,304],"strong",{},"Filing."," You file an item from the web UI, ",[307,308,309],"code",{},"kraft item create",", or an\nagent over MCP. A ",[280,312,313],{"href":229},"trigger"," files one too, and so\ndoes auto-intake, which picks up ready ",[280,316,318],{"href":317},"\u002Fconcepts\u002Fvocabulary#beads","beads","\nwhen you turn it on.",[299,321,322,325],{},[302,323,324],{},"Intake."," Kraft checks the repo, the base branch, the chain and the\npolicy, then freezes the chain and policy onto the item and copies any\nattached spec or plan. A later edit to a chain file changes nothing for\nthis item.",[299,327,328,331,332,335],{},[302,329,330],{},"Paused."," A filed item waits, paused, until a person starts it. Nothing\nhas run and nothing has been spent. ",[307,333,334],{},"--autostart"," from a person starts it\nat once. Auto-intake starts what it files, but only on a chain with at\nleast one gate.",[299,337,338,341,342,345,346,349],{},[302,339,340],{},"Start."," ",[307,343,344],{},"kraft item resume"," (the Start button) claims the item. Before\nthe first node runs, Kraft cuts a git worktree for it from the base branch,\non its own branch, copies the attached documents in, and runs the repo's\n",[307,347,348],{},"setup_command",". If a linked bead is still blocked by another bead, the item\ngoes back to paused instead.\nA workspace item's members are cut the same way, each as a worktree of\nits own connected repository, on a branch of the same name.",[299,351,352,355,356,359,360,363,364,367],{},[302,353,354],{},"The chain."," Kraft walks the nodes in order. An exec node runs its tasks.\nA gate node stops the item until a person decides. In the shipped ",[307,357,358],{},"default","\nchain that means a spec, a plan and a chain revision, each with its gate;\nimplementation and verification in a fix loop; the ",[307,361,362],{},"local_review"," gate; a\ndraft merge request with CI and automated review; and the ",[307,365,366],{},"final_review","\ngate.",[299,369,370,373],{},[302,371,372],{},"Landing."," The chain's last nodes mark the merge request ready, wait for\nan approving review if the forge requires one, merge it, and wait for the\npost-merge pipeline.",[299,375,376,379,380,383],{},[302,377,378],{},"Completed."," When the last node finishes, the item is ",[307,381,382],{},"completed"," and\nKraft closes the beads it implements.",[299,385,386,389,390,393,394,397],{},[302,387,388],{},"Archived."," Archiving removes the worktree and the branch and takes the\nitem off the board. You archive by hand, or set ",[307,391,392],{},"archive.after_days"," in\n",[307,395,396],{},"policy.yaml"," to archive ended items automatically. The record of what\nhappened stays.\nFor a workspace item it removes each member's worktree and branch from\nits connected repository too.",[284,399,401],{"id":400},"statuses","Statuses",[276,403,404],{},"A work item always holds one of seven statuses. Five are open and two are\nended. An ended item never runs again.",[276,406,407],{},[291,408],{"alt":409,"src":410},"The work item status state machine: paused, active, waiting, rate_limited, needs_human, completed and abandoned, with the commands and events that move between them","\u002Fdiagrams\u002Fstatus.svg",[276,412,413,414,417,418,421,422,425,426,429],{},"The diagram shows the usual paths. ",[307,415,416],{},"complete"," and ",[307,419,420],{},"cancel"," can end an item\nfrom any open status, and ",[307,423,424],{},"abandon"," from any status but ",[307,427,428],{},"active","; the second\ntable below lists every move.",[431,432,433,449],"table",{},[434,435,436],"thead",{},[437,438,439,443,446],"tr",{},[440,441,442],"th",{},"Status",[440,444,445],{},"What it means",[440,447,448],{},"The board shows it under",[450,451,452,466,482,494,506,519,531],"tbody",{},[437,453,454,460,463],{},[455,456,457],"td",{},[307,458,459],{},"paused",[455,461,462],{},"Filed and not started, or stopped by a person. Nothing runs.",[455,464,465],{},"Not started if it never ran, else Needs you",[437,467,468,472,479],{},[455,469,470],{},[307,471,428],{},[455,473,474,475,478],{},"A walk is running a node. It takes one of the ",[307,476,477],{},"max_concurrent"," slots.",[455,480,481],{},"Running",[437,483,484,489,492],{},[455,485,486],{},[307,487,488],{},"waiting",[455,490,491],{},"Parked on something outside Kraft: CI, an automated review, an approval, a merge landing. It holds no slot.",[455,493,481],{},[437,495,496,501,504],{},[455,497,498],{},[307,499,500],{},"rate_limited",[455,502,503],{},"The agent hit its provider's rate limit. Kraft starts it again when the limit resets, with no one paged.",[455,505,481],{},[437,507,508,513,516],{},[455,509,510],{},[307,511,512],{},"needs_human",[455,514,515],{},"Stopped at a gate, or stopped for a person by a failure, a cap, or an agent's question.",[455,517,518],{},"Needs you, or Running while an escalation turn works on it",[437,520,521,525,528],{},[455,522,523],{},[307,524,382],{},[455,526,527],{},"Ran to the end of its chain, or a person marked it complete.",[455,529,530],{},"Done",[437,532,533,538,541],{},[455,534,535],{},[307,536,537],{},"abandoned",[455,539,540],{},"A person cancelled or abandoned it.",[455,542,530],{},[276,544,545],{},"What moves an item between them:",[431,547,548,561],{},[434,549,550],{},[437,551,552,555,558],{},[440,553,554],{},"From",[440,556,557],{},"To",[440,559,560],{},"Cause",[450,562,563,577,590,605,624,637,650,663,676,689,704,732,754,767,781,795],{},[437,564,565,568,572],{},[455,566,567],{},"filed",[455,569,570],{},[307,571,459],{},[455,573,574,575,282],{},"Every item, unless a person asked for ",[307,576,334],{},[437,578,579,581,585],{},[455,580,567],{},[455,582,583],{},[307,584,428],{},[455,586,587,589],{},[307,588,334],{},", or auto-intake.",[437,591,592,596,600],{},[455,593,594],{},[307,595,459],{},[455,597,598],{},[307,599,428],{},[455,601,602,604],{},[307,603,344],{},", with an optional steer.",[437,606,607,614,618],{},[455,608,609,611,612],{},[307,610,428],{},", ",[307,613,488],{},[455,615,616],{},[307,617,459],{},[455,619,620,623],{},[307,621,622],{},"kraft item pause",". Kraft also pauses an item itself when a linked bead is blocked, or when the base branch it sits on turns red after another item's merge.",[437,625,626,630,634],{},[455,627,628],{},[307,629,428],{},[455,631,632],{},[307,633,488],{},[455,635,636],{},"A task started an external wait.",[437,638,639,643,647],{},[455,640,641],{},[307,642,488],{},[455,644,645],{},[307,646,428],{},[455,648,649],{},"The wait scheduler looks again when its next check is due.",[437,651,652,656,660],{},[455,653,654],{},[307,655,428],{},[455,657,658],{},[307,659,500],{},[455,661,662],{},"An agent launch was rate limited and no fallback was left.",[437,664,665,669,673],{},[455,666,667],{},[307,668,500],{},[455,670,671],{},[307,672,428],{},[455,674,675],{},"The limit's reset time passed.",[437,677,678,682,686],{},[455,679,680],{},[307,681,428],{},[455,683,684],{},[307,685,512],{},[455,687,688],{},"A gate; a task that failed after recovery and the fix loop; a fix loop, time or budget cap; a wait that timed out; a config error; an agent's question.",[437,690,691,697,701],{},[455,692,693,611,695],{},[307,694,488],{},[307,696,500],{},[455,698,699],{},[307,700,512],{},[455,702,703],{},"A time cap ran out while the item was parked.",[437,705,706,710,714],{},[455,707,708],{},[307,709,512],{},[455,711,712],{},[307,713,428],{},[455,715,716,719,720,723,724,727,728,731],{},[307,717,718],{},"kraft item approve"," or ",[307,721,722],{},"reject"," at a gate; ",[307,725,726],{},"kraft item retry"," after a stop; ",[307,729,730],{},"kraft item resume --steer"," to answer an agent's question; an escalation turn that retries the item.",[437,733,734,744,748],{},[455,735,736,611,738,611,740,611,742],{},[307,737,428],{},[307,739,488],{},[307,741,459],{},[307,743,512],{},[455,745,746],{},[307,747,428],{},[455,749,750,753],{},[307,751,752],{},"kraft item skip",", which moves past the current node or gate.",[437,755,756,760,764],{},[455,757,758],{},[307,759,428],{},[455,761,762],{},[307,763,382],{},[455,765,766],{},"The last node finished.",[437,768,769,772,776],{},[455,770,771],{},"any open status",[455,773,774],{},[307,775,382],{},[455,777,778,282],{},[307,779,780],{},"kraft item complete --reason",[437,782,783,785,789],{},[455,784,771],{},[455,786,787],{},[307,788,537],{},[455,790,791,794],{},[307,792,793],{},"kraft item cancel --reason",". It keeps the worktree until you archive.",[437,796,797,802,806],{},[455,798,799,800],{},"any status but ",[307,801,428],{},[455,803,804],{},[307,805,537],{},[455,807,808,811],{},[307,809,810],{},"kraft item abandon",". It removes the worktree and branch at once. Pause an active item first.",[276,813,814,816,817,819,820,823,824,826,827,282],{},[307,815,726],{}," is the only way back onto an item that a failure stopped,\nand it only works from ",[307,818,512],{},". ",[307,821,822],{},"resume"," only works from ",[307,825,459],{},", apart\nfrom answering a question. A reject that has already hit its gate's reject\nlimit leaves the item in ",[307,828,512],{},[284,830,832],{"id":831},"inside-a-node","Inside a node",[276,834,835],{},[291,836],{"alt":837,"src":838},"Chain, node, step, task and session, and where recovery, the fix loop and escalation sit","\u002Fdiagrams\u002Fstructure.svg",[276,840,841,842,845,846,849,850,853,854,857,858,861,862,865,866,869],{},"A ",[302,843,844],{},"chain"," is a list of nodes. A ",[302,847,848],{},"gate node"," waits for a person. An\n",[302,851,852],{},"exec node"," runs ",[302,855,856],{},"steps"," in order, and the ",[302,859,860],{},"tasks"," in one step in\nparallel. Each run of a task is a ",[302,863,864],{},"worker session",": a row with its status,\nlog, result file, tokens and cost. An agent or subprocess task launches a\nprocess for it. A builtin or forge task runs inside Kraft. ",[307,867,868],{},"kraft view logs","\nreads a session's log.",[276,871,872,873,875],{},"When a task fails, a node can try three things, in this order. Each is\noptional, and each is declared on the node in its chain file (see\n",[280,874,184],{"href":185},").",[296,877,878,888,899],{},[299,879,880,883,884,887],{},[302,881,882],{},"Recovery"," (",[307,885,886],{},"on_failure",") runs repair steps once per entry into the node,\nthen runs the whole node again. It is for a problem outside the code, such\nas a label to fix on the merge request.",[299,889,890,883,893,896,897,282],{},[302,891,892],{},"The fix loop",[307,894,895],{},"fix_loop",") hands the failure to a repair agent, then\nmeasures the whole node again, from its first step. From the second attempt\non, a judge agent decides whether the attempts are still converging. The\nloop ends at its attempt limit or its wall clock, or when the judge stops it.\nSee ",[280,898,194],{"href":195},[299,900,901,883,904,907],{},[302,902,903],{},"Escalation",[307,905,906],{},"escalation",") runs once the node is stuck. If it succeeds,\nthe node gets a fresh entry from its first step. If it does not, the item\nstops for a person.",[276,909,910,911,282],{},"Some stops skip all three and go straight to a person: a config error, a\nbudget or time cap, an infrastructure failure, a wait timeout, and an agent's\nquestion. No repair task can fix those. A rate limit does not stop for a\nperson at all; it parks the item as ",[307,912,500],{},[276,914,915,916,918,919,922,923,925,926,929,930,933,934,937,938,941],{},"A node with no ",[307,917,906],{}," of its own gets a generic one instead. When it\nstops stuck, and ",[307,920,921],{},"auto_escalate_stuck"," is on in ",[307,924,396],{}," (the default),\nKraft starts an ",[302,927,928],{},"escalation turn",": an agent that reads the stopped item and\nmay retry it. It answers only stuck stops, never the ones listed above, and at\nmost ",[307,931,932],{},"auto_escalate_stuck_cap"," times. You can also start or\ncontinue one yourself with ",[307,935,936],{},"kraft item escalate",". The\n",[280,939,259],{"href":940},"\u002Fproject\u002Fsecurity#default-posture"," page lists what an escalation\nturn is allowed to do.",[284,943,945],{"id":944},"steering","Steering",[276,947,841,948,951],{},[302,949,950],{},"steer"," is a note to the next agent Kraft launches for this item. It is\nused once, by the first agent task that runs, and then dropped. There is no\nchannel into an agent that is already running, so a steer never reaches one.\nTo redirect running work, pause it and resume it with a steer.",[276,953,954],{},"You give a steer in four ways:",[956,957,958,968,974,981],"ul",{},[299,959,960,963,964,967],{},[307,961,962],{},"kraft item resume ID --steer \"...\""," reaches every paused agent task.\n",[307,965,966],{},"--steer-task PATH=TEXT"," addresses one task by its canonical path.",[299,969,970,973],{},[307,971,972],{},"kraft item retry ID --steer \"...\""," goes into the prompt of the retried\nnode.",[299,975,976,977,980],{},"Rejecting a gate with ",[307,978,979],{},"--note"," sends the note, as a steer, to the node the\ngate sends the item back to.",[299,982,983,984,986],{},"Answering an agent's question: ",[307,985,962],{}," on an\nitem that stopped with one.",[276,988,989],{},"Kraft refuses a steer that no agent task would read, for example on a node\nthat only runs a subprocess or waits on CI. It tells you so rather than\ndropping the text.",[276,991,992,993,282],{},"Review threads are the other way to give feedback. They carry line-level\ncomments and stay until resolved. See\n",[280,994,87],{"href":88},[284,996,998],{"id":997},"where-to-go-next","Where to go next",[956,1000,1001,1009,1014],{},[299,1002,1003,1005,1006,1008],{},[280,1004,44],{"href":45},": the limits behind the\n",[307,1007,512],{}," stops above.",[299,1010,1011,1013],{},[280,1012,184],{"href":185},": the keys that declare steps, recovery,\nfix loops and escalation.",[299,1015,1016,1018],{},[280,1017,251],{"href":252},": the process and modules that do all of\nthis.",{"title":1020,"searchDepth":1021,"depth":1021,"links":1022},"",2,[1023,1024,1025,1026,1027],{"id":286,"depth":1021,"text":287},{"id":400,"depth":1021,"text":401},{"id":831,"depth":1021,"text":832},{"id":944,"depth":1021,"text":945},{"id":997,"depth":1021,"text":998},"A work item's path from filing to merge, the seven statuses it can hold, and where a steer, a fix loop and an escalation fit.","md",null,{},true,{"title":40,"description":1028},"oaR97mBdEQzMms0OVycL51MN8XeZ4sb2U-FEM2s9ryU",[1036,1038],{"title":36,"path":37,"stem":38,"description":1037,"children":-1},"The core words: work item, chain, node, task, gate, cap, plus intake, beads and steer.",{"title":44,"path":45,"stem":46,"description":1039,"children":-1},"How Kraft bounds time, tokens, and dollars, and how a policy resolves from policy.yaml down to a single task.",1790824540729]