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.
|