Cópia estática
Copiado de docs/governance/m8-exit-gate.md em https://github.com/poppy-team/prumo (MIT). Fixado na revisão e91694d3959be1ed92757b34063efe0b2191821f, blob 057a78dc1efd3efb8cf3cf4b92df3a6f203528ad. 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 M8 Aprovado)
Exit gate do marco M8 (conforme docs/development/phases.md): qualquer mudança de código é rastreável até uma decisão e um goal; o journal de implementação é consultável; experimentos, rejeições e dívida técnica são rastreados; o grafo de rastreabilidade tipado liga requisitos, decisões, goals, código, testes, documentação e evidência.
internal/traceability/graph.go: req, dec, goal, code, test, doc, evidence, experiment, rejection, debt.satisfies, derives_from, implements, verifies, documents, evidenced_by, rejects, incurs_debt.TracePath) resolve linhagens completas a montante (decisões, requisitos) e a jusante (testes, evidência, documentação).schemas/trace-graph.schema.json.internal/traceability/journal.go: schemas/journal-entry.schema.json.internal/traceability/registers.go: low, medium, high, critical), contratos impactados e planos de remediação concretos.prumo-agent trace e prumo-agent journal) cmd/prumo/trace_commands.go: prumo-agent trace <ref>: rastreia qualquer goal, decisão, arquivo de código ou requisito, retornando linhagens estruturadas a montante/jusante em formato humano de terminal ou em envelope JSON.prumo-agent journal [--goal <goal>] [--decision <decision>] [--file <file>]: consulta o histórico de implementação.cmd/prumo/trace_commands_test.go.go test -race ./... — 100% passam em todos os pacotes.go vet ./... — limpo.gofmt -l . — limpo.python -m pytest -q — 136 passam (oracle Python preservado).internal/traceability): todos os testes passando (100%).cmd/prumo): todos os testes passando (100%).O marco M8 (History + Traceability) está CONCLUÍDO. Todos os critérios e invariantes do exit gate foram satisfeitos.