[{"data":1,"prerenderedAt":791},["ShallowReactive",2],{"navigation:en":3,"\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fworkflow:en":311},[4],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Nuxfire Docs","\u002Fdocs","docs\u002F0.index",[9,11,152],{"title":5,"path":6,"stem":7,"icon":10},"i-lucide-layout-grid",{"title":12,"path":13,"stem":14,"children":15,"icon":151},"SaaS Starter Kit","\u002Fdocs\u002Fsaas-starter-kit","docs\u002F1.saas-starter-kit\u002F0.index",[16,19,63,129],{"title":17,"path":13,"stem":14,"icon":18},"What is the SaaS Starter Kit?","i-lucide-info",{"title":20,"icon":21,"hide":22,"path":23,"stem":24,"children":25,"page":62},"Getting Started","i-lucide-play",true,"\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started","docs\u002F1.saas-starter-kit\u002F1.getting-started",[26,30,34,38,42,46,50,54,58],{"title":27,"path":28,"stem":29},"Quick Start","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fquick-start","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F0.quick-start",{"title":31,"path":32,"stem":33},"Installation","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Finstallation","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F1.installation",{"title":35,"path":36,"stem":37},"Cloudflare Access","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fcloudflare-access","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F2.cloudflare-access",{"title":39,"path":40,"stem":41},"Configuration","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fconfiguration","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F3.configuration",{"title":43,"path":44,"stem":45},"Secrets","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fsecrets","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F4.secrets",{"title":47,"path":48,"stem":49},"Environment Variables","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fenvironment-variables","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F5.environment-variables",{"title":51,"path":52,"stem":53},"Deploy","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fdeploy","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F6.deploy",{"title":55,"path":56,"stem":57},"Local Development","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Flocal-development","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F7.local-development",{"title":59,"path":60,"stem":61},"Project Structure","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fproject-structure","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F8.project-structure",false,{"title":64,"icon":65,"hide":22,"path":66,"stem":67,"children":68,"page":62},"Features","i-lucide-box","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures","docs\u002F1.saas-starter-kit\u002F2.features",[69,73,77,81,85,89,93,97,101,105,109,113,117,121,125],{"title":70,"path":71,"stem":72},"Authentication","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fauth","docs\u002F1.saas-starter-kit\u002F2.features\u002F1.auth",{"title":74,"path":75,"stem":76},"Rate Limiting","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Frate-limiting","docs\u002F1.saas-starter-kit\u002F2.features\u002F10.rate-limiting",{"title":78,"path":79,"stem":80},"WebSockets","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fwebsockets","docs\u002F1.saas-starter-kit\u002F2.features\u002F11.websockets",{"title":82,"path":83,"stem":84},"Blog","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fblog","docs\u002F1.saas-starter-kit\u002F2.features\u002F14.blog",{"title":86,"path":87,"stem":88},"Documentation","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fdocumentation","docs\u002F1.saas-starter-kit\u002F2.features\u002F15.documentation",{"title":90,"path":91,"stem":92},"Analytics","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fanalytics","docs\u002F1.saas-starter-kit\u002F2.features\u002F16.analytics",{"title":94,"path":95,"stem":96},"Platform Admin Console","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fplatform-admin","docs\u002F1.saas-starter-kit\u002F2.features\u002F17.platform-admin",{"title":98,"path":99,"stem":100},"Database","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fdatabase","docs\u002F1.saas-starter-kit\u002F2.features\u002F2.database",{"title":102,"path":103,"stem":104},"Payments & Billing","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fpayments","docs\u002F1.saas-starter-kit\u002F2.features\u002F3.payments",{"title":106,"path":107,"stem":108},"Emails","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Femails","docs\u002F1.saas-starter-kit\u002F2.features\u002F4.emails",{"title":110,"path":111,"stem":112},"Notifications","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fnotifications","docs\u002F1.saas-starter-kit\u002F2.features\u002F5.notifications",{"title":114,"path":115,"stem":116},"Role-Based Access Control","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Frbac","docs\u002F1.saas-starter-kit\u002F2.features\u002F6.rbac",{"title":118,"path":119,"stem":120},"Async Jobs","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fasync-jobs","docs\u002F1.saas-starter-kit\u002F2.features\u002F7.async-jobs",{"title":122,"path":123,"stem":124},"Storage","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fstorage","docs\u002F1.saas-starter-kit\u002F2.features\u002F8.storage",{"title":126,"path":127,"stem":128},"Internationalization","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Finternationalization","docs\u002F1.saas-starter-kit\u002F2.features\u002F9.internationalization",{"title":130,"icon":131,"path":132,"stem":133,"children":134,"page":62},"Concepts","i-lucide-graduation-cap","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts","docs\u002F1.saas-starter-kit\u002F3.concepts",[135,139,143,147],{"title":136,"path":137,"stem":138},"Technology Stack","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts\u002Ftech-stack","docs\u002F1.saas-starter-kit\u002F3.concepts\u002F0.tech-stack",{"title":140,"path":141,"stem":142},"SST.dev","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts\u002Fsst","docs\u002F1.saas-starter-kit\u002F3.concepts\u002F1.sst",{"title":144,"path":145,"stem":146},"NuxtHub","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts\u002Fnuxt-hub","docs\u002F1.saas-starter-kit\u002F3.concepts\u002F2.nuxt-hub",{"title":148,"path":149,"stem":150},"Design System & Branding","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts\u002Fdesign-system","docs\u002F1.saas-starter-kit\u002F3.concepts\u002F3.design-system","i-lucide-zap",{"title":153,"path":154,"stem":155,"children":156,"icon":159},"Fireskills","\u002Fdocs\u002Ffireskills","docs\u002F2.fireskills\u002F0.index",[157,160,219,249,275,293],{"title":158,"path":154,"stem":155,"icon":159},"What is Fireskills?","i-lucide-flame",{"title":20,"icon":21,"hide":22,"path":161,"stem":162,"children":163,"page":62},"\u002Fdocs\u002Ffireskills\u002Fgetting-started","docs\u002F2.fireskills\u002F1.getting-started",[164,167,171,175,179,183,187,191,195,199,203,207,211,215],{"title":27,"path":165,"stem":166},"\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fquick-start","docs\u002F2.fireskills\u002F1.getting-started\u002F00.quick-start",{"title":168,"path":169,"stem":170},"Workflow & Governance","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fworkflow","docs\u002F2.fireskills\u002F1.getting-started\u002F01.workflow",{"title":172,"path":173,"stem":174},"Project Context","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fproject-context","docs\u002F2.fireskills\u002F1.getting-started\u002F02.project-context",{"title":176,"path":177,"stem":178},"Step 0: Setup","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-setup","docs\u002F2.fireskills\u002F1.getting-started\u002F03.step-setup",{"title":180,"path":181,"stem":182},"Step 1: Inbox","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-inbox","docs\u002F2.fireskills\u002F1.getting-started\u002F04.step-inbox",{"title":184,"path":185,"stem":186},"Step 2: Backlog","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-backlog","docs\u002F2.fireskills\u002F1.getting-started\u002F05.step-backlog",{"title":188,"path":189,"stem":190},"Step 3: Specify","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-specify","docs\u002F2.fireskills\u002F1.getting-started\u002F06.step-specify",{"title":192,"path":193,"stem":194},"Step 4: Validate","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-validate","docs\u002F2.fireskills\u002F1.getting-started\u002F07.step-validate",{"title":196,"path":197,"stem":198},"Step 5: Tasks","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-tasks","docs\u002F2.fireskills\u002F1.getting-started\u002F08.step-tasks",{"title":200,"path":201,"stem":202},"Step 6: TDD\u002FBDD","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-tdd-bdd","docs\u002F2.fireskills\u002F1.getting-started\u002F09.step-tdd-bdd",{"title":204,"path":205,"stem":206},"Step 7: Implement","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-implement","docs\u002F2.fireskills\u002F1.getting-started\u002F10.step-implement",{"title":208,"path":209,"stem":210},"Step 8: Documentator","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-documentator","docs\u002F2.fireskills\u002F1.getting-started\u002F11.step-documentator",{"title":212,"path":213,"stem":214},"Late Changes","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Flate-changes","docs\u002F2.fireskills\u002F1.getting-started\u002F12.late-changes",{"title":216,"path":217,"stem":218},"Other Entry Points","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fother-entry-points","docs\u002F2.fireskills\u002F1.getting-started\u002F13.other-entry-points",{"title":220,"icon":221,"hide":22,"path":222,"stem":223,"children":224,"page":62},"Methodology","i-lucide-git-branch","\u002Fdocs\u002Ffireskills\u002Fmethodology","docs\u002F2.fireskills\u002F2.methodology",[225,229,233,237,241,245],{"title":226,"path":227,"stem":228},"The Three Acts","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Fthree-acts","docs\u002F2.fireskills\u002F2.methodology\u002F0.three-acts",{"title":230,"path":231,"stem":232},"The Three Gates","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Fthree-gates","docs\u002F2.fireskills\u002F2.methodology\u002F1.three-gates",{"title":234,"path":235,"stem":236},"The Canonical Spec","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Fcanonical-spec","docs\u002F2.fireskills\u002F2.methodology\u002F2.canonical-spec",{"title":238,"path":239,"stem":240},"Lifecycle States","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Flifecycle-states","docs\u002F2.fireskills\u002F2.methodology\u002F3.lifecycle-states",{"title":242,"path":243,"stem":244},"Effort Scale","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Feffort-scale","docs\u002F2.fireskills\u002F2.methodology\u002F4.effort-scale",{"title":246,"path":247,"stem":248},"Milestones & Governance","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Fgovernance-and-milestones","docs\u002F2.fireskills\u002F2.methodology\u002F5.governance-and-milestones",{"title":250,"icon":251,"hide":22,"path":252,"stem":253,"children":254,"page":62},"Skills","i-lucide-layers","\u002Fdocs\u002Ffireskills\u002Fskills","docs\u002F2.fireskills\u002F3.skills",[255,259,263,267,271],{"title":256,"path":257,"stem":258},"Catalog","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fcatalog","docs\u002F2.fireskills\u002F3.skills\u002F0.catalog",{"title":260,"path":261,"stem":262},"Act I: Define","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fact-1-define","docs\u002F2.fireskills\u002F3.skills\u002F1.act-1-define",{"title":264,"path":265,"stem":266},"Act II: Design & Prove","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fact-2-design-prove","docs\u002F2.fireskills\u002F3.skills\u002F2.act-2-design-prove",{"title":268,"path":269,"stem":270},"Act III: Deliver","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fact-3-deliver","docs\u002F2.fireskills\u002F3.skills\u002F3.act-3-deliver",{"title":272,"path":273,"stem":274},"Governance & Decisions","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fgovernance-and-decisions","docs\u002F2.fireskills\u002F3.skills\u002F4.governance-and-decisions",{"title":276,"icon":277,"hide":22,"path":278,"stem":279,"children":280,"page":62},"Specialists","i-lucide-sparkles","\u002Fdocs\u002Ffireskills\u002Fspecialists","docs\u002F2.fireskills\u002F4.specialists",[281,285,289],{"title":282,"path":283,"stem":284},"Overview","\u002Fdocs\u002Ffireskills\u002Fspecialists\u002Foverview","docs\u002F2.fireskills\u002F4.specialists\u002F0.overview",{"title":286,"path":287,"stem":288},"Nuxfire Stack","\u002Fdocs\u002Ffireskills\u002Fspecialists\u002Fnuxfire-stack","docs\u002F2.fireskills\u002F4.specialists\u002F1.nuxfire-stack",{"title":290,"path":291,"stem":292},"Engineering Specialists","\u002Fdocs\u002Ffireskills\u002Fspecialists\u002Fengineering-specialists","docs\u002F2.fireskills\u002F4.specialists\u002F2.engineering-specialists",{"title":294,"icon":295,"hide":22,"path":296,"stem":297,"children":298,"page":62},"CLI & Tooling","i-lucide-terminal","\u002Fdocs\u002Ffireskills\u002Fcli","docs\u002F2.fireskills\u002F5.cli",[299,303,307],{"title":300,"path":301,"stem":302},"CLI Overview","\u002Fdocs\u002Ffireskills\u002Fcli\u002Foverview","docs\u002F2.fireskills\u002F5.cli\u002F0.overview",{"title":304,"path":305,"stem":306},"Commands","\u002Fdocs\u002Ffireskills\u002Fcli\u002Fcommands","docs\u002F2.fireskills\u002F5.cli\u002F1.commands",{"title":308,"path":309,"stem":310},"Safety Scripts","\u002Fdocs\u002Ffireskills\u002Fcli\u002Fgovernance-scripts","docs\u002F2.fireskills\u002F5.cli\u002F2.governance-scripts",{"id":312,"title":313,"body":314,"description":785,"extension":786,"meta":787,"navigation":788,"path":169,"seo":789,"stem":170,"__hash__":790},"docs\u002Fdocs\u002F2.fireskills\u002F1.getting-started\u002F01.workflow.md","Workflow & Agent Governance",{"type":315,"value":316,"toc":766},"minimark",[317,334,337,342,351,395,398,400,404,409,412,416,423,427,451,458,480,482,486,493,541,551,562,569,591,593,597,600,606,627,629,633,640,710,716,718,722],[318,319,320,321,325,326,329,330,333],"p",{},"These rules come from ",[322,323,324],"code",{},"AGENTS.md",", ",[322,327,328],{},"fireskills\u002FSKILL.md"," and ",[322,331,332],{},"fireskills\u002Fskills\u002FSpec.md",". They apply to every agent that works in the repository, and they explain what you will see in the chat.",[335,336],"hr",{},[338,339,341],"h2",{"id":340},"what-an-agent-reads-first","What an agent reads first",[318,343,344,346,347,350],{},[322,345,324],{}," (the root file that ",[322,348,349],{},"CLAUDE.md"," imports) sends every agent through the same path:",[352,353,354,360,383],"ol",{},[355,356,357,359],"li",{},[322,358,328],{},": which flow skill and which specialist fit the request.",[355,361,362,365,366,325,369,325,372,325,375,378,379,382],{},[322,363,364],{},".fireskills\u002FRULES.md",", plus ",[322,367,368],{},"PROJECT.md",[322,370,371],{},"STACK.md",[322,373,374],{},"DATABASE.md",[322,376,377],{},"INTERFACE.md"," or ",[322,380,381],{},"DESIGNSYSTEM.MD"," for the subject at hand.",[355,384,385,386,389,390,394],{},"The specialist of the area (",[322,387,388],{},"fireskills\u002Fspecialists\u002F","), ",[391,392,393],"strong",{},"before"," reading or writing code there.",[318,396,397],{},"A change of behavior (feature, rule, data, screen) goes through the flow. A trivial adjustment may go straight to the code, but with the rules read and the specialist loaded.",[335,399],{},[338,401,403],{"id":402},"principles","Principles",[405,406,408],"h3",{"id":407},"code-wins-over-documentation","Code wins over documentation",[318,410,411],{},"Every statement about the project needs a file as evidence. When a document and the code disagree, the code is right and the document gets fixed.",[405,413,415],{"id":414},"specialists-say-what-exists-and-what-does-not","Specialists say what exists and what does not",[318,417,418,419,422],{},"Each specialist has a ",[322,420,421],{},"references\u002Fnuxfire-*.md"," with what actually exists in this repository and a \"what does NOT exist\" list. The agent does not introduce anything from that second list.",[405,424,426],{"id":425},"one-normative-file-per-slice","One normative file per slice",[318,428,429,430,433,434,325,437,325,440,378,443,446,447,450],{},"All requirements, Gherkin scenarios, tasks, gates and evidence live in ",[322,431,432],{},"specs\u002F\u003Cstate>\u002F\u003CNNNN>-\u003Cslug>\u002Fspec.md",". The agent does not create ",[322,435,436],{},"plan.md",[322,438,439],{},"tasks.md",[322,441,442],{},"research.md",[322,444,445],{},"data-model.md",". Only ",[322,448,449],{},"research\u002F"," is allowed beside the spec, for consulted evidence.",[405,452,454,457],{"id":453},"sst-deploy-is-the-real-gate",[322,455,456],{},"sst deploy"," is the real gate",[318,459,460,325,463,329,466,469,470,472,473,378,476,479],{},[322,461,462],{},"tsc",[322,464,465],{},"vitest",[322,467,468],{},"nuxt build"," passing do not prove that ",[322,471,456],{}," works. For changes that touch ",[322,474,475],{},"apps\u002Ffunctions",[322,477,478],{},"layers",", the deploy is the real check, and only you can authorize it.",[335,481],{},[338,483,485],{"id":484},"the-conversation-numbered-questions","The conversation: numbered questions",[318,487,488,489,492],{},"When a decision is yours, the agent follows the numbered-question contract of ",[322,490,491],{},"Spec.md",":",[494,495,496,507,520,534],"ul",{},[355,497,498,499,502,503,506],{},"exactly ",[391,500,501],{},"one question per round",", labeled ",[322,504,505],{},"Pergunta 1",", and the agent waits for your answer;",[355,508,509,510,325,513,325,516,519],{},"at least three specific numbered options, then the three fixed ones: ",[322,511,512],{},"Escrever outra resposta",[322,514,515],{},"Gere outras opções",[322,517,518],{},"Avançar",";",[355,521,522,523,325,526,529,530,533],{},"you can answer ",[322,524,525],{},"2",[322,527,528],{},"1.2",", or ",[322,531,532],{},"1. Escrever: \u003Ctexto>","; the agent records the full text of the option, not the number;",[355,535,536,537,540],{},"at most ",[391,538,539],{},"eight questions per area","; at the limit it summarizes, records what is still open and stops.",[542,543,549],"pre",{"className":544,"code":546,"language":547,"meta":548},[545],"language-text","Pergunta 1. Como você prefere receber as orientações deste setup?\n1. Iniciante: explique os termos técnicos e o efeito de cada escolha antes de prosseguir.\n2. Intermediário: conheço os fundamentos e prefiro explicações curtas junto das escolhas.\n3. Experiente: posso responder com detalhes de stack, arquitetura, comandos e integrações.\n4. Escrever outra resposta\n5. Gere outras opções\n6. Avançar\n","text","",[322,550,546],{"__ignoreMap":548},[318,552,553,554,557,558,561],{},"This is the real first question of ",[322,555,556],{},"$fireskill-setup"," (from ",[322,559,560],{},"fireskills\u002Fskills\u002Ffireskill-setup\u002FSKILL.md","). Questions, options and generated files are in Brazilian Portuguese.",[405,563,565,566,568],{"id":564},"what-avançar-does","What ",[322,567,518],{}," does",[318,570,571,572,574,575,578,579,582,583,586,587,590],{},"Choosing ",[322,573,518],{}," does not fill anything in for you. On the next round the agent asks one thing: close this area for good, answer later, or answer now. Closing records ",[322,576,577],{},"Área encerrada pelo usuário: \u003Cárea>","; postponing records ",[322,580,581],{},"Área adiada pelo usuário: \u003Cárea>",". If applicable points remain open, the spec stays ",[322,584,585],{},"Status: Draft"," with ",[322,588,589],{},"Definition Gate: Pending",".",[335,592],{},[338,594,596],{"id":595},"automatic-hand-offs","Automatic hand-offs",[318,598,599],{},"You do not retype commands between steps. When a skill finds work that belongs to another one, it announces and switches in the same conversation:",[542,601,604],{"className":602,"code":603,"language":547,"meta":548},[545],"Transição automática: $fireskill-02-backlog → $fireskill-03-specify — motivo: \u003Cmotivo> — resultado esperado: \u003Cresultado>\n",[322,605,603],{"__ignoreMap":548},[494,607,608,615,621,624],{},[355,609,610,611,614],{},"A pendência that fits the current skill is solved right there (",[322,612,613],{},"Pendência detectada: … — ação: resolvendo nesta etapa",").",[355,616,617,618,614],{},"After the other skill fixes the prerequisite, the original one resumes (",[322,619,620],{},"Retomada automática: …",[355,622,623],{},"If origin, destination and pendência repeat with no observable change, the agent stops and reports the impasse.",[355,625,626],{},"A hand-off never authorizes deploy, deleting data, publishing or other external changes.",[335,628],{},[338,630,632],{"id":631},"late-changes","Late changes",[318,634,635,636,639],{},"Changing a spec after it was defined goes through ",[322,637,638],{},"$fireskill-update-spec",", which reopens only what is affected:",[641,642,643,659],"table",{},[644,645,646],"thead",{},[647,648,649,653,656],"tr",{},[650,651,652],"th",{},"Change",[650,654,655],{},"Spec goes back to",[650,657,658],{},"Gates",[660,661,662,680,700],"tbody",{},[647,663,664,668,674],{},[665,666,667],"td",{},"Behavior, acceptance, scope, data, security or interface",[665,669,670,673],{},[322,671,672],{},"Draft"," (Act I)",[665,675,676,677],{},"Definition, Plan and Delivery become ",[322,678,679],{},"Pending",[647,681,682,685,691],{},[665,683,684],{},"Only the solution, tasks or test strategy",[665,686,687,690],{},[322,688,689],{},"Defined"," (Act II)",[665,692,693,694,697,698],{},"Definition stays ",[322,695,696],{},"Passed","; Plan and Delivery become ",[322,699,679],{},[647,701,702,705,708],{},[665,703,704],{},"Editorial wording with no change of meaning",[665,706,707],{},"unchanged",[665,709,707],{},[318,711,712,713,590],{},"See ",[714,715,632],"a",{"href":213},[335,717],{},[338,719,721],{"id":720},"what-agents-never-do-on-their-own","What agents never do on their own",[494,723,724,731,760],{},[355,725,726,727,730],{},"Deploy (",[322,728,729],{},"bun run deploy -- --stage \u003Cstage>","), delete data, or run any irreversible action without your explicit authorization.",[355,732,733,734,737,738,325,741,325,744,325,747,325,750,325,753,756,757,590],{},"Run a test that touches the development database. The guard ",[322,735,736],{},"check_database_safety.mjs"," classifies commands, and destructive ones (",[322,739,740],{},"drizzle-kit push --force",[322,742,743],{},"drizzle-kit drop",[322,745,746],{},"db:wipe",[322,748,749],{},"migrate:fresh",[322,751,752],{},"DROP",[322,754,755],{},"TRUNCATE","…) are refused even with your approval. See ",[714,758,759],{"href":309},"Governance scripts",[355,761,762,763,765],{},"Mark a gate ",[322,764,696],{}," without the evidence that gate requires.",{"title":548,"searchDepth":767,"depth":767,"links":768},2,[769,770,778,782,783,784],{"id":340,"depth":767,"text":341},{"id":402,"depth":767,"text":403,"children":771},[772,774,775,776],{"id":407,"depth":773,"text":408},3,{"id":414,"depth":773,"text":415},{"id":425,"depth":773,"text":426},{"id":453,"depth":773,"text":777},"sst deploy is the real gate",{"id":484,"depth":767,"text":485,"children":779},[780],{"id":564,"depth":773,"text":781},"What Avançar does",{"id":595,"depth":767,"text":596},{"id":631,"depth":767,"text":632},{"id":720,"depth":767,"text":721},"The rules an agent follows in this repository: what it must read, how it asks, and what it may never do alone.","md",{},{"title":168},{"title":313,"description":785},"u3MR3QaXCRmtuQubstLWjwl-kAqUkxHF5wUBEXjSgPE",1790707491639]