[{"data":1,"prerenderedAt":1142},["ShallowReactive",2],{"navigation_docs":3,"-skills-dev-skills-exit-strategy":246,"-skills-dev-skills-exit-strategy-surround":1137},[4,28,62,94,207,236,240],{"title":5,"path":6,"stem":7,"children":8,"order":11,"icon":27},"Getting Started","/getting-started","1.getting-started/index",[9,12,17,22],{"title":10,"path":6,"stem":7,"order":11},"What is Gangsta Agents?",1,{"title":13,"path":14,"stem":15,"order":16},"Installation","/getting-started/installation","1.getting-started/installation",2,{"title":18,"path":19,"stem":20,"order":21},"Quickstart — Your First Heist","/getting-started/quickstart","1.getting-started/quickstart",3,{"title":23,"path":24,"stem":25,"order":26},"The 1% Rule","/getting-started/the-1-percent-rule","1.getting-started/the-1-percent-rule",4,"i-lucide-rocket",{"title":29,"path":30,"stem":31,"children":32,"order":11,"icon":61},"Core Concepts","/core-concepts","2.core-concepts/index",[33,34,39,43,48,52,56],{"title":29,"path":30,"stem":31,"order":11},{"title":35,"path":36,"stem":37,"order":38},"Intent Routing","/core-concepts/intent-routing","2.core-concepts/intent-routing",5,{"title":40,"path":41,"stem":42,"order":26},"Omerta — The Five Laws","/core-concepts/omerta","2.core-concepts/omerta",{"title":44,"path":45,"stem":46,"order":47},"Spec-Driven Development","/core-concepts/spec-driven-dev","2.core-concepts/spec-driven-dev",7,{"title":49,"path":50,"stem":51,"order":16},"The Gangsta Agents Family Hierarchy","/core-concepts/the-borgata","2.core-concepts/the-borgata",{"title":53,"path":54,"stem":55,"order":21},"The Heist Pipeline","/core-concepts/the-heist","2.core-concepts/the-heist",{"title":57,"path":58,"stem":59,"order":60},"The Ledger","/core-concepts/the-ledger","2.core-concepts/the-ledger",6,"i-lucide-brain",{"title":63,"icon":64,"path":65,"stem":66,"children":67},"Heist Pipeline","i-lucide-workflow","/heist-pipeline","3.heist-pipeline",[68,70,74,78,82,86,90],{"title":53,"path":65,"stem":69,"order":11},"3.heist-pipeline/index",{"title":71,"path":72,"stem":73,"order":16},"Reconnaissance","/heist-pipeline/reconnaissance","3.heist-pipeline/1.reconnaissance",{"title":75,"path":76,"stem":77,"order":21},"The Grilling","/heist-pipeline/the-grilling","3.heist-pipeline/2.the-grilling",{"title":79,"path":80,"stem":81,"order":26},"The Sit-Down","/heist-pipeline/the-sit-down","3.heist-pipeline/3.the-sit-down",{"title":83,"path":84,"stem":85,"order":38},"Resource Development","/heist-pipeline/resource-development","3.heist-pipeline/4.resource-development",{"title":87,"path":88,"stem":89,"order":60},"Execution","/heist-pipeline/the-hit","3.heist-pipeline/5.the-hit",{"title":91,"path":92,"stem":93,"order":47},"The Delivery","/heist-pipeline/laundering","3.heist-pipeline/6.laundering",{"title":95,"icon":96,"path":97,"stem":98,"children":99},"Skills Reference","i-heroicons-bolt","/skills","4.skills",[100,102,138,173],{"title":95,"path":97,"stem":101,"order":11,"icon":96},"4.skills/index",{"title":103,"icon":104,"path":105,"stem":106,"children":107,"page":137},"Dev Skills","i-heroicons-wrench-screwdriver","/skills/dev-skills","4.skills/dev-skills",[108,113,117,121,125,129,133],{"title":109,"path":110,"stem":111,"order":112,"icon":96},"audit-review","/skills/dev-skills/audit-review","4.skills/dev-skills/audit-review",31,{"title":114,"path":115,"stem":116,"order":112,"icon":96},"drill-tdd","/skills/dev-skills/drill-tdd","4.skills/dev-skills/drill-tdd",{"title":118,"path":119,"stem":120,"order":112,"icon":96},"exit-strategy","/skills/dev-skills/exit-strategy","4.skills/dev-skills/exit-strategy",{"title":122,"path":123,"stem":124,"order":112,"icon":96},"interrogation-debugging","/skills/dev-skills/interrogation-debugging","4.skills/dev-skills/interrogation-debugging",{"title":126,"path":127,"stem":128,"order":112,"icon":96},"receiving-orders","/skills/dev-skills/receiving-orders","4.skills/dev-skills/receiving-orders",{"title":130,"path":131,"stem":132,"order":112,"icon":96},"safehouse-worktrees","/skills/dev-skills/safehouse-worktrees","4.skills/dev-skills/safehouse-worktrees",{"title":134,"path":135,"stem":136,"order":112,"icon":96},"sweep-verification","/skills/dev-skills/sweep-verification","4.skills/dev-skills/sweep-verification",false,{"title":139,"icon":140,"path":141,"stem":142,"children":143,"page":137},"Heist Phases","i-heroicons-academic-cap","/skills/heist-phases","4.skills/heist-phases",[144,149,154,158,163,168],{"title":145,"path":146,"stem":147,"order":148,"icon":96},"laundering","/skills/heist-phases/laundering","4.skills/heist-phases/laundering",21,{"title":150,"path":151,"stem":152,"order":153,"icon":96},"reconnaissance","/skills/heist-phases/reconnaissance","4.skills/heist-phases/reconnaissance",22,{"title":155,"path":156,"stem":157,"order":148,"icon":96},"resource-development","/skills/heist-phases/resource-development","4.skills/heist-phases/resource-development",{"title":159,"path":160,"stem":161,"order":162,"icon":96},"the-grilling","/skills/heist-phases/the-grilling","4.skills/heist-phases/the-grilling",23,{"title":164,"path":165,"stem":166,"order":167,"icon":96},"the-hit","/skills/heist-phases/the-hit","4.skills/heist-phases/the-hit",24,{"title":169,"path":170,"stem":171,"order":172,"icon":96},"the-sit-down","/skills/heist-phases/the-sit-down","4.skills/heist-phases/the-sit-down",26,{"title":174,"icon":175,"path":176,"stem":177,"children":178,"page":137},"Hierarchy Roles","i-heroicons-user-group","/skills/hierarchy-roles","4.skills/hierarchy-roles",[179,184,188,193,198,203],{"title":180,"path":181,"stem":182,"order":183,"icon":96},"omerta","/skills/hierarchy-roles/omerta","4.skills/hierarchy-roles/omerta",11,{"title":185,"path":186,"stem":187,"order":183,"icon":96},"the-capo","/skills/hierarchy-roles/the-capo","4.skills/hierarchy-roles/the-capo",{"title":189,"path":190,"stem":191,"order":192,"icon":96},"the-consigliere","/skills/hierarchy-roles/the-consigliere","4.skills/hierarchy-roles/the-consigliere",12,{"title":194,"path":195,"stem":196,"order":197,"icon":96},"the-ledger","/skills/hierarchy-roles/the-ledger","4.skills/hierarchy-roles/the-ledger",15,{"title":199,"path":200,"stem":201,"order":202,"icon":96},"the-underboss","/skills/hierarchy-roles/the-underboss","4.skills/hierarchy-roles/the-underboss",17,{"title":204,"path":205,"stem":206,"order":183,"icon":96},"using-gangsta","/skills/hierarchy-roles/using-gangsta","4.skills/hierarchy-roles/using-gangsta",{"title":208,"icon":209,"path":210,"stem":211,"children":212},"Advanced","i-lucide-zap","/advanced","5.advanced",[213,216,220,224,228,232],{"title":214,"path":210,"stem":215,"order":11},"Advanced Topics","5.advanced/index",{"title":217,"path":218,"stem":219,"order":38},"Artifacts Reference","/advanced/artifacts","5.advanced/artifacts",{"title":221,"path":222,"stem":223,"order":26},"Checkpoint Recovery","/advanced/checkpoint-recovery","5.advanced/checkpoint-recovery",{"title":225,"path":226,"stem":227,"order":38},"Contributing","/advanced/contributing","5.advanced/contributing",{"title":229,"path":230,"stem":231,"order":16},"Writing Custom Skills","/advanced/custom-skills","5.advanced/custom-skills",{"title":233,"path":234,"stem":235,"order":21},"Multi-Agent Patterns","/advanced/multi-agent-patterns","5.advanced/multi-agent-patterns",{"title":237,"path":238,"stem":239,"order":60},"Glossary","/glossary","6.glossary",{"title":241,"path":242,"stem":243,"order":244,"icon":245},"Changelog","/changelog","7.changelog",8,"i-lucide-scroll-text",{"id":247,"title":118,"body":248,"description":1130,"extension":1131,"links":1132,"meta":1133,"navigation":1134,"path":119,"seo":1135,"stem":120,"__hash__":1136},"docs/4.skills/dev-skills/exit-strategy.md",{"type":249,"value":250,"toc":1110},"minimark",[251,256,261,265,272,278,282,287,292,343,348,356,359,365,369,418,421,425,428,434,440,444,449,572,575,579,688,691,695,706,711,715,720,726,729,732,768,770,774,779,782,816,819,842,848,852,936,940,944,960,964,976,980,992,996,1008,1012,1017,1031,1036,1050,1054,1059,1070,1075,1083,1087,1106],[252,253,255],"h1",{"id":254},"the-exit-strategy-finishing-a-development-branch","The Exit Strategy: Finishing a Development Branch",[257,258,260],"h2",{"id":259},"overview","Overview",[262,263,264],"p",{},"Every operation needs a clean exit. Guide completion of development work by verifying, presenting options, executing, and cleaning up.",[262,266,267,271],{},[268,269,270],"strong",{},"Core principle:"," Verify tests → Present options → Execute choice → Clean up.",[262,273,274,277],{},[268,275,276],{},"Announce at start:"," \"Initiating exit strategy for this branch.\"",[257,279,281],{"id":280},"the-process","The Process",[283,284,286],"h3",{"id":285},"step-1-verify-tests","Step 1: Verify Tests",[262,288,289],{},[268,290,291],{},"Before presenting options, verify tests pass:",[293,294,299],"pre",{"className":295,"code":296,"language":297,"meta":298,"style":298},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Run project's test suite\nnpm test / cargo test / pytest / go test ./...\n","bash","",[300,301,302,310],"code",{"__ignoreMap":298},[303,304,306],"span",{"class":305,"line":11},"line",[303,307,309],{"class":308},"sHwdD","# Run project's test suite\n",[303,311,312,316,320,323,326,328,330,333,335,338,340],{"class":305,"line":16},[303,313,315],{"class":314},"sBMFI","npm",[303,317,319],{"class":318},"sfazB"," test",[303,321,322],{"class":318}," /",[303,324,325],{"class":318}," cargo",[303,327,319],{"class":318},[303,329,322],{"class":318},[303,331,332],{"class":318}," pytest",[303,334,322],{"class":318},[303,336,337],{"class":318}," go",[303,339,319],{"class":318},[303,341,342],{"class":318}," ./...\n",[262,344,345],{},[268,346,347],{},"If tests fail:",[293,349,354],{"className":350,"code":352,"language":353},[351],"language-text","Tests failing (\u003CN> failures). Must fix before exiting:\n\n[Show failures]\n\nCannot proceed with merge/PR until tests pass.\n","text",[300,355,352],{"__ignoreMap":298},[262,357,358],{},"Stop. Don't proceed to Step 2.",[262,360,361,364],{},[268,362,363],{},"If tests pass:"," Continue to Step 2.",[283,366,368],{"id":367},"step-2-determine-base-branch","Step 2: Determine Base Branch",[293,370,372],{"className":295,"code":371,"language":297,"meta":298,"style":298},"# Try common base branches\ngit merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null\n",[300,373,374,379],{"__ignoreMap":298},[303,375,376],{"class":305,"line":11},[303,377,378],{"class":308},"# Try common base branches\n",[303,380,381,384,387,390,393,397,400,403,406,408,410,413,415],{"class":305,"line":16},[303,382,383],{"class":314},"git",[303,385,386],{"class":318}," merge-base",[303,388,389],{"class":318}," HEAD",[303,391,392],{"class":318}," main",[303,394,396],{"class":395},"sMK4o"," 2>",[303,398,399],{"class":318},"/dev/null",[303,401,402],{"class":395}," ||",[303,404,405],{"class":314}," git",[303,407,386],{"class":318},[303,409,389],{"class":318},[303,411,412],{"class":318}," master",[303,414,396],{"class":395},[303,416,417],{"class":318},"/dev/null\n",[262,419,420],{},"Or ask the Don: \"This branch split from main — is that correct?\"",[283,422,424],{"id":423},"step-3-present-options","Step 3: Present Options",[262,426,427],{},"Present exactly these 4 options:",[293,429,432],{"className":430,"code":431,"language":353},[351],"Implementation complete. What's the exit strategy?\n\n1. Merge back to \u003Cbase-branch> locally\n2. Push and create a Pull Request\n3. Keep the branch as-is (I'll handle it later)\n4. Discard this work\n\nWhich option?\n",[300,433,431],{"__ignoreMap":298},[262,435,436,439],{},[268,437,438],{},"Don't add explanation"," — keep options concise.",[283,441,443],{"id":442},"step-4-execute-choice","Step 4: Execute Choice",[445,446,448],"h4",{"id":447},"option-1-merge-locally","Option 1: Merge Locally",[293,450,452],{"className":295,"code":451,"language":297,"meta":298,"style":298},"# Switch to base branch\ngit checkout \u003Cbase-branch>\n\n# Pull latest\ngit pull\n\n# Merge feature branch\ngit merge \u003Cfeature-branch>\n\n# Verify tests on merged result\n\u003Ctest command>\n\n# If tests pass\ngit branch -d \u003Cfeature-branch>\n",[300,453,454,459,479,485,490,497,501,506,522,527,533,543,547,553],{"__ignoreMap":298},[303,455,456],{"class":305,"line":11},[303,457,458],{"class":308},"# Switch to base branch\n",[303,460,461,463,466,469,472,476],{"class":305,"line":16},[303,462,383],{"class":314},[303,464,465],{"class":318}," checkout",[303,467,468],{"class":395}," \u003C",[303,470,471],{"class":318},"base-branc",[303,473,475],{"class":474},"sTEyZ","h",[303,477,478],{"class":395},">\n",[303,480,481],{"class":305,"line":21},[303,482,484],{"emptyLinePlaceholder":483},true,"\n",[303,486,487],{"class":305,"line":26},[303,488,489],{"class":308},"# Pull latest\n",[303,491,492,494],{"class":305,"line":38},[303,493,383],{"class":314},[303,495,496],{"class":318}," pull\n",[303,498,499],{"class":305,"line":60},[303,500,484],{"emptyLinePlaceholder":483},[303,502,503],{"class":305,"line":47},[303,504,505],{"class":308},"# Merge feature branch\n",[303,507,508,510,513,515,518,520],{"class":305,"line":244},[303,509,383],{"class":314},[303,511,512],{"class":318}," merge",[303,514,468],{"class":395},[303,516,517],{"class":318},"feature-branc",[303,519,475],{"class":474},[303,521,478],{"class":395},[303,523,525],{"class":305,"line":524},9,[303,526,484],{"emptyLinePlaceholder":483},[303,528,530],{"class":305,"line":529},10,[303,531,532],{"class":308},"# Verify tests on merged result\n",[303,534,535,538,541],{"class":305,"line":183},[303,536,537],{"class":395},"\u003C",[303,539,540],{"class":474},"test command",[303,542,478],{"class":395},[303,544,545],{"class":305,"line":192},[303,546,484],{"emptyLinePlaceholder":483},[303,548,550],{"class":305,"line":549},13,[303,551,552],{"class":308},"# If tests pass\n",[303,554,556,558,561,564,566,568,570],{"class":305,"line":555},14,[303,557,383],{"class":314},[303,559,560],{"class":318}," branch",[303,562,563],{"class":318}," -d",[303,565,468],{"class":395},[303,567,517],{"class":318},[303,569,475],{"class":474},[303,571,478],{"class":395},[262,573,574],{},"Then: Cleanup safehouse (Step 5)",[445,576,578],{"id":577},"option-2-push-and-create-pr","Option 2: Push and Create PR",[293,580,582],{"className":295,"code":581,"language":297,"meta":298,"style":298},"# Push branch\ngit push -u origin \u003Cfeature-branch>\n\n# Create PR\ngh pr create --title \"\u003Ctitle>\" --body \"$(cat \u003C\u003C'EOF'\n## Summary\n\u003C2-3 bullets of what changed>\n\n## Test Plan\n- [ ] \u003Cverification steps>\nEOF\n)\"\n",[300,583,584,589,610,614,619,654,659,664,668,673,678,683],{"__ignoreMap":298},[303,585,586],{"class":305,"line":11},[303,587,588],{"class":308},"# Push branch\n",[303,590,591,593,596,599,602,604,606,608],{"class":305,"line":16},[303,592,383],{"class":314},[303,594,595],{"class":318}," push",[303,597,598],{"class":318}," -u",[303,600,601],{"class":318}," origin",[303,603,468],{"class":395},[303,605,517],{"class":318},[303,607,475],{"class":474},[303,609,478],{"class":395},[303,611,612],{"class":305,"line":21},[303,613,484],{"emptyLinePlaceholder":483},[303,615,616],{"class":305,"line":26},[303,617,618],{"class":308},"# Create PR\n",[303,620,621,624,627,630,633,636,639,642,645,648,651],{"class":305,"line":38},[303,622,623],{"class":314},"gh",[303,625,626],{"class":318}," pr",[303,628,629],{"class":318}," create",[303,631,632],{"class":318}," --title",[303,634,635],{"class":395}," \"",[303,637,638],{"class":318},"\u003Ctitle>",[303,640,641],{"class":395},"\"",[303,643,644],{"class":318}," --body",[303,646,647],{"class":395}," \"$(",[303,649,650],{"class":314},"cat",[303,652,653],{"class":395}," \u003C\u003C'EOF'\n",[303,655,656],{"class":305,"line":60},[303,657,658],{"class":318},"## Summary\n",[303,660,661],{"class":305,"line":47},[303,662,663],{"class":318},"\u003C2-3 bullets of what changed>\n",[303,665,666],{"class":305,"line":244},[303,667,484],{"emptyLinePlaceholder":483},[303,669,670],{"class":305,"line":524},[303,671,672],{"class":318},"## Test Plan\n",[303,674,675],{"class":305,"line":529},[303,676,677],{"class":318},"- [ ] \u003Cverification steps>\n",[303,679,680],{"class":305,"line":183},[303,681,682],{"class":395},"EOF\n",[303,684,685],{"class":305,"line":192},[303,686,687],{"class":395},")\"\n",[262,689,690],{},"Then: Report PR URL to the Don. Preserve safehouse.",[445,692,694],{"id":693},"option-3-keep-as-is","Option 3: Keep As-Is",[262,696,697,698],{},"Report: \"Keeping branch ",[699,700,701,702],"name",{},". Safehouse preserved at ",[703,704,705],"path",{},".\"",[262,707,708],{},[268,709,710],{},"Don't cleanup safehouse.",[445,712,714],{"id":713},"option-4-discard","Option 4: Discard",[262,716,717],{},[268,718,719],{},"Confirm first:",[293,721,724],{"className":722,"code":723,"language":353},[351],"This will permanently delete:\n- Branch \u003Cname>\n- All commits: \u003Ccommit-list>\n- Safehouse at \u003Cpath>\n\nType 'discard' to confirm.\n",[300,725,723],{"__ignoreMap":298},[262,727,728],{},"Wait for exact confirmation from the Don.",[262,730,731],{},"If confirmed:",[293,733,735],{"className":295,"code":734,"language":297,"meta":298,"style":298},"git checkout \u003Cbase-branch>\ngit branch -D \u003Cfeature-branch>\n",[300,736,737,751],{"__ignoreMap":298},[303,738,739,741,743,745,747,749],{"class":305,"line":11},[303,740,383],{"class":314},[303,742,465],{"class":318},[303,744,468],{"class":395},[303,746,471],{"class":318},[303,748,475],{"class":474},[303,750,478],{"class":395},[303,752,753,755,757,760,762,764,766],{"class":305,"line":16},[303,754,383],{"class":314},[303,756,560],{"class":318},[303,758,759],{"class":318}," -D",[303,761,468],{"class":395},[303,763,517],{"class":318},[303,765,475],{"class":474},[303,767,478],{"class":395},[262,769,574],{},[283,771,773],{"id":772},"step-5-safehouse-cleanup","Step 5: Safehouse Cleanup",[262,775,776],{},[268,777,778],{},"For Options 1, 2, 4:",[262,780,781],{},"Check if in a safehouse (worktree):",[293,783,785],{"className":295,"code":784,"language":297,"meta":298,"style":298},"git worktree list | grep $(git branch --show-current)\n",[300,786,787],{"__ignoreMap":298},[303,788,789,791,794,797,800,803,806,808,810,813],{"class":305,"line":11},[303,790,383],{"class":314},[303,792,793],{"class":318}," worktree",[303,795,796],{"class":318}," list",[303,798,799],{"class":395}," |",[303,801,802],{"class":314}," grep",[303,804,805],{"class":395}," $(",[303,807,383],{"class":314},[303,809,560],{"class":318},[303,811,812],{"class":318}," --show-current",[303,814,815],{"class":395},")\n",[262,817,818],{},"If yes:",[293,820,822],{"className":295,"code":821,"language":297,"meta":298,"style":298},"git worktree remove \u003Cworktree-path>\n",[300,823,824],{"__ignoreMap":298},[303,825,826,828,830,833,835,838,840],{"class":305,"line":11},[303,827,383],{"class":314},[303,829,793],{"class":318},[303,831,832],{"class":318}," remove",[303,834,468],{"class":395},[303,836,837],{"class":318},"worktree-pat",[303,839,475],{"class":474},[303,841,478],{"class":395},[262,843,844,847],{},[268,845,846],{},"For Option 3:"," Keep safehouse.",[257,849,851],{"id":850},"quick-reference","Quick Reference",[853,854,855,877],"table",{},[856,857,858],"thead",{},[859,860,861,865,868,871,874],"tr",{},[862,863,864],"th",{},"Option",[862,866,867],{},"Merge",[862,869,870],{},"Push",[862,872,873],{},"Keep Safehouse",[862,875,876],{},"Cleanup Branch",[878,879,880,896,909,922],"tbody",{},[859,881,882,886,889,892,894],{},[883,884,885],"td",{},"1. Merge locally",[883,887,888],{},"✓",[883,890,891],{},"-",[883,893,891],{},[883,895,888],{},[859,897,898,901,903,905,907],{},[883,899,900],{},"2. Create PR",[883,902,891],{},[883,904,888],{},[883,906,888],{},[883,908,891],{},[859,910,911,914,916,918,920],{},[883,912,913],{},"3. Keep as-is",[883,915,891],{},[883,917,891],{},[883,919,888],{},[883,921,891],{},[859,923,924,927,929,931,933],{},[883,925,926],{},"4. Discard",[883,928,891],{},[883,930,891],{},[883,932,891],{},[883,934,935],{},"✓ (force)",[257,937,939],{"id":938},"common-mistakes","Common Mistakes",[283,941,943],{"id":942},"skipping-test-verification","Skipping test verification",[945,946,947,954],"ul",{},[948,949,950,953],"li",{},[268,951,952],{},"Problem:"," Merge broken code, create failing PR",[948,955,956,959],{},[268,957,958],{},"Fix:"," Always verify tests before offering options",[283,961,963],{"id":962},"open-ended-questions","Open-ended questions",[945,965,966,971],{},[948,967,968,970],{},[268,969,952],{}," \"What should I do next?\" → ambiguous",[948,972,973,975],{},[268,974,958],{}," Present exactly 4 structured options",[283,977,979],{"id":978},"automatic-safehouse-cleanup","Automatic safehouse cleanup",[945,981,982,987],{},[948,983,984,986],{},[268,985,952],{}," Remove safehouse when it might still be needed (Option 2, 3)",[948,988,989,991],{},[268,990,958],{}," Only cleanup for Options 1 and 4",[283,993,995],{"id":994},"no-confirmation-for-discard","No confirmation for discard",[945,997,998,1003],{},[948,999,1000,1002],{},[268,1001,952],{}," Accidentally delete work",[948,1004,1005,1007],{},[268,1006,958],{}," Require the Don to type \"discard\" to confirm",[257,1009,1011],{"id":1010},"red-flags","Red Flags",[262,1013,1014],{},[268,1015,1016],{},"Never:",[945,1018,1019,1022,1025,1028],{},[948,1020,1021],{},"Proceed with failing tests",[948,1023,1024],{},"Merge without verifying tests on result",[948,1026,1027],{},"Delete work without the Don's confirmation",[948,1029,1030],{},"Force-push without explicit request",[262,1032,1033],{},[268,1034,1035],{},"Always:",[945,1037,1038,1041,1044,1047],{},[948,1039,1040],{},"Verify tests before offering options",[948,1042,1043],{},"Present exactly 4 options",[948,1045,1046],{},"Get typed confirmation for Option 4",[948,1048,1049],{},"Clean up safehouse for Options 1 & 4 only",[257,1051,1053],{"id":1052},"integration","Integration",[262,1055,1056],{},[268,1057,1058],{},"Called by:",[945,1060,1061,1067],{},[948,1062,1063,1066],{},[268,1064,1065],{},"Laundering"," — After final verification",[948,1068,1069],{},"Any skill completing branch-based work",[262,1071,1072],{},[268,1073,1074],{},"Pairs with:",[945,1076,1077],{},[948,1078,1079,1082],{},[268,1080,1081],{},"gangsta:safehouse-worktrees"," — Cleans up the safehouse that skill created",[257,1084,1086],{"id":1085},"omerta-compliance","Omerta Compliance",[945,1088,1091,1100],{"className":1089},[1090],"contains-task-list",[948,1092,1095,1099],{"className":1093},[1094],"task-list-item",[1096,1097],"input",{"disabled":483,"type":1098},"checkbox"," Rule of Truth: Tests verified before offering options",[948,1101,1103,1105],{"className":1102},[1094],[1096,1104],{"disabled":483,"type":1098}," Rule of Availability: Final state reported to the Don",[1107,1108,1109],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}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);}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}",{"title":298,"searchDepth":16,"depth":16,"links":1111},[1112,1113,1120,1121,1127,1128,1129],{"id":259,"depth":16,"text":260},{"id":280,"depth":16,"text":281,"children":1114},[1115,1116,1117,1118,1119],{"id":285,"depth":21,"text":286},{"id":367,"depth":21,"text":368},{"id":423,"depth":21,"text":424},{"id":442,"depth":21,"text":443},{"id":772,"depth":21,"text":773},{"id":850,"depth":16,"text":851},{"id":938,"depth":16,"text":939,"children":1122},[1123,1124,1125,1126],{"id":942,"depth":21,"text":943},{"id":962,"depth":21,"text":963},{"id":978,"depth":21,"text":979},{"id":994,"depth":21,"text":995},{"id":1010,"depth":16,"text":1011},{"id":1052,"depth":16,"text":1053},{"id":1085,"depth":16,"text":1086},"Use when implementation is complete and all tests pass — guides the clean exit from a development branch with structured options for merge, PR, or cleanup","md",null,{"name":118},{"order":112,"icon":96},{"title":118,"description":1130},"RG5dVLYZ6TtQnJ-oNCNxfMyc4vpuEJRNExTFViTcQy0",[1138,1140],{"title":114,"path":115,"stem":116,"description":1139,"order":112,"icon":96,"children":-1},"Use when implementing any feature or bugfix — enforces the Red-Green-Refactor drill with no production code allowed without a failing test first",{"title":122,"path":123,"stem":124,"description":1141,"order":112,"icon":96,"children":-1},"Use when encountering any bug, test failure, or unexpected behavior — finds the rat in the code through systematic root-cause interrogation before any fix attempts",1793043438919]