atlas-workflow 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +235 -0
- package/VERSION +1 -0
- package/build/cli/atlas-init.mjs +590 -0
- package/hosts/opencode/.opencode/agents/atlas-direct-execute.md +31 -0
- package/hosts/opencode/.opencode/agents/atlas-findings-repair.md +35 -0
- package/hosts/opencode/.opencode/agents/atlas-plan-execute.md +33 -0
- package/hosts/opencode/.opencode/agents/atlas-slice-review.md +27 -0
- package/hosts/opencode/.opencode/agents/atlas-task-validator.md +121 -0
- package/hosts/opencode/.opencode/atlas/VERSION +1 -0
- package/hosts/opencode/.opencode/atlas/orchestrator/README.md +261 -0
- package/hosts/opencode/.opencode/atlas/orchestrator/commands/workflow.md +37 -0
- package/hosts/opencode/.opencode/atlas/orchestrator/defaults/paths.md +21 -0
- package/hosts/opencode/.opencode/atlas/orchestrator/references/host-adapters.md +104 -0
- package/hosts/opencode/.opencode/atlas/orchestrator/references/qa_s13_matrix.md +141 -0
- package/hosts/opencode/.opencode/atlas/orchestrator/references/subagent_dispatch.md +42 -0
- package/hosts/opencode/.opencode/atlas/orchestrator/skills/atlas-workflow-orchestrator/SKILL.md +412 -0
- package/hosts/opencode/.opencode/atlas/packages/mcp-server/README.md +28 -0
- package/hosts/opencode/.opencode/atlas/packages/mcp-server/package.json +15 -0
- package/hosts/opencode/.opencode/atlas/packages/mcp-server/server.js +3076 -0
- package/hosts/opencode/.opencode/atlas/packages/templates/BACKLOG_MESTRE_TEMPLATE.md +844 -0
- package/hosts/opencode/.opencode/atlas/packages/templates/BOUNDARY_PRD_PLAN.md +93 -0
- package/hosts/opencode/.opencode/atlas/packages/templates/PERGUNTAS_EM_ABERTO_TEMPLATE.md +139 -0
- package/hosts/opencode/.opencode/atlas/packages/templates/PLAN_TEMPLATE.md +146 -0
- package/hosts/opencode/.opencode/atlas/packages/templates/PRD_TEMPLATE.md +149 -0
- package/hosts/opencode/.opencode/atlas/packages/templates/STATE_FILE_SCHEMA.md +32 -0
- package/hosts/opencode/.opencode/skills/atlas-backlog-generator/SKILL.md +88 -0
- package/hosts/opencode/.opencode/skills/atlas-backlog-generator/agents/openai.yaml +4 -0
- package/hosts/opencode/.opencode/skills/atlas-direct-execute/SKILL.md +186 -0
- package/hosts/opencode/.opencode/skills/atlas-direct-execute/agents/openai.yaml +7 -0
- package/hosts/opencode/.opencode/skills/atlas-findings-repair/SKILL.md +148 -0
- package/hosts/opencode/.opencode/skills/atlas-findings-repair/agents/openai.yaml +7 -0
- package/hosts/opencode/.opencode/skills/atlas-plan-execute/SKILL.md +129 -0
- package/hosts/opencode/.opencode/skills/atlas-plan-execute/agents/openai.yaml +7 -0
- package/hosts/opencode/.opencode/skills/atlas-plan-execute/references/plan-contract.md +88 -0
- package/hosts/opencode/.opencode/skills/atlas-plan-execute/references/quality-gates.md +60 -0
- package/hosts/opencode/.opencode/skills/atlas-plan-execute/scripts/check_budget_state.py +96 -0
- package/hosts/opencode/.opencode/skills/atlas-plan-execute/scripts/extract_plan_contract.py +191 -0
- package/hosts/opencode/.opencode/skills/atlas-plan-execute/scripts/validate_gate_result.py +56 -0
- package/hosts/opencode/.opencode/skills/atlas-plan-handoff/SKILL.md +181 -0
- package/hosts/opencode/.opencode/skills/atlas-plan-handoff/agents/openai.yaml +7 -0
- package/hosts/opencode/.opencode/skills/atlas-prd-interview/SKILL.md +77 -0
- package/hosts/opencode/.opencode/skills/atlas-prd-interview/agents/openai.yaml +7 -0
- package/hosts/opencode/.opencode/skills/atlas-slice-review/SKILL.md +121 -0
- package/hosts/opencode/.opencode/skills/atlas-slice-review/agents/openai.yaml +4 -0
- package/hosts/opencode/.opencode/skills/atlas-slice-review/references/review-contract.md +58 -0
- package/hosts/opencode/.opencode/skills/atlas-slice-review/references/scenario-lenses.md +49 -0
- package/hosts/opencode/.opencode/skills/atlas-slice-review/scripts/classify_findings.py +56 -0
- package/hosts/opencode/.opencode/skills/atlas-slice-review/scripts/extract_review_slice.py +158 -0
- package/hosts/opencode/.opencode/skills/atlas-sprint-prd-generator/SKILL.md +74 -0
- package/hosts/opencode/.opencode/skills/atlas-sprint-prd-generator/agents/openai.yaml +7 -0
- package/hosts/opencode/.opencode/skills/atlas-task-validator/SKILL.md +158 -0
- package/hosts/opencode/.opencode/skills/atlas-task-validator/agents/openai.yaml +7 -0
- package/hosts/opencode/.opencode/skills/atlas-workflow-orchestrator/SKILL.md +412 -0
- package/hosts/opencode/opencode.json +13 -0
- package/hosts/pi/.mcp.json +11 -0
- package/hosts/pi/.pi/agents/atlas-direct-execute.md +218 -0
- package/hosts/pi/.pi/agents/atlas-findings-repair.md +184 -0
- package/hosts/pi/.pi/agents/atlas-plan-execute.md +163 -0
- package/hosts/pi/.pi/agents/atlas-slice-review.md +149 -0
- package/hosts/pi/.pi/agents/atlas-task-validator.md +121 -0
- package/hosts/pi/atlas/VERSION +1 -0
- package/hosts/pi/atlas/orchestrator/README.md +261 -0
- package/hosts/pi/atlas/orchestrator/commands/workflow.md +37 -0
- package/hosts/pi/atlas/orchestrator/defaults/paths.md +21 -0
- package/hosts/pi/atlas/orchestrator/references/host-adapters.md +104 -0
- package/hosts/pi/atlas/orchestrator/references/qa_s13_matrix.md +141 -0
- package/hosts/pi/atlas/orchestrator/references/subagent_dispatch.md +42 -0
- package/hosts/pi/atlas/orchestrator/skills/atlas-workflow-orchestrator/SKILL.md +412 -0
- package/hosts/pi/atlas/packages/mcp-server/README.md +28 -0
- package/hosts/pi/atlas/packages/mcp-server/package.json +15 -0
- package/hosts/pi/atlas/packages/mcp-server/server.js +3076 -0
- package/hosts/pi/atlas/packages/templates/BACKLOG_MESTRE_TEMPLATE.md +844 -0
- package/hosts/pi/atlas/packages/templates/BOUNDARY_PRD_PLAN.md +93 -0
- package/hosts/pi/atlas/packages/templates/PERGUNTAS_EM_ABERTO_TEMPLATE.md +139 -0
- package/hosts/pi/atlas/packages/templates/PLAN_TEMPLATE.md +146 -0
- package/hosts/pi/atlas/packages/templates/PRD_TEMPLATE.md +149 -0
- package/hosts/pi/atlas/packages/templates/STATE_FILE_SCHEMA.md +32 -0
- package/hosts/pi/skills/atlas-backlog-generator/SKILL.md +88 -0
- package/hosts/pi/skills/atlas-backlog-generator/agents/openai.yaml +4 -0
- package/hosts/pi/skills/atlas-direct-execute/SKILL.md +186 -0
- package/hosts/pi/skills/atlas-direct-execute/agents/openai.yaml +7 -0
- package/hosts/pi/skills/atlas-findings-repair/SKILL.md +148 -0
- package/hosts/pi/skills/atlas-findings-repair/agents/openai.yaml +7 -0
- package/hosts/pi/skills/atlas-plan-execute/SKILL.md +129 -0
- package/hosts/pi/skills/atlas-plan-execute/agents/openai.yaml +7 -0
- package/hosts/pi/skills/atlas-plan-execute/references/plan-contract.md +88 -0
- package/hosts/pi/skills/atlas-plan-execute/references/quality-gates.md +60 -0
- package/hosts/pi/skills/atlas-plan-execute/scripts/check_budget_state.py +96 -0
- package/hosts/pi/skills/atlas-plan-execute/scripts/extract_plan_contract.py +191 -0
- package/hosts/pi/skills/atlas-plan-execute/scripts/validate_gate_result.py +56 -0
- package/hosts/pi/skills/atlas-plan-handoff/SKILL.md +181 -0
- package/hosts/pi/skills/atlas-plan-handoff/agents/openai.yaml +7 -0
- package/hosts/pi/skills/atlas-prd-interview/SKILL.md +77 -0
- package/hosts/pi/skills/atlas-prd-interview/agents/openai.yaml +7 -0
- package/hosts/pi/skills/atlas-slice-review/SKILL.md +121 -0
- package/hosts/pi/skills/atlas-slice-review/agents/openai.yaml +4 -0
- package/hosts/pi/skills/atlas-slice-review/references/review-contract.md +58 -0
- package/hosts/pi/skills/atlas-slice-review/references/scenario-lenses.md +49 -0
- package/hosts/pi/skills/atlas-slice-review/scripts/classify_findings.py +56 -0
- package/hosts/pi/skills/atlas-slice-review/scripts/extract_review_slice.py +158 -0
- package/hosts/pi/skills/atlas-sprint-prd-generator/SKILL.md +74 -0
- package/hosts/pi/skills/atlas-sprint-prd-generator/agents/openai.yaml +7 -0
- package/hosts/pi/skills/atlas-task-validator/SKILL.md +158 -0
- package/hosts/pi/skills/atlas-task-validator/agents/openai.yaml +7 -0
- package/hosts/pi/skills/atlas-workflow-orchestrator/SKILL.md +412 -0
- package/package.json +17 -0
- package/plugins/atlas-workflow-orchestrator/.codex/agents/atlas-direct-execute.toml +3 -0
- package/plugins/atlas-workflow-orchestrator/.codex/agents/atlas-findings-repair.toml +3 -0
- package/plugins/atlas-workflow-orchestrator/.codex/agents/atlas-plan-execute.toml +3 -0
- package/plugins/atlas-workflow-orchestrator/.codex/agents/atlas-slice-review.toml +3 -0
- package/plugins/atlas-workflow-orchestrator/.codex/agents/atlas-task-validator.toml +5 -0
- package/plugins/atlas-workflow-orchestrator/.codex-plugin/plugin.json +37 -0
- package/plugins/atlas-workflow-orchestrator/.mcp.json +12 -0
- package/plugins/atlas-workflow-orchestrator/VERSION +1 -0
- package/plugins/atlas-workflow-orchestrator/agents/atlas-direct-execute.md +31 -0
- package/plugins/atlas-workflow-orchestrator/agents/atlas-findings-repair.md +35 -0
- package/plugins/atlas-workflow-orchestrator/agents/atlas-plan-execute.md +33 -0
- package/plugins/atlas-workflow-orchestrator/agents/atlas-slice-review.md +27 -0
- package/plugins/atlas-workflow-orchestrator/agents/atlas-task-validator.md +123 -0
- package/plugins/atlas-workflow-orchestrator/orchestrator/README.md +261 -0
- package/plugins/atlas-workflow-orchestrator/orchestrator/commands/workflow.md +37 -0
- package/plugins/atlas-workflow-orchestrator/orchestrator/defaults/paths.md +21 -0
- package/plugins/atlas-workflow-orchestrator/orchestrator/references/host-adapters.md +104 -0
- package/plugins/atlas-workflow-orchestrator/orchestrator/references/qa_s13_matrix.md +141 -0
- package/plugins/atlas-workflow-orchestrator/orchestrator/references/subagent_dispatch.md +42 -0
- package/plugins/atlas-workflow-orchestrator/orchestrator/skills/atlas-workflow-orchestrator/SKILL.md +412 -0
- package/plugins/atlas-workflow-orchestrator/packages/mcp-server/README.md +28 -0
- package/plugins/atlas-workflow-orchestrator/packages/mcp-server/package.json +15 -0
- package/plugins/atlas-workflow-orchestrator/packages/mcp-server/server.js +3076 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-backlog-generator/SKILL.md +88 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-backlog-generator/agents/openai.yaml +4 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-direct-execute/SKILL.md +186 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-direct-execute/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-findings-repair/SKILL.md +148 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-findings-repair/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-plan-execute/SKILL.md +129 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-plan-execute/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-plan-execute/references/plan-contract.md +88 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-plan-execute/references/quality-gates.md +60 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-plan-execute/scripts/check_budget_state.py +96 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-plan-execute/scripts/extract_plan_contract.py +191 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-plan-execute/scripts/validate_gate_result.py +56 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-plan-handoff/SKILL.md +181 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-plan-handoff/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-prd-interview/SKILL.md +77 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-prd-interview/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-slice-review/SKILL.md +121 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-slice-review/agents/openai.yaml +4 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-slice-review/references/review-contract.md +58 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-slice-review/references/scenario-lenses.md +49 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-slice-review/scripts/classify_findings.py +56 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-slice-review/scripts/extract_review_slice.py +158 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-sprint-prd-generator/SKILL.md +74 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-sprint-prd-generator/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-task-validator/SKILL.md +158 -0
- package/plugins/atlas-workflow-orchestrator/packages/skills/atlas-task-validator/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/packages/templates/BACKLOG_MESTRE_TEMPLATE.md +844 -0
- package/plugins/atlas-workflow-orchestrator/packages/templates/BOUNDARY_PRD_PLAN.md +93 -0
- package/plugins/atlas-workflow-orchestrator/packages/templates/PERGUNTAS_EM_ABERTO_TEMPLATE.md +139 -0
- package/plugins/atlas-workflow-orchestrator/packages/templates/PLAN_TEMPLATE.md +146 -0
- package/plugins/atlas-workflow-orchestrator/packages/templates/PRD_TEMPLATE.md +149 -0
- package/plugins/atlas-workflow-orchestrator/packages/templates/STATE_FILE_SCHEMA.md +32 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-backlog-generator/SKILL.md +88 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-backlog-generator/agents/openai.yaml +4 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-direct-execute/SKILL.md +186 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-direct-execute/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-findings-repair/SKILL.md +148 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-findings-repair/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-plan-execute/SKILL.md +129 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-plan-execute/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-plan-execute/references/plan-contract.md +88 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-plan-execute/references/quality-gates.md +60 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-plan-execute/scripts/check_budget_state.py +96 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-plan-execute/scripts/extract_plan_contract.py +191 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-plan-execute/scripts/validate_gate_result.py +56 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-plan-handoff/SKILL.md +181 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-plan-handoff/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-prd-interview/SKILL.md +77 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-prd-interview/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-slice-review/SKILL.md +121 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-slice-review/agents/openai.yaml +4 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-slice-review/references/review-contract.md +58 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-slice-review/references/scenario-lenses.md +49 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-slice-review/scripts/classify_findings.py +56 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-slice-review/scripts/extract_review_slice.py +158 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-sprint-prd-generator/SKILL.md +74 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-sprint-prd-generator/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-task-validator/SKILL.md +158 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-task-validator/agents/openai.yaml +7 -0
- package/plugins/atlas-workflow-orchestrator/skills/atlas-workflow-orchestrator/SKILL.md +412 -0
- package/plugins/atlas-workflow-orchestrator/templates/BACKLOG_MESTRE_TEMPLATE.md +844 -0
- package/plugins/atlas-workflow-orchestrator/templates/BOUNDARY_PRD_PLAN.md +93 -0
- package/plugins/atlas-workflow-orchestrator/templates/PERGUNTAS_EM_ABERTO_TEMPLATE.md +139 -0
- package/plugins/atlas-workflow-orchestrator/templates/PLAN_TEMPLATE.md +146 -0
- package/plugins/atlas-workflow-orchestrator/templates/PRD_TEMPLATE.md +149 -0
- package/plugins/atlas-workflow-orchestrator/templates/STATE_FILE_SCHEMA.md +32 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Fronteira PRD × PLAN
|
|
2
|
+
|
|
3
|
+
Política documental para sprints e handoff de execução. Referência: exemplos em [PRD/GARANTIAFACIL/EXEMPLO/](../PRD/GARANTIAFACIL/EXEMPLO/).
|
|
4
|
+
|
|
5
|
+
## Papéis
|
|
6
|
+
|
|
7
|
+
| Artefato | Dono mental | Pergunta que responde |
|
|
8
|
+
|----------|-------------|------------------------|
|
|
9
|
+
| **PRD** | Product Manager | O quê, por quê, para quem, o que não pode quebrar? |
|
|
10
|
+
| **PLAN** | Engenharia / executor | Como entregar no código, em que ordem, com que invariantes técnicos? |
|
|
11
|
+
|
|
12
|
+
## PRD — o que entra (modelo enxuto de 6 seções + apêndice)
|
|
13
|
+
|
|
14
|
+
- **§1 Contexto e objetivo** — hoje, impacto de não fazer, objetivo, resultado observável, sucesso.
|
|
15
|
+
- **§2 Escopo** — em escopo / fora de escopo (sem "Não objetivos"; invariante vira §5).
|
|
16
|
+
- **§3 Decisões de produto (D\*)** — casa única; demais seções referenciam por `D-id`.
|
|
17
|
+
- **§4 Fluxos e cenários UX** — por cenário, com loading/vazio/erro.
|
|
18
|
+
- **§5 Contrato funcional e invariantes** — regras de dados + invariantes de negócio/segurança numa casa só.
|
|
19
|
+
- **§6 Critérios de aceite (negócio)** — checklist testável (Produto/UX/Dados/Regressão).
|
|
20
|
+
- **§7 Apêndice (opcional)** — riscos, dependências, referências, histórico.
|
|
21
|
+
|
|
22
|
+
> **Regra anti-repetição:** cada verdade tem uma casa; as demais seções referenciam por `§`/`D-id`, não re-enumeram.
|
|
23
|
+
|
|
24
|
+
## PRD — o que NÃO entra
|
|
25
|
+
|
|
26
|
+
- Packages, camadas, clean architecture, GetX, nomes de classes/arquivos.
|
|
27
|
+
- `flutter analyze`, comandos de teste, paths do monorepo.
|
|
28
|
+
- Tabela “evidências” com dezenas de arquivos `.dart`.
|
|
29
|
+
- § “Impacto de arquitetura” — isso é PLAN.
|
|
30
|
+
- Repetir o conteúdo do PLAN.
|
|
31
|
+
|
|
32
|
+
**Teto orientativo:** ~120–150 linhas por sprint média (modelo enxuto).
|
|
33
|
+
|
|
34
|
+
## PLAN — o que entra
|
|
35
|
+
|
|
36
|
+
- Link ao PRD + referência `PRD §3` (não recopiar tabela D* inteira).
|
|
37
|
+
- Tradução executiva (padrão de referência no monorepo + diffs vs módulo espelho).
|
|
38
|
+
- Invariantes de **execução** derivados do PRD.
|
|
39
|
+
- Pitfalls (anti-padrão → correto).
|
|
40
|
+
- Estado na **abertura da sprint** (3–6 bullets); se já implementado, checklist de verificação.
|
|
41
|
+
- **Tarefas T01…** no schema abaixo (detalhadas).
|
|
42
|
+
- Contratos técnicos só onde o PRD deixa ambiguidade.
|
|
43
|
+
- Validação única + checklist do validator.
|
|
44
|
+
- **Slices** (opcional) se `execution_mode: orchestrated-per-slice`.
|
|
45
|
+
|
|
46
|
+
## PLAN — o que NÃO entra
|
|
47
|
+
|
|
48
|
+
- Handoff prompt no final (“leia o plano e execute…”).
|
|
49
|
+
- Gate de prontidão do autor do plano.
|
|
50
|
+
- Lista §3 com todas as rules do `project-rules` (o executor carrega AGENTS).
|
|
51
|
+
- Cópia integral do escopo/fora de escopo do PRD.
|
|
52
|
+
- Inventário global de todos os arquivos tocados (o executor descobre no repo).
|
|
53
|
+
- Duplicar três checklists idênticas.
|
|
54
|
+
|
|
55
|
+
**Teto orientativo:** ~250–350 linhas (M); até ~450 (L com slices).
|
|
56
|
+
|
|
57
|
+
## Herança entre documentos
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
PRD §3 (D*) ──referência──► PLAN §2 invariantes + §1 diffs
|
|
61
|
+
PRD §4–6 ──referência──► PLAN §5 (done) + §8 checklist
|
|
62
|
+
PRD §5 ──funcional──► PLAN §6 contratos técnicos
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Schema de task (PLAN §5)
|
|
66
|
+
|
|
67
|
+
Cada `#### TNN.` deve ter, quando aplicável:
|
|
68
|
+
|
|
69
|
+
- **Objetivo**
|
|
70
|
+
- **Referência** (módulo/padrão no monorepo — não lista de 10 arquivos)
|
|
71
|
+
- **Pré-condições**
|
|
72
|
+
- **Mudança esperada**
|
|
73
|
+
- **Invariantes preservados** / **Não mudar** / **Não fazer**
|
|
74
|
+
- **Dependências**
|
|
75
|
+
- **Riscos** (se não óbvio)
|
|
76
|
+
- **Critério de done**
|
|
77
|
+
- **Validação local** (comando — na task de teste ou na final)
|
|
78
|
+
- **Quality gates** (opcional em tasks críticas)
|
|
79
|
+
- **Casos mínimos** (tasks de teste)
|
|
80
|
+
|
|
81
|
+
## Templates
|
|
82
|
+
|
|
83
|
+
- [PRD_TEMPLATE.md](./PRD_TEMPLATE.md)
|
|
84
|
+
- [PLAN_TEMPLATE.md](./PLAN_TEMPLATE.md)
|
|
85
|
+
- [BACKLOG_MESTRE_TEMPLATE.md](./BACKLOG_MESTRE_TEMPLATE.md)
|
|
86
|
+
|
|
87
|
+
## Pipeline
|
|
88
|
+
|
|
89
|
+
1. PRD aprovado (produto).
|
|
90
|
+
2. PLAN derivado do PRD + código (uma passagem de leitura no repo).
|
|
91
|
+
3. Execução: `atlas-plan-execute` lê PLAN + PRD §4–6; `project-rules` via AGENTS.
|
|
92
|
+
|
|
93
|
+
Geradores (`atlas-backlog-generator`, `atlas-sprint-prd-generator`, `atlas-plan-handoff`) devem seguir estes templates, não o formato legado (14 seções, ou §X de arquitetura no PRD).
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Perguntas em aberto — {{NOME_DO_PROJETO}}
|
|
2
|
+
|
|
3
|
+
> **Função deste arquivo:** inventário do que ainda precisa de decisão sua (produto, operação, sequência), com foco no horizonte imediato do backlog.
|
|
4
|
+
> **O que NÃO vai aqui:** opções A/B/C, recomendações, raciocínio longo — isso nasce **na entrevista**, com backlog, código e docs relidos na hora (`*-open-questions-interview` ou pedido explícito de rodada).
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Como usar (dois modos)
|
|
9
|
+
|
|
10
|
+
| Modo | Quem | O que faz | Saída |
|
|
11
|
+
|------|------|-----------|--------|
|
|
12
|
+
| **Varredura** | Agente (ou você) | Cruza backlog mestre, recorte das próximas sprints, PRDs e planos quando existirem, código e contratos; abre/atualiza/fecha **entradas** no índice | Este arquivo (enxuto) |
|
|
13
|
+
| **Entrevista** | Você + agente | Escolhe **1–4 IDs** `aberta`; agente relê âncoras + repositório; pergunta com **AskQuestion** | Decisão no chat → linha no **Histórico** → PRD/backlog/DEC |
|
|
14
|
+
|
|
15
|
+
**Regra anti-desatualização:** antes de cada rodada de entrevista, o agente **revalida** as âncoras e o código dos IDs escolhidos. Se a evidência mudou, atualiza a lacuna no registro **antes** de perguntar.
|
|
16
|
+
|
|
17
|
+
**Formato de resposta na entrevista:** `Q-XXX → A` ou `Q-XXX → Outro: …`
|
|
18
|
+
|
|
19
|
+
**Legenda de severidade:** `❌` bloqueia handoff/implementação honesta · `⚠️` permite avançar com risco documentado
|
|
20
|
+
|
|
21
|
+
**Status:** `aberta` · `em entrevista` · `resolvida` · `adiada` · `obsoleta` (código/docs já fecharam o tema)
|
|
22
|
+
|
|
23
|
+
**Janela de análise:** sprint atual + próximos sprints do backlog, com máximo de 5 sprints no total.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Meta
|
|
28
|
+
|
|
29
|
+
| Campo | Valor |
|
|
30
|
+
|-------|-------|
|
|
31
|
+
| **Última varredura** | YYYY-MM-DD |
|
|
32
|
+
| **Escopo da varredura** | ex.: backlog mestre §20, PRD HML-01 se existir, sprints S04–S08 |
|
|
33
|
+
| **Próxima rodada sugerida** | IDs: `Q-…`, `Q-…` (máx. 4 por sessão ~15 min) |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Índice
|
|
38
|
+
|
|
39
|
+
<!-- Uma linha por decisão pendente. Manter ordenado por urgência ou fase. Preferir poucas perguntas fortes a volume. -->
|
|
40
|
+
|
|
41
|
+
| ID | Título curto | Severidade | Bloqueia | Status |
|
|
42
|
+
|----|--------------|------------|----------|--------|
|
|
43
|
+
| Q-XXX-01 | … | ❌ | … | `aberta` |
|
|
44
|
+
|
|
45
|
+
**Totais:** `aberta` __ · `em entrevista` __ · `adiada` __
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Entradas
|
|
50
|
+
|
|
51
|
+
<!-- Copie o bloco abaixo por item. Não incluir tabelas de opções nem "Recomendação". Serializar categoria no título, ex.: [contrato] Nome da decisão. -->
|
|
52
|
+
|
|
53
|
+
### Q-XXX-01 — Título da decisão
|
|
54
|
+
|
|
55
|
+
| Campo | Valor |
|
|
56
|
+
|-------|-------|
|
|
57
|
+
| **Status** | `aberta` |
|
|
58
|
+
| **Severidade** | ❌ / ⚠️ |
|
|
59
|
+
| **Bloqueia** | sprint, PRD, gate, contrato — uma linha. Se útil, prefixar categoria secundária: `[sequencia] ...` |
|
|
60
|
+
| **Âncoras** | links relativos: backlog mestre, sprint, PRD se existir, DEC, plano, doc de produto, código ou contrato |
|
|
61
|
+
| **Lacuna** | O que falta decidir (2–4 frases). Sem listar alternativas. Descrever decisão pendente, não tarefa de implementação. |
|
|
62
|
+
| **Evidência (snapshot)** | Uma linha factual da última varredura (path, migration, status sprint, endpoint, env ou ausência verificável) |
|
|
63
|
+
| **Última verificação em entrevista** | _vazio até 1ª rodada_ |
|
|
64
|
+
|
|
65
|
+
**Decisão registrada:** _preencher só após entrevista_
|
|
66
|
+
**Propagado em:** _PRD §… / backlog DEC-… / outro_
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
### Q-XXX-02 — …
|
|
71
|
+
|
|
72
|
+
| Campo | Valor |
|
|
73
|
+
|-------|-------|
|
|
74
|
+
| **Status** | `aberta` |
|
|
75
|
+
| **Severidade** | ⚠️ |
|
|
76
|
+
| **Bloqueia** | … |
|
|
77
|
+
| **Âncoras** | … |
|
|
78
|
+
| **Lacuna** | … |
|
|
79
|
+
| **Evidência (snapshot)** | … |
|
|
80
|
+
| **Última verificação em entrevista** | |
|
|
81
|
+
|
|
82
|
+
**Decisão registrada:**
|
|
83
|
+
**Propagado em:**
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Histórico de resoluções
|
|
88
|
+
|
|
89
|
+
| Data | ID | Decisão (resumo) | Onde propagado |
|
|
90
|
+
|------|-----|------------------|----------------|
|
|
91
|
+
| | | | |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Evidências da última varredura
|
|
96
|
+
|
|
97
|
+
<!-- Lista de paths consultados — sem narrativa longa. Atualizar a cada varredura. Registrar também ausências verificáveis relevantes. -->
|
|
98
|
+
|
|
99
|
+
- `…`
|
|
100
|
+
- `…`
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Protocolo do agente
|
|
105
|
+
|
|
106
|
+
### Varredura (atualizar registro)
|
|
107
|
+
|
|
108
|
+
1. Ler obrigatoriamente o backlog mestre e o recorte da janela atual; usar PRDs e planos apenas quando existirem.
|
|
109
|
+
2. Limitar a análise ao sprint atual e aos próximos sprints, com máximo de 5 sprints no total.
|
|
110
|
+
3. Revalidar código, contratos, migrations, envs ou ausências verificáveis antes de abrir pergunta material.
|
|
111
|
+
4. Para cada lacuna nova: criar entrada com ID estável (`Q-<FASE>-<NN>` ou `Q-<SPRINT>-<NN>`).
|
|
112
|
+
5. Antes de abrir pergunta, tentar invalidá-la: decisão já tomada, código já fechou o tema, falta apenas execução, ou a dúvida existe só porque não há PRD.
|
|
113
|
+
6. Para cada lacuna fechada no código/docs: marcar `obsoleta` ou remover do índice e notar no Histórico.
|
|
114
|
+
7. Atualizar **Meta**, **Índice**, **Evidências**; **não** escrever opções nem recomendações.
|
|
115
|
+
|
|
116
|
+
### Entrevista (uma rodada)
|
|
117
|
+
|
|
118
|
+
1. Usuário indica 1–4 IDs (ou aceita "próxima rodada sugerida").
|
|
119
|
+
2. **PREP:** reler âncoras + grep/read nos paths relevantes; ajustar **Lacuna** / **Evidência** se mudou.
|
|
120
|
+
3. **PERGUNTA:** `AskQuestion` (até 4 itens); em cada prompt: pergunta + impacto + opções + **recomendação ancorada na evidência lida agora** (skill `*-open-questions-interview`).
|
|
121
|
+
4. Parar o turno (`⏸️ Aguardando respostas`).
|
|
122
|
+
5. Após respostas: preencher **Decisão registrada**, status `resolvida`, linha no **Histórico**, pedir propagação explícita se necessário (backlog DEC, PRD §3, etc.).
|
|
123
|
+
|
|
124
|
+
### O que é proibido neste arquivo
|
|
125
|
+
|
|
126
|
+
- Tabelas `| Opção |` ou blocos **Recomendação** / **Opção A/B/C** por pergunta
|
|
127
|
+
- Texto de entrevista já "respondido" no passado sem estar no Histórico
|
|
128
|
+
- Duplicar o conteúdo do PRD — só âncoras e lacuna
|
|
129
|
+
- Criar novos campos, colunas ou seções para categoria; use a serialização textual nos campos existentes
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Agrupamento opcional (âncoras de navegação)
|
|
134
|
+
|
|
135
|
+
<!-- Títulos `##` por fase/sprint/bloco; entradas `###` abaixo. O índice único continua sendo a fonte de IDs. -->
|
|
136
|
+
|
|
137
|
+
## {{FASE_OU_BLOCO}} — …
|
|
138
|
+
|
|
139
|
+
_(entradas Q-… deste bloco)_
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# PLAN <ID> — <Título> (execução)
|
|
2
|
+
|
|
3
|
+
| Campo | Valor |
|
|
4
|
+
|-------|-------|
|
|
5
|
+
| **PRD** | [PRD_<ID>_<slug>.md](./<caminho-relativo>) — decisões **PRD §3** (D*) |
|
|
6
|
+
| **Package / app** | `<packages/... \| apps/...>` |
|
|
7
|
+
| **Tipo** | `<feature \| ui \| navigation \| …>` |
|
|
8
|
+
| **execution_mode** | `<sequencial (T01→TN) \| orchestrated-per-slice>` |
|
|
9
|
+
| **Data** | <YYYY-MM-DD> |
|
|
10
|
+
|
|
11
|
+
**Escopo técnico:** PRD §2. **Fora:** <bullets derivados do PRD fora de escopo — não recopiar §2 inteiro>.
|
|
12
|
+
|
|
13
|
+
Política: [BOUNDARY_PRD_PLAN.md](./BOUNDARY_PRD_PLAN.md). Exemplos: [PRD/GARANTIAFACIL/EXEMPLO/](../PRD/GARANTIAFACIL/EXEMPLO/).
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Tradução executiva
|
|
18
|
+
|
|
19
|
+
<O que será implementado em 1 parágrafo + resultado observável técnico.>
|
|
20
|
+
|
|
21
|
+
**Padrão de referência no monorepo:** <ex.: “espelhar módulo X em …”>
|
|
22
|
+
|
|
23
|
+
**Diferenças obrigatórias vs referência (não copiar cegamente)**
|
|
24
|
+
|
|
25
|
+
| Tema | Referência (rejeitar) | Esta entrega (PRD) |
|
|
26
|
+
|------|----------------------|-------------------|
|
|
27
|
+
| <…> | <…> | <D* ou regra> |
|
|
28
|
+
|
|
29
|
+
<Capacidades já existentes no código que esta slice só integra — ex.: use cases GF04 prontos.>
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 2. Invariantes de execução (derivados do PRD)
|
|
34
|
+
|
|
35
|
+
- <invariante técnico derivado de PRD §3/§5 — ex.: sem refetch ao filtrar>
|
|
36
|
+
- <…>
|
|
37
|
+
|
|
38
|
+
> Não recopiar a tabela de decisões do PRD; referenciar `PRD §3 D12`.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 3. Pitfalls
|
|
43
|
+
|
|
44
|
+
- <anti-padrão comum no repo> → <correção>
|
|
45
|
+
- <…>
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 4. Estado na abertura da sprint (pré-implementação)
|
|
50
|
+
|
|
51
|
+
> Se a entrega **já estiver no código**, não reimplementar: usar como checklist de verificação (diff vs §7). O executor **lê o repo** e confirma o que falta.
|
|
52
|
+
|
|
53
|
+
- <3–6 bullets do que bloqueia hoje — comportamento ou ausência, não lista de 15 arquivos>
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 5. Tarefas de execução
|
|
58
|
+
|
|
59
|
+
<!-- Para execution_mode: orchestrated-per-slice, agrupar com ### Slice A — … -->
|
|
60
|
+
|
|
61
|
+
#### T01. <Título curto>
|
|
62
|
+
|
|
63
|
+
- **Objetivo:** <resultado observável>
|
|
64
|
+
- **Referência:** <módulo/padrão no monorepo — opcional>
|
|
65
|
+
- **Pré-condições:** <nenhuma \| T0X>
|
|
66
|
+
- **Mudança esperada:** <o que muda de forma concreta>
|
|
67
|
+
- **Invariantes preservados:** <§2 ou PRD>
|
|
68
|
+
- **Não mudar:** <…>
|
|
69
|
+
- **Não fazer:** <atalhos proibidos>
|
|
70
|
+
- **Dependências:** <nenhuma \| T0X>
|
|
71
|
+
- **Riscos:** <se relevante>
|
|
72
|
+
- **Critério de done:** <sinal objetivo>
|
|
73
|
+
- **Validação local:**
|
|
74
|
+
```bash
|
|
75
|
+
cd <package-ou-repo> && <comando>
|
|
76
|
+
```
|
|
77
|
+
- **Quality gates:** <opcional — itens verificáveis desta task>
|
|
78
|
+
- **Casos mínimos:** <somente em tasks de teste — lista numerada>
|
|
79
|
+
|
|
80
|
+
#### T02. <…>
|
|
81
|
+
|
|
82
|
+
<repetir até TNN>
|
|
83
|
+
|
|
84
|
+
#### TNN. Validação final
|
|
85
|
+
|
|
86
|
+
- **Objetivo:** analyze + test suite; regressão de entregas dependentes; aceite manual mínimo (PRD §6).
|
|
87
|
+
- **Dependências:** T01–T(N-1)
|
|
88
|
+
- **Critério de done:** zero issues; testes verdes
|
|
89
|
+
- **Validação local:**
|
|
90
|
+
```bash
|
|
91
|
+
cd <package> && flutter analyze
|
|
92
|
+
cd <package> && flutter test
|
|
93
|
+
```
|
|
94
|
+
- **Verificação manual (recomendada):**
|
|
95
|
+
1. <passo alinhado ao PRD §4>
|
|
96
|
+
2. <…>
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 6. Contratos técnicos (só ambiguidade PRD → código)
|
|
101
|
+
|
|
102
|
+
### 6.1 <Domínio / persistência / API>
|
|
103
|
+
|
|
104
|
+
| <Camada> | Regra |
|
|
105
|
+
|----------|--------|
|
|
106
|
+
| <…> | <…> |
|
|
107
|
+
|
|
108
|
+
### 6.2 <Falhas / estados / pipeline — se aplicável>
|
|
109
|
+
|
|
110
|
+
| <Code ou etapa> | <Comportamento na store/UI> |
|
|
111
|
+
|-----------------|----------------------------|
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 7. Slices (somente se `execution_mode: orchestrated-per-slice`)
|
|
116
|
+
|
|
117
|
+
| Slice | Tasks | Objetivo |
|
|
118
|
+
|-------|-------|----------|
|
|
119
|
+
| A | T01–T03 | <…> |
|
|
120
|
+
| B | T04–T05 | <…> |
|
|
121
|
+
|
|
122
|
+
Ordem: **A → B → …**. Validator: boundary do diff por slice + §2 e §7.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 8. Validação e checklist (validator)
|
|
127
|
+
|
|
128
|
+
Referência **PRD §6** + invariantes **§2** deste plano.
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
cd <package> && flutter analyze
|
|
132
|
+
cd <package> && flutter test
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
- [ ] <critério derivado de PRD D* ou §10>
|
|
136
|
+
- [ ] <…>
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## O que este template NÃO inclui (propositalmente)
|
|
141
|
+
|
|
142
|
+
- Handoff prompt final
|
|
143
|
+
- Gate de prontidão do planejador
|
|
144
|
+
- § “Regras carregadas” do `project-rules` (AGENTS carrega)
|
|
145
|
+
- Cópia da tabela D* do PRD
|
|
146
|
+
- Inventário global de arquivos tocados
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# PRD: <Nome da feature / Sprint>
|
|
2
|
+
|
|
3
|
+
> **Documento de produto.** Comportamento e negócio — sem Dart, packages, paths ou comandos de CI.
|
|
4
|
+
>
|
|
5
|
+
> Comportamento **alvo** da entrega. Se a feature já estiver no app, use como contrato de aceite e regressão.
|
|
6
|
+
>
|
|
7
|
+
> Implementação: `PLAN_<ID>_<slug>.md` (gerado após PRD aprovado). Política: [BOUNDARY_PRD_PLAN.md](./BOUNDARY_PRD_PLAN.md).
|
|
8
|
+
>
|
|
9
|
+
> **Regra de ouro (anti-repetição):** cada verdade tem **uma casa**; as demais seções **referenciam** por `§`/`D-id` em vez de re-enumerar. Enxugar conteúdo nunca remove a demarcação (separadores, rótulos, subcabeçalhos).
|
|
10
|
+
|
|
11
|
+
| Campo | Valor |
|
|
12
|
+
|-------|-------|
|
|
13
|
+
| **Produto / App** | <GarantiaFácil \| Assina \| Atlas host \| …> |
|
|
14
|
+
| **Status** | <Draft \| Em decisão \| Aprovado para planejamento \| Aprovado para implementação \| Implementado \| Arquivado> |
|
|
15
|
+
| **Responsável** | <Papel ou nome> |
|
|
16
|
+
| **Data** | <YYYY-MM-DD> |
|
|
17
|
+
| **Dependências de negócio** | <Entregas anteriores necessárias — ex.: “dashboard com lista”> |
|
|
18
|
+
| **Relacionado** | <Regras de negócio, MVP, backlog §X, DEC-*, Q-* — links> |
|
|
19
|
+
|
|
20
|
+
### Metadados de execução
|
|
21
|
+
|
|
22
|
+
- Plan prefix: `<atlas>` · Planner: `<atlas-plan-handoff>` · Executor: `<atlas-plan-execute>`
|
|
23
|
+
- Internal validator: `<atlas-task-validator>` · External review: `<atlas-slice-review>` (optional)
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 1. Contexto e objetivo
|
|
28
|
+
|
|
29
|
+
**Hoje:** <comportamento atual em linguagem de usuário/negócio>
|
|
30
|
+
|
|
31
|
+
**Se não entregar:** <impacto de não fazer>
|
|
32
|
+
|
|
33
|
+
**Objetivo principal:** <uma frase>
|
|
34
|
+
|
|
35
|
+
**Resultado observável**
|
|
36
|
+
|
|
37
|
+
- <bullet observável pelo usuário ou operação — referencie D* em vez de re-enumerar entregáveis>
|
|
38
|
+
|
|
39
|
+
**Sucesso (negócio):** <como saber que valeu — sem métrica técnica de CI>
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 2. Escopo
|
|
44
|
+
|
|
45
|
+
### Em escopo
|
|
46
|
+
|
|
47
|
+
- <capacidades fechadas, em linguagem de produto — referencie o conjunto de §3 D* quando aplicável>
|
|
48
|
+
|
|
49
|
+
### Fora de escopo
|
|
50
|
+
|
|
51
|
+
- <adjacentes tentadores que NÃO entram nesta entrega — previne scope creep>
|
|
52
|
+
- <anti-goal oportunista ("não aproveitar para fazer X"); invariante que é regra de negócio vai para §5, não aqui>
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 3. Decisões de produto (fechadas)
|
|
57
|
+
|
|
58
|
+
> Casa única das decisões. As demais seções referenciam por `D-id`, não recopiam.
|
|
59
|
+
|
|
60
|
+
| ID | Decisão |
|
|
61
|
+
|----|---------|
|
|
62
|
+
| D1 | <decisão fechada — produto, não implementação. É a SSoT do que esta sprint entrega> |
|
|
63
|
+
| D2 | <…> |
|
|
64
|
+
|
|
65
|
+
> Motivo/impacto: só quando a decisão não for óbvia; senão omitir.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 4. Fluxos e cenários UX
|
|
70
|
+
|
|
71
|
+
> Quando vários cenários compartilham comportamento, declare uma vez e referencie.
|
|
72
|
+
|
|
73
|
+
### 4.1 <Cenário A — ex.: criar / carregar>
|
|
74
|
+
|
|
75
|
+
- **Entrada:** <de onde o usuário vem>
|
|
76
|
+
- **Comportamento:** <passo a passo; loading / vazio / erro>
|
|
77
|
+
- **Sucesso:** <o que o usuário vê>
|
|
78
|
+
|
|
79
|
+
### 4.2 <Cenário B — ex.: editar / dados insuficientes>
|
|
80
|
+
|
|
81
|
+
<mesma estrutura>
|
|
82
|
+
|
|
83
|
+
### 4.N <Cenários de borda — ex.: acesso inválido, limite de plano, falha de leitura>
|
|
84
|
+
|
|
85
|
+
- <…>
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 5. Contrato funcional e invariantes
|
|
90
|
+
|
|
91
|
+
> Casa única de **dados + regras/segurança de negócio**. §4 e §6 referenciam, não repetem.
|
|
92
|
+
|
|
93
|
+
| Conceito | Regra para o usuário / sistema |
|
|
94
|
+
|----------|--------------------------------|
|
|
95
|
+
| <campo ou regra> | <validação, formato, default, persistência em termos de negócio> |
|
|
96
|
+
|
|
97
|
+
> Ex.: “valor em reais na digitação; gravado em centavos inteiros” — não nome de tipo Dart.
|
|
98
|
+
|
|
99
|
+
**Invariantes (negócio/segurança)**
|
|
100
|
+
|
|
101
|
+
- <regra que não pode ser violada; erros em linguagem de produto, sem códigos técnicos ou stack ao usuário>
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 6. Critérios de aceite (negócio)
|
|
106
|
+
|
|
107
|
+
**Produto**
|
|
108
|
+
|
|
109
|
+
- [ ] <observável>
|
|
110
|
+
|
|
111
|
+
**UX**
|
|
112
|
+
|
|
113
|
+
- [ ] <observável — espelhar §4, inclusive erros e loading>
|
|
114
|
+
|
|
115
|
+
**Dados**
|
|
116
|
+
|
|
117
|
+
- [ ] <integridade observável — referencie §5/D* em vez de re-derivar fontes>
|
|
118
|
+
|
|
119
|
+
**Regressão de produto**
|
|
120
|
+
|
|
121
|
+
- [ ] <o que já funcionava e deve continuar>
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 7. Apêndice (opcional)
|
|
126
|
+
|
|
127
|
+
> Metadados leves. Omitir blocos que não agregam nesta entrega.
|
|
128
|
+
|
|
129
|
+
**Riscos**
|
|
130
|
+
|
|
131
|
+
| Risco | Mitigação |
|
|
132
|
+
|-------|-----------|
|
|
133
|
+
| <expectativa errada do usuário> | <copy, escopo, aceite — referencie D*/§ quando couber> |
|
|
134
|
+
|
|
135
|
+
**Dependências:** <ID entrega — por que bloqueia ou alimenta> · <decisão externa, se houver>
|
|
136
|
+
|
|
137
|
+
**Referências:** <PRD pai, regras de negócio, backlog — sem listar arquivos de código>
|
|
138
|
+
|
|
139
|
+
**Histórico:** <YYYY-MM-DD — evento>
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Checklist do autor (não publicar no PRD final — opcional)
|
|
144
|
+
|
|
145
|
+
- [ ] Nenhum package, classe, rota ou migration neste arquivo
|
|
146
|
+
- [ ] Cada verdade tem UMA casa; demais seções referenciam por §/D-id (sem re-enumerar)
|
|
147
|
+
- [ ] Todo critério de §6 tem correspondência em §4 (UX) ou §5 (dados)
|
|
148
|
+
- [ ] "Fora de escopo" nomeia os adjacentes tentadores, não o complemento infinito
|
|
149
|
+
- [ ] Demarcação preservada: `---`, `**Label:**`, `### N.x`, headers de tabela, grupos de aceite
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# State File Schema
|
|
2
|
+
|
|
3
|
+
Boundary canônico executor → validator.
|
|
4
|
+
|
|
5
|
+
Path:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
.atlas/state/<run_id>/<slice>.json
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Schema mínimo:
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"run_id": "string (uuid ou slug)",
|
|
16
|
+
"slice": "string (ex.: 'A', 'B', 'C')",
|
|
17
|
+
"tasks": ["T01", "T02"],
|
|
18
|
+
"files_changed": ["packages/foo.js"],
|
|
19
|
+
"diff_stat": "N files, +X -Y",
|
|
20
|
+
"plan_path": ".atlas/plans/<id>.plan.md",
|
|
21
|
+
"boundary_refs": ["§2.I3", "§5.T11"],
|
|
22
|
+
"executed_at": "ISO8601",
|
|
23
|
+
"executor_skill": "atlas-plan-execute"
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Regras:
|
|
28
|
+
|
|
29
|
+
- `run_id`, `slice`, `tasks`, `files_changed`, `diff_stat`, `plan_path`, `boundary_refs`, `executed_at` e `executor_skill` são obrigatórios.
|
|
30
|
+
- `files_changed` contém paths relativos ao repositório consumidor.
|
|
31
|
+
- `boundary_refs` aponta para invariantes, contratos ou tasks do plano que delimitam a validação.
|
|
32
|
+
- O arquivo é uma projeção de boundary para o validator; estado de run continua tendo `atlas_run_state` como fonte primária quando MCP estiver disponível.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: atlas-backlog-generator
|
|
3
|
+
description: Skill `atlas-backlog-generator`. Use somente quando o usuário acionar explicitamente `$atlas-backlog-generator` ou pedir explicitamente para criar, gerar, montar, estruturar ou atualizar um backlog mestre Atlas a partir de uma conversa, prompt, ideia de feature, briefing, PRD macro, lista solta de requisitos, roadmap ou objetivo de produto, usando `BACKLOG_MESTRE_TEMPLATE.md` como template canônico e aplicando fases, sprints, dependências, MoSCoW e esforço x ganho. Não usar por inferência implícita em pedidos genéricos de planejamento, brainstorming, PRD ou implementação.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Atlas Backlog Generator
|
|
7
|
+
|
|
8
|
+
Crie backlogs mestres Atlas em PT-BR, ancorados no template canônico, com decomposição gradual em fases e sprints pequenas, priorização MoSCoW, matriz esforço x ganho, dependências explícitas, gates, riscos e próxima sprint executável.
|
|
9
|
+
|
|
10
|
+
Esta skill é documental: ela cria ou atualiza o `BACKLOG_MESTRE*.md` no projeto consumidor. Ela não implementa código, não gera PRDs de sprint e não substitui `atlas-sprint-prd-generator`.
|
|
11
|
+
|
|
12
|
+
Acione esta skill apenas por pedido explícito. Se o usuário apenas pedir planejamento, brainstorming, PRD ou execução, não usar esta skill automaticamente.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Entradas aceitas
|
|
17
|
+
|
|
18
|
+
- Conversa livre, ideia de feature, prompt exploratório ou briefing incompleto.
|
|
19
|
+
- PRD macro, roadmap, lista de requisitos, issue/backlog item ou texto colado pelo usuário.
|
|
20
|
+
- Opcional: nome do projeto/feature, path de saída, fontes canônicas, restrições técnicas, prioridade de negócio e escopo fora do ciclo.
|
|
21
|
+
|
|
22
|
+
Se faltar informação não bloqueante, gere o backlog com premissas marcadas e registre perguntas/riscos. Pergunte antes de salvar somente quando faltar uma das decisões bloqueantes: resultado final esperado, fronteira de escopo ou plataforma/produto alvo.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Workflow obrigatório
|
|
27
|
+
|
|
28
|
+
1. **Resolver template canônico:** descubra a raiz do plugin/bundle e leia `packages/templates/BACKLOG_MESTRE_TEMPLATE.md`. Se ausente, aborte com: `Template canônico ausente: BACKLOG_MESTRE_TEMPLATE.md`.
|
|
29
|
+
2. **Entender pedido:** extraia objetivo, usuários, resultado final esperado, fora de escopo, restrições, dependências, riscos, stakeholders e sinais de valor.
|
|
30
|
+
3. **Inspecionar contexto real:** quando houver repo/projeto ativo, busque documentos existentes (`BACKLOG_MESTRE*.md`, `PRD*.md`, `ROADMAP*.md`, specs, OpenAPI, docs de arquitetura) e código que influencie dependências. Não invente contrato técnico.
|
|
31
|
+
4. **Fechar ambiguidade crítica:** se uma decisão bloquear a decomposição segura, faça até 3 perguntas objetivas. Se o usuário não responder e houver caminho razoável, registre a premissa como risco/decisão pendente.
|
|
32
|
+
5. **Preencher o template:** mantenha todas as seções do template e substitua placeholders por conteúdo específico. Não apague seções; use `não aplicável` apenas com justificativa curta.
|
|
33
|
+
6. **Decompor em sprints:** transforme o objetivo em fatias verticais pequenas, cada uma com objetivo único, dependências e PRD futuro (`PRD_S<NN>_<slug>.md`).
|
|
34
|
+
7. **Priorizar:** para cada sprint, preencha MoSCoW, ganho, esforço e prioridade usando a regra da seção 8.3 do template.
|
|
35
|
+
8. **Selecionar próxima sprint:** escolha a primeira sprint executável respeitando dependências, DoR, MoSCoW, esforço x ganho e risco. Registre a justificativa na seção 20.
|
|
36
|
+
9. **Salvar artefato:** grave o backlog no path pedido ou, se não houver path, crie o diretório `.atlas/backlog/` no projeto consumidor e use `.atlas/backlog/BACKLOG_MESTRE_<slug>.md`.
|
|
37
|
+
10. **Validar antes de finalizar:** releia o arquivo salvo e confirme que não restaram placeholders acidentais, exceto campos conscientemente pendentes e marcados.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Regras de decomposição
|
|
42
|
+
|
|
43
|
+
- Gere sprints como unidades de entrega, não períodos de tempo.
|
|
44
|
+
- Mantenha cada sprint com 6 a 8 tasks no máximo quando o PRD futuro for detalhado; se uma sprint tiver mais de um objetivo, quebre em `S<NN>a/b/c`.
|
|
45
|
+
- Comece com descoberta/contrato quando houver ambiguidade ou integração. Não pule para implementação quando o contrato ainda for desconhecido.
|
|
46
|
+
- Preserve a ordem natural: descoberta → especificação/contrato → backend/infra quando necessário → front/app → hardening → QA → rollout.
|
|
47
|
+
- Use dependências para permitir paralelismo seguro; não transforme fase em fila rígida se duas sprints independentes puderem avançar.
|
|
48
|
+
- Inclua estados de erro, loading, empty, permission, observabilidade, QA e rollout onde aplicável. Esses itens não são “extras”; são parte do produto pronto.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Regras de priorização
|
|
53
|
+
|
|
54
|
+
- `Must`: obrigatório para resultado final, segurança, compliance, contrato ou desbloqueio.
|
|
55
|
+
- `Should`: importante para qualidade/adoção, mas contornável por um ciclo.
|
|
56
|
+
- `Could`: refinamento ou melhoria desejável que não bloqueia entrega.
|
|
57
|
+
- `Won't now`: fora do ciclo atual; registre para reduzir reabertura de discussão.
|
|
58
|
+
- `P0`: alto ganho com baixo/médio esforço ou Must desbloqueador.
|
|
59
|
+
- `P1`: alto ganho com alto esforço, ou médio ganho com baixo esforço.
|
|
60
|
+
- `P2`: médio ganho/médio esforço, ou baixo ganho/baixo esforço.
|
|
61
|
+
- `P3`: baixo ganho com médio/alto esforço, candidato a adiar.
|
|
62
|
+
|
|
63
|
+
Se MoSCoW e esforço x ganho conflitarem, MoSCoW vence; uma sprint `Must` de esforço alto deve ser quebrada, não rebaixada silenciosamente.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Qualidade esperada do backlog
|
|
68
|
+
|
|
69
|
+
O backlog final deve:
|
|
70
|
+
|
|
71
|
+
- Declarar precedência documental e fontes canônicas.
|
|
72
|
+
- Explicitar resultado esperado e fora do escopo.
|
|
73
|
+
- Ter dependências internas/externas e decisões bloqueantes com dono/status.
|
|
74
|
+
- Ter registro de sprints com MoSCoW, ganho, esforço, prioridade, PRD futuro, dependências, estado e gate.
|
|
75
|
+
- Ter grafo de dependência coerente com a tabela de sprints.
|
|
76
|
+
- Ter catálogo de fases preservado e adaptado apenas quando necessário.
|
|
77
|
+
- Ter riscos, decisões e próxima sprint executável preenchidos.
|
|
78
|
+
- Ser específico o bastante para gerar PRDs de sprint depois com `atlas-sprint-prd-generator`.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Proibições
|
|
83
|
+
|
|
84
|
+
- Não entregar uma lista genérica de tarefas sem usar o template.
|
|
85
|
+
- Não remover gates, DoR/DoD, riscos, decisões ou trilhas transversais.
|
|
86
|
+
- Não inventar endpoints, tabelas, schemas, fornecedores, métricas ou responsabilidades como fatos. Quando forem hipóteses, marcar como premissa.
|
|
87
|
+
- Não transformar o backlog em plano técnico de implementação. Código, classes e comandos entram no plano/PRD quando apropriado, não no backlog mestre.
|
|
88
|
+
- Não deixar `[...]` ou placeholders óbvios no arquivo final, salvo quando o campo estiver deliberadamente pendente e explicado.
|