From 7611790b2d7fbb06fc5a90ff0fe0aa5f25a77097 Mon Sep 17 00:00:00 2001 From: Francisco Solla Date: Tue, 25 Aug 2026 10:31:51 -0300 Subject: [PATCH] docs(audit-p6-m895): plan-issue intention must record literal decision data (miss #895) --- .agents/skills/plan-issue/SKILL.md | 3 ++- .agents/skills/plan-issue/intention-template.md | 9 +++++++++ docs/GUARDRAILS.md | 1 + docs/changelog/2026-08-25-audit-pass6-m895.md | 1 + 4 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 docs/changelog/2026-08-25-audit-pass6-m895.md diff --git a/.agents/skills/plan-issue/SKILL.md b/.agents/skills/plan-issue/SKILL.md index 6d8cbf9a..42252beb 100644 --- a/.agents/skills/plan-issue/SKILL.md +++ b/.agents/skills/plan-issue/SKILL.md @@ -57,7 +57,7 @@ Cada fase pesada é delegada a um sub-agente com contexto mínimo. O agente prin - [ ] 2. Reserva de IDs - [ ] 3. Dispatch sub-agente explorador → receber findings - [ ] 4. Dispatch sub-agentes escritores (paralelo) → receber planos -- [ ] 5. GATE: overview + rascunho UI (se muda UI) → confirmar +- [ ] 5. GATE: overview + rascunho UI (se muda UI) + decisão de dados → literais no plano → confirmar - [ ] 6. Dispatch sub-agente registrador → PR → merge → promote ``` @@ -117,6 +117,7 @@ Antes de criar Issues: - Overview: ID, título, prio, depends, appetite, link do plano - Para cada item UI: aponte o link do `.html` fonte +- Decisão de dados → valores literais presentes no plano? (bloco "Dados da decisão (literais)" — nunca só narrativa) - Perguntas acumuladas, recomendação de produto primeiro **Pare e espere.** Itere até confirmação explícita do lote. diff --git a/.agents/skills/plan-issue/intention-template.md b/.agents/skills/plan-issue/intention-template.md index f6dd6538..4ff36a4b 100644 --- a/.agents/skills/plan-issue/intention-template.md +++ b/.agents/skills/plan-issue/intention-template.md @@ -57,6 +57,15 @@ Responsável: — - **Decisões desbloqueadas:** - **Forma:** *adiada ao plano de implementação* — aqui só restrições de produto (ex.: "sem % estadual absoluto", "leitura relativa/local"). +## Dados da decisão (literais) + + + +- +- ex.: OPS95 registraria a tabela flag→ID do mapa (os 5 IDs) + ## Direção no codebase (hipótese) diff --git a/docs/GUARDRAILS.md b/docs/GUARDRAILS.md index 7ec85867..ba18bab2 100644 --- a/docs/GUARDRAILS.md +++ b/docs/GUARDRAILS.md @@ -20,6 +20,7 @@ Ledger dos guardrails determinísticos colhidos de `kind:agent-miss` (fluxo `pnp | `src/lib` não type-importa `@/utilities/**` (direção única também para tipos) | dodge do Pass 3 (suggestionCatalog) | 2 | ESLint `no-restricted-imports` `allowTypeImports: false` na zona `src/lib` | PR [#92](https://github.com/fsolla/teqo/pull/92) (Pass 4) | | Local API com `user` sempre declara `overrideAccess`; import dinâmico de módulos server banido em utilities | guarda ausente (medida baseline 59/0) | 3 | `tests/unit/localApiOverrideAccessConventions.unit.spec.ts` | PR [#92](https://github.com/fsolla/teqo/pull/92) (Pass 4) | | Desarme determinístico do auto-merge da /testing-audit (cria→desarma→verifica atômico; draft fail-closed) | [#909](https://github.com/fsolla/teqo/issues/909) | 3 (script + spec) | `scripts/testing-audit-disarm.mjs` (create/`--pr` + `--draft-on-failure`); pin `tests/unit/testingAuditDisarmConventions.unit.spec.ts` (skill /testing-audit deve referenciar o script) | vivo desde 2026-08-25 (Pass 6) | +| Plano de intenção com decisão de dados grava os valores literais (IDs, nomes, envs, thresholds) — nunca só narrativa | [#895](https://github.com/fsolla/teqo/issues/895) | 6 (judgment-only declarada — doc/convenção, não fingir que doc é guarda) | bloco "Dados da decisão (literais)" no `intention-template.md` + prompt "decisão de dados → valores literais presentes no plano?" no gate do plan-issue | vivo desde 2026-08-25 (Pass 6) | ## Precedentes vivos (anteriores ao primeiro harvest) diff --git a/docs/changelog/2026-08-25-audit-pass6-m895.md b/docs/changelog/2026-08-25-audit-pass6-m895.md new file mode 100644 index 00000000..3caa3462 --- /dev/null +++ b/docs/changelog/2026-08-25-audit-pass6-m895.md @@ -0,0 +1 @@ +**P6-M895 (#895) — plano de intenção grava os dados literais da decisão (miss #895, docs-only, classe 6):** `intention-template.md` ganha o bloco sempre presente "Dados da decisão (literais)" (IDs, nomes de modelo, strings exatas, envs, tabelas de threshold — verbatim, nunca só narrativa; "N/A — por quê" explícito quando não há valor fixo; com o exemplo do próprio miss: "ex.: OPS95 registraria a tabela flag→ID do mapa (os 5 IDs)"); o gate do `plan-issue` (Checklist item 5 + Passo 4) cobra o prompt "decisão de dados → valores literais presentes no plano?"; linha nova na tabela Ativos de `docs/GUARDRAILS.md` declarando a guarda judgment-only (classe 6 — doc/convenção, sem detector).