[{"data":1,"prerenderedAt":892},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-agent-contract":302,"-getting-started-agent-contract-surround":889},[4,18,32,53,74,103,120,133,147,156],{"title":5,"path":6,"stem":7,"children":8,"page":17},"Introduction","\u002Fintroduction","1.introduction",[9,13],{"title":10,"path":11,"stem":12},"Why the-i18n-kit","\u002Fintroduction\u002Fwhy","1.introduction\u002F1.why",{"title":14,"path":15,"stem":16},"Architecture","\u002Fintroduction\u002Farchitecture","1.introduction\u002F2.architecture",false,{"title":19,"icon":20,"path":21,"stem":22,"children":23,"page":17},"ESLint Plugin","i-lucide-shield-check","\u002Feslint-plugin","10.eslint-plugin",[24,28],{"title":25,"path":26,"stem":27},"Install and Rules","\u002Feslint-plugin\u002Finstall-and-rules","10.eslint-plugin\u002F1.install-and-rules",{"title":29,"path":30,"stem":31},"Layer-Aware Missing Keys","\u002Feslint-plugin\u002Flayer-aware","10.eslint-plugin\u002F2.layer-aware",{"title":33,"path":34,"stem":35,"children":36,"page":17},"Getting Started","\u002Fgetting-started","2.getting-started",[37,41,45,49],{"title":38,"path":39,"stem":40},"Set Up the MCP Server","\u002Fgetting-started\u002Fagent-setup","2.getting-started\u002F1.agent-setup",{"title":42,"path":43,"stem":44},"From an Unconfigured Repository to a Translated One","\u002Fgetting-started\u002Fcold-start","2.getting-started\u002F2.cold-start",{"title":46,"path":47,"stem":48},"Agent Contract","\u002Fgetting-started\u002Fagent-contract","2.getting-started\u002F3.agent-contract",{"title":50,"path":51,"stem":52},"Harness Integrations","\u002Fgetting-started\u002Fharness-integrations","2.getting-started\u002F4.harness-integrations",{"title":54,"path":55,"stem":56,"children":57,"page":17},"Monorepos","\u002Fmonorepos","3.monorepos",[58,62,66,70],{"title":59,"path":60,"stem":61},"Layers and the Consumer Graph","\u002Fmonorepos\u002Flayers-and-consumer-graph","3.monorepos\u002F1.layers-and-consumer-graph",{"title":63,"path":64,"stem":65},"Shared Layers and Duplicates","\u002Fmonorepos\u002Fduplicates-and-shared-layers","3.monorepos\u002F2.duplicates-and-shared-layers",{"title":67,"path":68,"stem":69},"Misplaced Usages","\u002Fmonorepos\u002Fmisplaced-usages","3.monorepos\u002F3.misplaced-usages",{"title":71,"path":72,"stem":73},"Orphan Detection","\u002Fmonorepos\u002Forphan-detection","3.monorepos\u002F4.orphan-detection",{"title":75,"path":76,"stem":77,"children":78,"page":17},"Frameworks","\u002Fframeworks","4.frameworks",[79,83,87,91,95,99],{"title":80,"path":81,"stem":82},"Detection","\u002Fframeworks\u002Fdetection","4.frameworks\u002F1.detection",{"title":84,"path":85,"stem":86},"Nuxt","\u002Fframeworks\u002Fnuxt","4.frameworks\u002F2.nuxt",{"title":88,"path":89,"stem":90},"Laravel","\u002Fframeworks\u002Flaravel","4.frameworks\u002F3.laravel",{"title":92,"path":93,"stem":94},"Vue","\u002Fframeworks\u002Fvue","4.frameworks\u002F4.vue",{"title":96,"path":97,"stem":98},"React \u002F Next.js","\u002Fframeworks\u002Freact-next","4.frameworks\u002F5.react-next",{"title":100,"path":101,"stem":102},"Generic","\u002Fframeworks\u002Fgeneric","4.frameworks\u002F6.generic",{"title":104,"path":105,"stem":106,"children":107,"page":17},"Configuration","\u002Fconfiguration","5.configuration",[108,112,116],{"title":109,"path":110,"stem":111},"Where Configuration Lives","\u002Fconfiguration\u002Fwhere-config-lives","5.configuration\u002F1.where-config-lives",{"title":113,"path":114,"stem":115},"Precedence and Locale References","\u002Fconfiguration\u002Fprecedence-and-locale-refs","5.configuration\u002F2.precedence-and-locale-refs",{"title":117,"path":118,"stem":119},"Configuration Fields","\u002Fconfiguration\u002Freference","5.configuration\u002F4.reference",{"title":121,"path":122,"stem":123,"children":124,"page":17},"Nuxt Module","\u002Fnuxt-module","6.nuxt-module",[125,129],{"title":126,"path":127,"stem":128},"Install and Setup","\u002Fnuxt-module\u002Finstall","6.nuxt-module\u002F1.install",{"title":130,"path":131,"stem":132},"The Artifact and Options","\u002Fnuxt-module\u002Fartifact-and-options","6.nuxt-module\u002F2.artifact-and-options",{"title":134,"icon":135,"path":136,"stem":137,"children":138,"page":17},"CI\u002FCD","i-lucide-git-pull-request","\u002Fci-cd","7.ci-cd",[139,143],{"title":140,"path":141,"stem":142},"GitHub Actions","\u002Fci-cd\u002Fgithub-actions","7.ci-cd\u002F1.github-actions",{"title":144,"path":145,"stem":146},"GitLab CI","\u002Fci-cd\u002Fgitlab-ci","7.ci-cd\u002F2.gitlab-ci",{"title":148,"path":149,"stem":150,"children":151,"page":17},"Concepts","\u002Fconcepts","8.concepts",[152],{"title":153,"path":154,"stem":155},"Translation Modes","\u002Fconcepts\u002Ftranslation-modes","8.concepts\u002F1.translation-modes",{"title":157,"path":158,"stem":159,"children":160,"page":-1},"Reference","\u002Freference","9.reference",[161,163,229,294,298],{"title":157,"path":158,"stem":162},"9.reference\u002Findex",{"title":164,"path":165,"stem":166,"children":167,"page":-1},"CLI Commands","\u002Freference\u002Fcli","9.reference\u002F1.cli\u002Findex",[168,169,173,177,181,185,189,193,197,201,205,209,213,217,221,225],{"title":164,"path":165,"stem":166},{"title":170,"path":171,"stem":172},"check","\u002Freference\u002Fcli\u002Fcheck","9.reference\u002F1.cli\u002Fcheck",{"title":174,"path":175,"stem":176},"discover","\u002Freference\u002Fcli\u002Fdiscover","9.reference\u002F1.cli\u002Fdiscover",{"title":178,"path":179,"stem":180},"find-duplicates","\u002Freference\u002Fcli\u002Ffind-duplicates","9.reference\u002F1.cli\u002Ffind-duplicates",{"title":182,"path":183,"stem":184},"get","\u002Freference\u002Fcli\u002Fget","9.reference\u002F1.cli\u002Fget",{"title":186,"path":187,"stem":188},"init","\u002Freference\u002Fcli\u002Finit","9.reference\u002F1.cli\u002Finit",{"title":190,"path":191,"stem":192},"missing","\u002Freference\u002Fcli\u002Fmissing","9.reference\u002F1.cli\u002Fmissing",{"title":194,"path":195,"stem":196},"move","\u002Freference\u002Fcli\u002Fmove","9.reference\u002F1.cli\u002Fmove",{"title":198,"path":199,"stem":200},"orphans","\u002Freference\u002Fcli\u002Forphans","9.reference\u002F1.cli\u002Forphans",{"title":202,"path":203,"stem":204},"remove","\u002Freference\u002Fcli\u002Fremove","9.reference\u002F1.cli\u002Fremove",{"title":206,"path":207,"stem":208},"scaffold","\u002Freference\u002Fcli\u002Fscaffold","9.reference\u002F1.cli\u002Fscaffold",{"title":210,"path":211,"stem":212},"search","\u002Freference\u002Fcli\u002Fsearch","9.reference\u002F1.cli\u002Fsearch",{"title":214,"path":215,"stem":216},"status","\u002Freference\u002Fcli\u002Fstatus","9.reference\u002F1.cli\u002Fstatus",{"title":218,"path":219,"stem":220},"translate","\u002Freference\u002Fcli\u002Ftranslate","9.reference\u002F1.cli\u002Ftranslate",{"title":222,"path":223,"stem":224},"translate-key","\u002Freference\u002Fcli\u002Ftranslate-key","9.reference\u002F1.cli\u002Ftranslate-key",{"title":226,"path":227,"stem":228},"write","\u002Freference\u002Fcli\u002Fwrite","9.reference\u002F1.cli\u002Fwrite",{"title":230,"path":231,"stem":232,"children":233,"page":-1},"MCP Tools","\u002Freference\u002Fmcp","9.reference\u002F2.mcp\u002Findex",[234,235,238,242,246,250,254,258,262,266,270,274,278,282,286,290],{"title":230,"path":231,"stem":232},{"title":174,"path":236,"stem":237},"\u002Freference\u002Fmcp\u002Fdiscover","9.reference\u002F2.mcp\u002Fdiscover",{"title":239,"path":240,"stem":241},"find_duplicate_keys","\u002Freference\u002Fmcp\u002Ffind_duplicate_keys","9.reference\u002F2.mcp\u002Ffind_duplicate_keys",{"title":243,"path":244,"stem":245},"find_orphan_keys","\u002Freference\u002Fmcp\u002Ffind_orphan_keys","9.reference\u002F2.mcp\u002Ffind_orphan_keys",{"title":247,"path":248,"stem":249},"find_undefined_keys","\u002Freference\u002Fmcp\u002Ffind_undefined_keys","9.reference\u002F2.mcp\u002Ffind_undefined_keys",{"title":251,"path":252,"stem":253},"get_missing_translations","\u002Freference\u002Fmcp\u002Fget_missing_translations","9.reference\u002F2.mcp\u002Fget_missing_translations",{"title":255,"path":256,"stem":257},"get_translation_status","\u002Freference\u002Fmcp\u002Fget_translation_status","9.reference\u002F2.mcp\u002Fget_translation_status",{"title":259,"path":260,"stem":261},"get_translations","\u002Freference\u002Fmcp\u002Fget_translations","9.reference\u002F2.mcp\u002Fget_translations",{"title":263,"path":264,"stem":265},"list_namespaces","\u002Freference\u002Fmcp\u002Flist_namespaces","9.reference\u002F2.mcp\u002Flist_namespaces",{"title":267,"path":268,"stem":269},"move_translation_key","\u002Freference\u002Fmcp\u002Fmove_translation_key","9.reference\u002F2.mcp\u002Fmove_translation_key",{"title":271,"path":272,"stem":273},"remove_translations","\u002Freference\u002Fmcp\u002Fremove_translations","9.reference\u002F2.mcp\u002Fremove_translations",{"title":275,"path":276,"stem":277},"scaffold_locale","\u002Freference\u002Fmcp\u002Fscaffold_locale","9.reference\u002F2.mcp\u002Fscaffold_locale",{"title":279,"path":280,"stem":281},"search_translations","\u002Freference\u002Fmcp\u002Fsearch_translations","9.reference\u002F2.mcp\u002Fsearch_translations",{"title":283,"path":284,"stem":285},"translate_key","\u002Freference\u002Fmcp\u002Ftranslate_key","9.reference\u002F2.mcp\u002Ftranslate_key",{"title":287,"path":288,"stem":289},"translate_missing","\u002Freference\u002Fmcp\u002Ftranslate_missing","9.reference\u002F2.mcp\u002Ftranslate_missing",{"title":291,"path":292,"stem":293},"write_translations","\u002Freference\u002Fmcp\u002Fwrite_translations","9.reference\u002F2.mcp\u002Fwrite_translations",{"title":295,"path":296,"stem":297},"GitHub Action","\u002Freference\u002Faction","9.reference\u002F3.action",{"title":299,"path":300,"stem":301},"Programmatic API","\u002Freference\u002Fprogrammatic-api","9.reference\u002F4.programmatic-api",{"id":303,"title":46,"body":304,"description":336,"extension":882,"links":883,"meta":884,"navigation":885,"path":47,"seo":886,"stem":48,"__hash__":888},"docs\u002F2.getting-started\u002F3.agent-contract.md",{"type":305,"value":306,"toc":869},"minimark",[307,317,322,330,406,421,425,475,478,482,543,561,565,596,600,625,648,652,662,666,673,715,729,735,739,755,759,853,865],[308,309,310,311,316],"p",{},"Everything a pipeline or an agent branches on. Which tool pairs with which\ncommand is on ",[312,313,315],"a",{"href":314},"\u002Fintroduction\u002Farchitecture#command-and-tool-names","architecture",".",[318,319,321],"h2",{"id":320},"output-and-errors","Output and Errors",[308,323,324,325,329],{},"stdout carries the result, as JSON whenever stdout is not a terminal. Pass\n",[326,327,328],"code",{},"--json"," to force JSON in a terminal. Logs go to stderr. A failed run still\nprints JSON:",[331,332,337],"pre",{"className":333,"code":334,"language":335,"meta":336,"style":336},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{ \"error\": { \"code\": \"CONFIG_ERROR\", \"message\": \"…\" } }\n","json","",[326,338,339],{"__ignoreMap":336},[340,341,344,348,351,355,358,361,364,366,369,371,373,375,379,381,384,386,389,391,393,395,398,400,403],"span",{"class":342,"line":343},"line",1,[340,345,347],{"class":346},"sMK4o","{",[340,349,350],{"class":346}," \"",[340,352,354],{"class":353},"spNyl","error",[340,356,357],{"class":346},"\"",[340,359,360],{"class":346},":",[340,362,363],{"class":346}," {",[340,365,350],{"class":346},[340,367,326],{"class":368},"sBMFI",[340,370,357],{"class":346},[340,372,360],{"class":346},[340,374,350],{"class":346},[340,376,378],{"class":377},"sfazB","CONFIG_ERROR",[340,380,357],{"class":346},[340,382,383],{"class":346},",",[340,385,350],{"class":346},[340,387,388],{"class":368},"message",[340,390,357],{"class":346},[340,392,360],{"class":346},[340,394,350],{"class":346},[340,396,397],{"class":377},"…",[340,399,357],{"class":346},[340,401,402],{"class":346}," }",[340,404,405],{"class":346}," }\n",[308,407,408,409,412,413,416,417,420],{},"Every MCP tool advertises an ",[326,410,411],{},"outputSchema"," and returns its result as\n",[326,414,415],{},"structuredContent"," conforming to it, with the same JSON in a text block; the\n",[312,418,419],{"href":231},"MCP reference"," lists the fields each tool answers with.",[318,422,424],{"id":423},"exit-codes","Exit Codes",[426,427,428,441],"table",{},[429,430,431],"thead",{},[432,433,434,438],"tr",{},[435,436,437],"th",{},"Code",[435,439,440],{},"Means",[442,443,444,455,465],"tbody",{},[432,445,446,452],{},[447,448,449],"td",{},[326,450,451],{},"0",[447,453,454],{},"The run succeeded and no gate tripped",[432,456,457,462],{},[447,458,459],{},[326,460,461],{},"1",[447,463,464],{},"The run itself failed; its counters say nothing about your project",[432,466,467,472],{},[447,468,469],{},[326,470,471],{},"2",[447,473,474],{},"The run succeeded and a gate tripped; the findings are real",[308,476,477],{},"A failed run outranks a tripped gate; gates go unevaluated then.",[318,479,481],{"id":480},"gates","Gates",[426,483,484,497],{},[429,485,486],{},[432,487,488,491],{},[435,489,490],{},"Flag",[435,492,493,494,496],{},"Exits ",[326,495,471],{}," when",[442,498,499,509,519,529],{},[432,500,501,506],{},[447,502,503],{},[326,504,505],{},"--fail-on-missing",[447,507,508],{},"any key is missing",[432,510,511,516],{},[447,512,513],{},[326,514,515],{},"--fail-on-orphans",[447,517,518],{},"any orphan key was found",[432,520,521,526],{},[447,522,523],{},[326,524,525],{},"--fail-on-failed",[447,527,528],{},"any key failed to translate",[432,530,531,536],{},[447,532,533],{},[326,534,535],{},"--fail-under \u003Cn>",[447,537,538,539,542],{},"overall completion is below ",[326,540,541],{},"n"," percent",[308,544,545,546,548,549,551,552,556,557,560],{},"Gates are opt-in, with one exception: ",[326,547,170],{}," always exits ",[326,550,471],{}," on keys that code\ncalls and no layer defines. Which command takes which flag:\n",[312,553,555],{"href":554},"\u002Freference\u002Fcli#ci-gates","CLI reference",". A tripped gate adds a ",[326,558,559],{},"gatesTripped","\narray naming the gate, its counter, its threshold and the observed value.",[318,562,564],{"id":563},"diverting-a-large-result","Diverting a Large Result",[308,566,567,568,571,572,575,576,579,580,583,584,587,588,591,592,595],{},"Pass ",[326,569,570],{},"--output-file \u003Cpath>",", or ",[326,573,574],{},"outputFile"," from a tool: the full JSON goes to\nthat file and the caller receives ",[326,577,578],{},"{ reportFile, summary }",". The\n",[312,581,582],{"href":165},"CLI"," and ",[312,585,586],{"href":231},"MCP"," references list which commands and\ntools accept it. Relative paths resolve against the project directory and may not\nescape it. ",[326,589,590],{},"reportOutput: true"," in your kit config diverts every diagnostic run to\n",[326,593,594],{},".i18n-reports\u002F\u003Ctool>.json"," with no flag.",[318,597,599],{"id":598},"capped-reads","Capped Reads",[308,601,602,604,605,604,607,609,610,612,613,616,617,620,621,624],{},[326,603,210],{},", ",[326,606,190],{},[326,608,182],{}," and the ",[326,611,263],{}," tool take ",[326,614,615],{},"limit"," and\n",[326,618,619],{},"offset",". A tool call caps at ",[326,622,623],{},"limit: 100","; a terminal run is unbounded, since\nits answer goes into a pipe rather than a context window.",[308,626,627,628,583,631,634,635,637,638,604,641,644,645,316],{},"A result the cap cut short carries ",[326,629,630],{},"truncated: true",[326,632,633],{},"nextOffset"," — pass\nthat as ",[326,636,619],{}," to continue where it stopped. The totals are counted before the\ncap and stay the size of the finding: ",[326,639,640],{},"totalMatches",[326,642,643],{},"summary.totalMissingKeys",",\n",[326,646,647],{},"totalNamespaces",[318,649,651],{"id":650},"next-steps","Next Steps",[308,653,654,655,658,659,661],{},"A result whose findings imply an action carries one sentence naming it, on\n",[326,656,657],{},"summary.message"," where there is a summary and on ",[326,660,388],{}," otherwise — the\nflag to re-run with, the tool that fixes what was found. It is never an error,\nand never replaces a message the operation wrote itself.",[318,663,665],{"id":664},"translate-results","Translate Results",[308,667,668,669,672],{},"Per locale, ",[326,670,671],{},"missing = translated + wouldTranslate + failed + skipped",". A run\nthat lost keys cannot balance. Both reason sets are closed — branch on the value:",[674,675,676,701],"ul",{},[677,678,679,682,683,604,686,604,689,644,692,604,695,604,698],"li",{},[326,680,681],{},"failed",": ",[326,684,685],{},"provider-error",[326,687,688],{},"omitted-by-model",[326,690,691],{},"placeholder-mismatch",[326,693,694],{},"plural-mismatch",[326,696,697],{},"write-error",[326,699,700],{},"truncated",[677,702,703,682,706,604,709,604,712],{},[326,704,705],{},"skipped",[326,707,708],{},"no-provider",[326,710,711],{},"already-translated",[326,713,714],{},"protected-locale",[308,716,717,720,721,724,725,728],{},[326,718,719],{},"stale"," is a fifth bucket, present only with ",[326,722,723],{},"translationMemory"," enabled: keys\nwhose target was written from source text that has changed since. They are\ntranslated, so they stay outside the invariant above; ",[326,726,727],{},"summary.staleCount"," totals\nthem across locales and layers.",[308,730,731,732,316],{},"See ",[312,733,734],{"href":154},"translation modes",[318,736,738],{"id":737},"safety-defaults","Safety Defaults",[674,740,741,752],{},[677,742,743,744,747,748,751],{},"The orphan scan reports. Nothing is deleted unless you pass ",[326,745,746],{},"--remove",", or\n",[326,749,750],{},"remove: true"," from a tool.",[677,753,754],{},"Keys with ambiguous evidence, and keys used only from apps that do not consume\ntheir layer, are never deleted — even then.",[318,756,758],{"id":757},"environment-variables","Environment Variables",[426,760,761,774],{},[429,762,763],{},[432,764,765,768,771],{},[435,766,767],{},"Variable",[435,769,770],{},"Read by",[435,772,773],{},"Sets",[442,775,776,789,810,822,841],{},[432,777,778,783,786],{},[447,779,780],{},[326,781,782],{},"I18N_PROJECT_DIR",[447,784,785],{},"MCP server",[447,787,788],{},"Default project directory for every tool",[432,790,791,796,798],{},[447,792,793],{},[326,794,795],{},"I18N_PROVIDER",[447,797,785],{},[447,799,800,604,803,806,807],{},[326,801,802],{},"openai",[326,804,805],{},"anthropic"," or ",[326,808,809],{},"google",[432,811,812,817,819],{},[447,813,814],{},[326,815,816],{},"I18N_MODEL",[447,818,785],{},[447,820,821],{},"The model name",[432,823,824,835,838],{},[447,825,826,604,829,604,832],{},[326,827,828],{},"OPENAI_API_KEY",[326,830,831],{},"ANTHROPIC_API_KEY",[326,833,834],{},"GEMINI_API_KEY",[447,836,837],{},"both",[447,839,840],{},"The key for the matching provider",[432,842,843,848,850],{},[447,844,845],{},[326,846,847],{},"I18N_BASE_URL",[447,849,837],{},[447,851,852],{},"Endpoint override for any provider (OpenAI-compatible gateways, proxies)",[308,854,855,856,604,859,604,862,316],{},"The CLI takes the first three as flags: ",[326,857,858],{},"--projectDir",[326,860,861],{},"--provider",[326,863,864],{},"--model",[866,867,868],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .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":336,"searchDepth":870,"depth":870,"links":871},3,[872,874,875,876,877,878,879,880,881],{"id":320,"depth":873,"text":321},2,{"id":423,"depth":873,"text":424},{"id":480,"depth":873,"text":481},{"id":563,"depth":873,"text":564},{"id":598,"depth":873,"text":599},{"id":650,"depth":873,"text":651},{"id":664,"depth":873,"text":665},{"id":737,"depth":873,"text":738},{"id":757,"depth":873,"text":758},"md",null,{},true,{"description":887,"title":46},"Exit codes, gates, result invariants, failure reasons, output diversion, capped reads, next-step messages and environment variables — everything a caller branches on.","xY06_mYtRnjbJAlgFkm0LO2iK7sGA06_Nov6cdIGi_U",[890,891],{"title":42,"path":43,"stem":44,"description":336,"children":-1},{"title":50,"path":51,"stem":52,"description":336,"children":-1},1789062605942]