Cópia estática
Copiado de docs/governance/m6-exit-gate.md em https://github.com/poppy-team/prumo (MIT). Fixado na revisão e91694d3959be1ed92757b34063efe0b2191821f, blob 77e2d14444f4db3d4c6bd9bbc933489ba6dd2b73. O repositório de origem permanece canônico; esta cópia é atualizada por um pull request de sincronização, não em tempo real.
Status: CONCLUÍDO (Exit Gate do M6 Aprovado)
Exit gate do M6 (conforme docs/development/phases.md): um novo projeto pode ir da intenção inicial até implementation-ready por meio de entrevista, sem um megaprompt manual; o planejamento específico de um Goal fecha apenas as lacunas relevantes; decisões e questões em aberto carregam autoridade e proveniência; o resume não depende de transcript; o ciclo de feedback docs/readiness/governança funciona; as evals de questões/decisões atingem o baseline aprovado; nenhuma sugestão de agente é promovida silenciosamente.
TestDogfoodZeroToReady (cmd/prumo/plan_z2r_test.go) conduz o ciclo completo por run(): readiness bloqueado → questões → decisões respondidas → delta proposto → patch de governança → delta aplicado → readiness aprovado → proposta de blueprint.examples/living-plan-sample/ já vem no estado ready, com uma receita de sete passos reproduzível (README.md).docs readiness --goal G-SAMPLE passa de {"ready": false, "blocking_contracts": ["project.scope"]} para {"ready": true, "coverage": [[product.vision, implementation-ready], [project.scope, implementation-ready]]}.prumo-agent plan --goal <id>, docs readiness --goal <id>; o engine de documentação ignora contratos não relacionados ao calcular a cobertura de um Goal (suíte de regressão do M5).product.vision e project.scope; contratos não relacionados permanecem intocados.internal/planning/decision.go, resolver internal/planning/resolver.go, E-G02/E-G03).internal/planning/question.go, E-G01)..ai/plan/sessions/<id>.json como session.Checkpoint() (internal/app/sessionstore.go, E-G07).prumo-agent plan resume recompila o contexto a partir das decisões canônicas + questões em aberto + checkpoint (internal/app/resume_test.go, internal/planning/session_test.go); nenhum transcript é reintroduzido.TestDogfoodZeroToReady e pelos passos do README do exemplo: readiness → questões → decisões respondidas → delta propose → autoria de governança do repositório → delta apply (registra a evidência da decisão) → recálculo do readiness → proposta de goal/plano.plan delta [--apply] nunca escreve docs canônicos; a autoria de governança + o README documentam esse fluxo (E-G05/E-G09).go test -race ./....agent-suggestion nunca são promovidas a decisões e mantêm a questão aberta (enforcement da autoridade de resposta em internal/planning + cmd/prumo/plan_z2r_test.go: TestPlanAnswerNeverPromotesAgentSuggestion, TestPlanAnswerUnresolvedKeepsQuestionOpen).examples/living-plan-sample/ — exemplo versionado, estado ready, README de replay e o registro do delta aplicado docs/governance-delta-applied.json.plan questions, plan answer, plan decisions, plan delta [--apply], plan blueprint [--plan], docs readiness --goal (envelope JSON E-G08 + modos de texto).go test -race ./... — passa em todos os pacotes.go vet ./..., gofmt -l . — limpos.pytest -q — 127 passam (oracle Python v0.3 preservado).main via PRs squash: E-G01 (#24), E-G02 (#25), E-G03 (#26), E-G04 (#27), E-G05 (#28), E-G06 (#29), E-G07 (#30), E-G08 (#31), E-G09 (#32).docs/runtime/living-plan.md; exemplos/dogfood em examples/living-plan-sample/.