nexus-core-v3 3.0.0
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 +134 -0
- package/agents/README.md +133 -0
- package/agents/_protocol.md +107 -0
- package/agents/analyst.md +138 -0
- package/agents/architect.md +146 -0
- package/agents/data-engineer.md +170 -0
- package/agents/dev.md +134 -0
- package/agents/devops.md +141 -0
- package/agents/nexus-master.md +147 -0
- package/agents/pm.md +133 -0
- package/agents/po.md +138 -0
- package/agents/qa.md +192 -0
- package/agents/sm.md +122 -0
- package/agents/squad-creator.md +121 -0
- package/agents/ux-design-expert.md +165 -0
- package/artifact-manifest.json +903 -0
- package/bin/nexus.mjs +37 -0
- package/checklists/README.md +49 -0
- package/checklists/architect-checklist.md +47 -0
- package/checklists/change-checklist.md +61 -0
- package/checklists/db-predeploy-checklist.md +57 -0
- package/checklists/design-quality-checklist.md +57 -0
- package/checklists/discovery-checklist.md +36 -0
- package/checklists/foundation-checklist.md +39 -0
- package/checklists/launch-checklist.md +39 -0
- package/checklists/pm-checklist.md +48 -0
- package/checklists/po-master-checklist.md +64 -0
- package/checklists/reality-check-checklist.md +49 -0
- package/checklists/story-dod-checklist.md +52 -0
- package/checklists/story-draft-checklist.md +36 -0
- package/dist/bin/dashboard.html +279 -0
- package/dist/bin/nexus.mjs +20008 -0
- package/dist/constitution.yaml +76 -0
- package/knowledge/README.md +57 -0
- package/knowledge/architecture/architectural-styles-map.md +182 -0
- package/knowledge/architecture/design-patterns-gof.md +192 -0
- package/knowledge/architecture/distributed-patterns-cheatsheet.md +201 -0
- package/knowledge/architecture/saas-subscription-blueprint.md +355 -0
- package/knowledge/architecture/system-design-tradeoffs.md +231 -0
- package/knowledge/architecture/t3-fullstack-typesafe-stack.md +273 -0
- package/knowledge/copy/landing-copy-that-converts.md +168 -0
- package/knowledge/data/postgres-indexing-and-tuning.md +263 -0
- package/knowledge/data/schema-modeling-decisions.md +273 -0
- package/knowledge/data/supabase-rls-patterns.md +316 -0
- package/knowledge/data/zero-downtime-migrations.md +308 -0
- package/knowledge/devops/cicd-pipeline-best-practices.md +318 -0
- package/knowledge/devops/production-dockerfile.md +283 -0
- package/knowledge/devops/twelve-factor-app.md +398 -0
- package/knowledge/engineering/clean-code-principles.md +429 -0
- package/knowledge/engineering/effective-code-review.md +204 -0
- package/knowledge/engineering/testing-strategy-beyond-unit.md +307 -0
- package/knowledge/governance/risk-matrix.md +56 -0
- package/knowledge/integration/mcp-server-selection-matrix.md +235 -0
- package/knowledge/marketing/copy-que-converte.md +43 -0
- package/knowledge/marketing/funil-e-jornada.md +36 -0
- package/knowledge/negocios/proposta-vencedora.md +38 -0
- package/knowledge/negocios/roi-e-unit-economics.md +46 -0
- package/knowledge/pipeline/1-descobrir.md +26 -0
- package/knowledge/pipeline/2-estrategizar.md +26 -0
- package/knowledge/pipeline/3-estruturar.md +27 -0
- package/knowledge/pipeline/4-construir.md +27 -0
- package/knowledge/pipeline/5-endurecer.md +28 -0
- package/knowledge/pipeline/6-lancar.md +27 -0
- package/knowledge/pipeline/7-operar.md +27 -0
- package/knowledge/security/lgpd-conformidade-basica.md +35 -0
- package/knowledge/security/owasp-secure-coding-gates.md +220 -0
- package/knowledge/security/owasp-top10-threat-assessment.md +287 -0
- package/knowledge/security/threat-modeling-stride.md +34 -0
- package/knowledge/web-craft/a11y-audit-checklist.md +251 -0
- package/knowledge/web-craft/accessible-component-patterns.md +383 -0
- package/knowledge/web-craft/anti-ai-look.md +114 -0
- package/knowledge/web-craft/design-system-from-code.md +195 -0
- package/knowledge/web-craft/intrinsic-css-layout.md +420 -0
- package/knowledge/web-craft/style-cloning.md +185 -0
- package/knowledge/web-craft/visual-polish-review.md +183 -0
- package/package.json +55 -0
- package/runbooks/campanha-de-conteudo.md +36 -0
- package/runbooks/feature-em-projeto-existente.md +37 -0
- package/runbooks/mvp-startup.md +38 -0
- package/runbooks/resposta-a-incidente.md +37 -0
- package/squads/exemplo-conteudo/agents/editor-chefe.md +48 -0
- package/squads/exemplo-conteudo/agents/pesquisador.md +44 -0
- package/squads/exemplo-conteudo/agents/redator.md +45 -0
- package/squads/exemplo-conteudo/knowledge/estilo-editorial.md +21 -0
- package/squads/exemplo-conteudo/squad.yaml +19 -0
- package/squads/exemplo-conteudo/tasks/pesquisar-fontes.md +26 -0
- package/squads/exemplo-conteudo/tasks/planejar-pauta.md +27 -0
- package/squads/exemplo-conteudo/tasks/redigir-artigo.md +26 -0
- package/squads/exemplo-conteudo/tasks/revisar-artigo.md +27 -0
- package/squads/marketing/agents/analista.md +56 -0
- package/squads/marketing/agents/chefe-marketing.md +65 -0
- package/squads/marketing/agents/conteudo.md +55 -0
- package/squads/marketing/agents/copy.md +55 -0
- package/squads/marketing/agents/growth.md +56 -0
- package/squads/marketing/agents/social.md +55 -0
- package/squads/marketing/squad.yaml +17 -0
- package/squads/marketing/tasks/aprovar-campanha.md +43 -0
- package/squads/negocios/agents/chefe-negocios.md +65 -0
- package/squads/negocios/agents/financas-roi.md +55 -0
- package/squads/negocios/agents/suporte.md +55 -0
- package/squads/negocios/agents/vendas-proposta.md +56 -0
- package/squads/negocios/squad.yaml +17 -0
- package/squads/negocios/tasks/aprovar-proposta.md +40 -0
- package/squads/security/agents/appsec-reviewer.md +59 -0
- package/squads/security/agents/chefe-seguranca.md +65 -0
- package/squads/security/agents/compliance-auditor.md +60 -0
- package/squads/security/agents/threat-modeler.md +60 -0
- package/squads/security/squad.yaml +20 -0
- package/squads/security/tasks/aprovar-gate-seguranca.md +42 -0
- package/squads/security/tasks/emitir-parecer-conformidade.md +42 -0
- package/tasks/README.md +72 -0
- package/tasks/accessibility-wcag-checklist.md +69 -0
- package/tasks/advanced-elicitation.md +42 -0
- package/tasks/analyze-performance.md +54 -0
- package/tasks/analyze-project-structure.md +59 -0
- package/tasks/apply-qa-fixes.md +57 -0
- package/tasks/architect-analyze-impact.md +62 -0
- package/tasks/archive-squad.md +52 -0
- package/tasks/audit-codebase.md +53 -0
- package/tasks/build-component.md +61 -0
- package/tasks/calculate-roi.md +63 -0
- package/tasks/ci-cd-configuration.md +51 -0
- package/tasks/collect-visual-evidence.md +62 -0
- package/tasks/compose-molecule.md +57 -0
- package/tasks/consolidate-patterns.md +54 -0
- package/tasks/create-brownfield-prd.md +54 -0
- package/tasks/create-competitor-analysis.md +42 -0
- package/tasks/create-deep-research-prompt.md +62 -0
- package/tasks/create-doc.md +62 -0
- package/tasks/create-epic.md +49 -0
- package/tasks/create-front-end-spec.md +56 -0
- package/tasks/create-migration-plan.md +57 -0
- package/tasks/create-next-story.md +66 -0
- package/tasks/create-prd.md +53 -0
- package/tasks/create-project-brief.md +47 -0
- package/tasks/create-rls-policies.md +59 -0
- package/tasks/create-schema.md +57 -0
- package/tasks/create-service.md +55 -0
- package/tasks/create-squad.md +100 -0
- package/tasks/create-suite.md +62 -0
- package/tasks/db-apply-migration.md +56 -0
- package/tasks/db-domain-modeling.md +57 -0
- package/tasks/db-dry-run.md +50 -0
- package/tasks/db-env-check.md +57 -0
- package/tasks/db-load-csv.md +54 -0
- package/tasks/db-policy-apply.md +58 -0
- package/tasks/db-rollback.md +51 -0
- package/tasks/db-run-sql.md +61 -0
- package/tasks/db-seed.md +52 -0
- package/tasks/db-smoke-test.md +51 -0
- package/tasks/db-snapshot.md +48 -0
- package/tasks/db-verify-order.md +49 -0
- package/tasks/deliberate.md +46 -0
- package/tasks/design-indexes.md +59 -0
- package/tasks/dev-develop-story.md +61 -0
- package/tasks/document-project.md +59 -0
- package/tasks/execute-checklist.md +57 -0
- package/tasks/execute-epic-plan.md +52 -0
- package/tasks/execute-subtask.md +51 -0
- package/tasks/extend-pattern.md +63 -0
- package/tasks/extend-squad.md +60 -0
- package/tasks/extract-patterns.md +64 -0
- package/tasks/extract-tokens.md +59 -0
- package/tasks/facilitate-brainstorming-session.md +42 -0
- package/tasks/generate-ai-frontend-prompt.md +57 -0
- package/tasks/generate-documentation.md +60 -0
- package/tasks/generate-migration-strategy.md +57 -0
- package/tasks/generate-shock-report.md +56 -0
- package/tasks/mcp-management.md +66 -0
- package/tasks/orchestrate.md +50 -0
- package/tasks/perform-market-research.md +42 -0
- package/tasks/plan-create-context.md +57 -0
- package/tasks/plan-create-implementation.md +58 -0
- package/tasks/po-close-story.md +60 -0
- package/tasks/po-manage-story-backlog.md +59 -0
- package/tasks/po-pull-story.md +60 -0
- package/tasks/po-sync-story.md +59 -0
- package/tasks/pr-automation.md +50 -0
- package/tasks/pre-push-quality-gate.md +54 -0
- package/tasks/push.md +53 -0
- package/tasks/qa-browser-console-check.md +52 -0
- package/tasks/qa-create-fix-request.md +58 -0
- package/tasks/qa-evidence-requirements.md +55 -0
- package/tasks/qa-false-positive-detection.md +55 -0
- package/tasks/qa-fix-issues.md +55 -0
- package/tasks/qa-gate.md +53 -0
- package/tasks/qa-migration-validation.md +58 -0
- package/tasks/qa-nfr-assess.md +45 -0
- package/tasks/qa-review-story.md +56 -0
- package/tasks/qa-risk-profile.md +45 -0
- package/tasks/qa-security-checklist.md +64 -0
- package/tasks/qa-test-design.md +47 -0
- package/tasks/qa-trace-requirements.md +48 -0
- package/tasks/release-management.md +53 -0
- package/tasks/repository-cleanup.md +61 -0
- package/tasks/route.md +44 -0
- package/tasks/run-tests.md +50 -0
- package/tasks/security-audit.md +54 -0
- package/tasks/setup-database.md +60 -0
- package/tasks/setup-design-system.md +60 -0
- package/tasks/shard-doc.md +60 -0
- package/tasks/spec-assess-complexity.md +55 -0
- package/tasks/spec-critique.md +64 -0
- package/tasks/spec-gather-requirements.md +48 -0
- package/tasks/spec-research-dependencies.md +42 -0
- package/tasks/spec-write-spec.md +50 -0
- package/tasks/test-as-user.md +52 -0
- package/tasks/ux-create-wireframe.md +54 -0
- package/tasks/ux-user-research.md +55 -0
- package/tasks/validate-next-story.md +61 -0
- package/tasks/validate-squad.md +55 -0
- package/tasks/verify-subtask.md +52 -0
- package/tasks/version-management.md +45 -0
- package/templates/README.md +47 -0
- package/templates/architecture-tmpl.md +115 -0
- package/templates/competitor-analysis-tmpl.md +87 -0
- package/templates/epic-tmpl.md +83 -0
- package/templates/front-end-spec-tmpl.md +110 -0
- package/templates/market-research-tmpl.md +98 -0
- package/templates/migration-plan-tmpl.md +92 -0
- package/templates/prd-tmpl.md +95 -0
- package/templates/project-brief-tmpl.md +100 -0
- package/templates/qa-verdict-tmpl.md +73 -0
- package/templates/rls-policies-tmpl.md +93 -0
- package/templates/schema-design-tmpl.md +107 -0
- package/templates/spec-tmpl.md +88 -0
- package/templates/squad/agent-dna-tmpl.md +72 -0
- package/templates/squad/chief-dna-tmpl.md +98 -0
- package/templates/squad/squad-task-tmpl.md +50 -0
- package/templates/squad/squad-yaml-tmpl.md +47 -0
- package/templates/story-tmpl.md +63 -0
package/bin/nexus.mjs
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Launcher do CLI `nexus` — o que o npm liga no PATH do usuário.
|
|
3
|
+
//
|
|
4
|
+
// Por que existe: o bin real (packages/cli/src/bin.ts) é TypeScript executado via tsx. Um shebang
|
|
5
|
+
// `node --import tsx` resolveria o tsx a partir do CWD DO USUÁRIO (quebra fora do repo). Aqui o
|
|
6
|
+
// tsx é resolvido a partir DESTE arquivo (node_modules do próprio nexus), com o cwd preservado —
|
|
7
|
+
// o nexus opera no projeto do usuário, mas roda com as dependências do próprio pacote.
|
|
8
|
+
import { createRequire } from 'node:module'
|
|
9
|
+
import { spawn } from 'node:child_process'
|
|
10
|
+
import { existsSync } from 'node:fs'
|
|
11
|
+
import { fileURLToPath } from 'node:url'
|
|
12
|
+
import { join, dirname } from 'node:path'
|
|
13
|
+
|
|
14
|
+
const here = dirname(fileURLToPath(import.meta.url))
|
|
15
|
+
const packageRoot = join(here, '..')
|
|
16
|
+
|
|
17
|
+
// Caminho PUBLICADO: um bundle .mjs auto-contido (dist/bin/nexus.mjs, gerado por `npm run build:bundle`
|
|
18
|
+
// no prepublish). Roda direto com node — sem tsx, sem os symlinks @nexus/* do workspace.
|
|
19
|
+
const bundle = join(packageRoot, 'dist', 'bin', 'nexus.mjs')
|
|
20
|
+
if (existsSync(bundle)) {
|
|
21
|
+
const child = spawn(process.execPath, [bundle, ...process.argv.slice(2)], { stdio: 'inherit' })
|
|
22
|
+
child.on('exit', (code, signal) => process.exit(signal ? 1 : (code ?? 1)))
|
|
23
|
+
} else {
|
|
24
|
+
// Caminho DEV (rodando do repo, sem bundle): executa o fonte TypeScript via tsx, resolvido a partir
|
|
25
|
+
// do node_modules do próprio pacote (não do cwd do usuário).
|
|
26
|
+
const require = createRequire(import.meta.url)
|
|
27
|
+
let tsxCli
|
|
28
|
+
try {
|
|
29
|
+
tsxCli = require.resolve('tsx/cli')
|
|
30
|
+
} catch {
|
|
31
|
+
console.error('[nexus] nem o bundle (dist/) nem o `tsx` foram encontrados — rode `npm install` (dev) ou `npm run build:bundle`.')
|
|
32
|
+
process.exit(1)
|
|
33
|
+
}
|
|
34
|
+
const binTs = join(packageRoot, 'packages', 'cli', 'src', 'bin.ts')
|
|
35
|
+
const child = spawn(process.execPath, [tsxCli, binTs, ...process.argv.slice(2)], { stdio: 'inherit' })
|
|
36
|
+
child.on('exit', (code, signal) => process.exit(signal ? 1 : (code ?? 1)))
|
|
37
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# NEXUS Checklists — os critérios de validação
|
|
2
|
+
|
|
3
|
+
Um checklist é um conjunto de **critérios objetivos** que um gate roda item a item para emitir um
|
|
4
|
+
veredito. É o que separa "feito" de "feito direito". Tasks de gate (`validate-next-story`, `qa-gate`,
|
|
5
|
+
`pre-push-quality-gate`) consomem checklists; a task `execute-checklist` roda um checklist arbitrário.
|
|
6
|
+
|
|
7
|
+
## Formato canônico
|
|
8
|
+
|
|
9
|
+
Frontmatter YAML + corpo com itens verificáveis + regra de decisão.
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
---
|
|
13
|
+
id: story-draft-checklist
|
|
14
|
+
kind: checklist
|
|
15
|
+
agent: po # agente que tipicamente roda
|
|
16
|
+
gate: Definition of Ready # o portão que este checklist guarda
|
|
17
|
+
decision: ">=7/10 GO, senão NO-GO com correções" # como o veredito é decidido
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# {título} ({gate})
|
|
21
|
+
|
|
22
|
+
> {regra de decisão em uma linha}
|
|
23
|
+
|
|
24
|
+
## Critérios
|
|
25
|
+
- [ ] 1. {critério objetivo e verificável}
|
|
26
|
+
- [ ] 2. ...
|
|
27
|
+
|
|
28
|
+
## Decisão
|
|
29
|
+
{veredito} + justificativa + (se NO-GO/CONCERNS) lista de correções obrigatórias.
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Regras
|
|
33
|
+
|
|
34
|
+
- **Critérios são objetivos** — verificáveis com sim/não, não opinião vaga. "Os ACs são testáveis"
|
|
35
|
+
vale; "a story está boa" não.
|
|
36
|
+
- **A decisão é explícita** — todo checklist diz como o veredito sai dos itens (ex.: pontuação,
|
|
37
|
+
qualquer-crítico-reprova, maioria).
|
|
38
|
+
- **NEXUS-nativo.** Referencia agentes do roster e paths `docs/`. Nada de frameworks externos.
|
|
39
|
+
- **Casa com o que valida.** O `story-draft-checklist` valida o `story-tmpl`; o `architect-checklist`
|
|
40
|
+
valida a saída do `create-architecture`.
|
|
41
|
+
|
|
42
|
+
## Vereditos por tipo de gate
|
|
43
|
+
|
|
44
|
+
| Gate | Vereditos |
|
|
45
|
+
|---|---|
|
|
46
|
+
| Definition of Ready (story) | GO / NO-GO |
|
|
47
|
+
| QA Gate | PASS / CONCERNS / FAIL / WAIVED |
|
|
48
|
+
| Pre-push | APROVADO / BLOQUEADO |
|
|
49
|
+
| Spec Critique | APPROVED / NEEDS_REVISION / BLOCKED |
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: architect-checklist
|
|
3
|
+
kind: checklist
|
|
4
|
+
agent: architect
|
|
5
|
+
gate: Architecture Review
|
|
6
|
+
decision: ">=8/10 E nenhum item crítico (1, 4, 7, 8) reprovado → APROVADO; senão BLOQUEADO com correções"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Architect Checklist (Architecture Review)
|
|
10
|
+
|
|
11
|
+
> A Aria roda isto sobre a saída do `*create-architecture` antes de a arquitetura virar plano e ir ao
|
|
12
|
+
> @dev. Veredito: **APROVADO** (≥8/10 e todos os críticos passam) ou **BLOQUEADO** (lista de correções).
|
|
13
|
+
> Itens **críticos** (1, 4, 7, 8) reprovam o gate sozinhos — arquitetura sem eles é meio design.
|
|
14
|
+
|
|
15
|
+
## Critérios (10 pontos)
|
|
16
|
+
|
|
17
|
+
- [ ] 1. **NFRs declarados com números** *(crítico)* — escala, latência, disponibilidade, segurança e
|
|
18
|
+
orçamento têm alvos quantificados; nenhum NFR relevante ficou implícito.
|
|
19
|
+
- [ ] 2. **Contexto e objetivo presentes** — problema, jornada do usuário e restrições de negócio estão
|
|
20
|
+
escritos; o desenho parte do usuário pra trás.
|
|
21
|
+
- [ ] 3. **Espinha estrutural completa** — componentes, fronteiras, fluxo de dados e pontos de integração
|
|
22
|
+
estão definidos (não só o caminho feliz).
|
|
23
|
+
- [ ] 4. **No Invention — tudo rastreia** *(crítico)* — cada decisão, NFR e componente liga a um
|
|
24
|
+
FR/NFR/CON ou achado de pesquisa; nada inventado fora do que o projeto pede.
|
|
25
|
+
- [ ] 5. **Stack justificado** — cada tecnologia tem o porquê; o exótico (não-chato) está explicitamente
|
|
26
|
+
justificado por um requisito real, não por hype.
|
|
27
|
+
- [ ] 6. **Trade-offs documentados** — cada decisão de arquitetura registra alternativas descartadas e o
|
|
28
|
+
custo/risco pago; nenhuma decisão sem rastro do porquê.
|
|
29
|
+
- [ ] 7. **Failure modes ao escalar declarados** *(crítico)* — cada fronteira passou pelo teste do 10×
|
|
30
|
+
(N+1, hot path, ponto único de falha) com mitigação; o "o que quebra" está escrito.
|
|
31
|
+
- [ ] 8. **Lanes respeitadas** *(crítico)* — schema/DDL/RLS delegado ao @data-engineer (só a tecnologia é
|
|
32
|
+
decidida aqui); UI ao @ux-design-expert; código ao @dev; push/PR/CI ao @devops. Nada invade lane alheia.
|
|
33
|
+
- [ ] 9. **Segurança e custo como camadas** — defesa em profundidade por camada e modelo de custo de infra
|
|
34
|
+
estão no design, não como apêndice.
|
|
35
|
+
- [ ] 10. **Complexidade ganha, não presumida** — a classe (SIMPLE/STANDARD/COMPLEX) casa com a
|
|
36
|
+
profundidade entregue; nenhum microsserviço/cache/fila/sharding sem requisito que o justifique.
|
|
37
|
+
|
|
38
|
+
## Decisão
|
|
39
|
+
|
|
40
|
+
**Veredito:** APROVADO (≥8/10 e críticos 1, 4, 7, 8 todos ✓) / BLOQUEADO (caso contrário)
|
|
41
|
+
**Pontuação:** {x}/10
|
|
42
|
+
**Críticos:** 1 {✓/✗} · 4 {✓/✗} · 7 {✓/✗} · 8 {✓/✗}
|
|
43
|
+
**Correções obrigatórias (se BLOQUEADO):**
|
|
44
|
+
- {item — o que falta para virar APROVADO}
|
|
45
|
+
|
|
46
|
+
> BLOQUEADO não é reprovação do trabalho: é a lista exata do que ajustar para a arquitetura sustentar o
|
|
47
|
+
> que vem depois. Consertar arquitetura depois da produção é o conserto mais caro que existe.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: change-checklist
|
|
3
|
+
kind: checklist
|
|
4
|
+
agent: po
|
|
5
|
+
gate: Correção de Curso (Change Management)
|
|
6
|
+
decision: "impacto avaliado, caminho escolhido e artefatos rastreáveis → PROSSEGUIR; senão ESCALAR a @nexus-master"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Change Checklist (Correção de Curso)
|
|
10
|
+
|
|
11
|
+
> O @po roda isto quando surge uma mudança significativa no meio da execução — requisito novo,
|
|
12
|
+
> descoberta técnica que invalida uma premissa, dependência que caiu, ou conflito de escopo achado
|
|
13
|
+
> no `po-master-checklist`. O objetivo não é decidir o escopo (isso é do @pm) — é **medir o impacto**,
|
|
14
|
+
> escolher um caminho rastreável e garantir que PRD/epic/stories voltem a contar a mesma história.
|
|
15
|
+
> Veredito: **PROSSEGUIR** (caminho claro e dono definido) ou **ESCALAR** a @nexus-master.
|
|
16
|
+
|
|
17
|
+
## Critérios
|
|
18
|
+
|
|
19
|
+
### 1. Gatilho & contexto da mudança
|
|
20
|
+
- [ ] 1.1 **[CRÍTICO]** O gatilho da mudança está descrito objetivamente: o que mudou, quando foi detectado e por quê (requisito novo / falha técnica / dependência perdida / conflito de documentos).
|
|
21
|
+
- [ ] 1.2 A story/epic atualmente em execução e seu status estão identificados (qual trabalho está em voo).
|
|
22
|
+
- [ ] 1.3 A premissa original que a mudança quebra está nomeada — qual FR/NFR/decisão de arquitetura deixou de valer.
|
|
23
|
+
|
|
24
|
+
### 2. Avaliação de impacto
|
|
25
|
+
- [ ] 2.1 **[CRÍTICO]** Stories impactadas estão listadas — quais precisam mudar, ser refeitas, descartadas ou criadas.
|
|
26
|
+
- [ ] 2.2 Impacto em artefatos a montante avaliado: o PRD (`docs/prd/`), specs (`docs/specs/`) e/ou arquitetura (`docs/architecture/`) precisam mudar? Sim/não, e onde.
|
|
27
|
+
- [ ] 2.3 Impacto em dependências avaliado: a mudança quebra a sequência do backlog ou cria/remove pré-requisito.
|
|
28
|
+
- [ ] 2.4 Trabalho já concluído avaliado: o que já foi entregue continua válido, precisa de rework ou vira tech-debt.
|
|
29
|
+
- [ ] 2.5 Impacto em prazo/escopo da release quantificado em ordem de grandeza (cabe na release atual ou empurra para a próxima).
|
|
30
|
+
|
|
31
|
+
### 3. Caminhos de correção (escolha rastreável)
|
|
32
|
+
- [ ] 3.1 Os caminhos viáveis foram enumerados (ex.: ajustar story, refazer story, replanejar epic, reduzir escopo da release, rollback).
|
|
33
|
+
- [ ] 3.2 **[CRÍTICO]** Um caminho foi recomendado com justificativa — por que ele tem o melhor custo/risco/valor frente às alternativas.
|
|
34
|
+
- [ ] 3.3 O caminho escolhido NÃO inventa requisito: toda mudança proposta rastreia a uma fonte (novo input do @pm, achado de pesquisa, decisão de arquitetura). (Art. IV — No Invention)
|
|
35
|
+
- [ ] 3.4 O caminho respeita as lanes: edição de escopo/PRD vai para @pm, reescrita de story para @sm, schema para @data-engineer, subida para @devops.
|
|
36
|
+
|
|
37
|
+
### 4. Plano de execução & artefatos
|
|
38
|
+
- [ ] 4.1 Cada artefato a atualizar tem dono e ação nomeados (quem mexe no PRD, quem refaz a story, quem reordena o backlog).
|
|
39
|
+
- [ ] 4.2 As stories afetadas têm ação de backlog definida (atualizar / re-priorizar / agendar / arquivar) via `*backlog-*`.
|
|
40
|
+
- [ ] 4.3 Após a mudança, PRD/epic/stories voltam a ser coerentes — há plano para re-rodar o `po-master-checklist` e confirmar a coesão.
|
|
41
|
+
- [ ] 4.4 A decisão de mudança está registrada de forma rastreável (gatilho → impacto → caminho → ações), não em decisão verbal não documentada.
|
|
42
|
+
|
|
43
|
+
### 5. Gate de escalonamento
|
|
44
|
+
- [ ] 5.1 **[CRÍTICO]** Se a mudança altera escopo/objetivo do produto, ela foi escalada a @nexus-master/@pm — o @po não decide escopo sozinho.
|
|
45
|
+
- [ ] 5.2 Se há conflito de escopo entre PRD/epic/story, ele foi sinalizado em voz alta — nada de "deixa passar e a gente vê depois".
|
|
46
|
+
|
|
47
|
+
## Decisão
|
|
48
|
+
|
|
49
|
+
**Veredito:** PROSSEGUIR / ESCALAR
|
|
50
|
+
**Itens críticos:** {todos aprovados? sim/não}
|
|
51
|
+
**Caminho recomendado:** {qual + justificativa em uma linha}
|
|
52
|
+
|
|
53
|
+
**Regra:**
|
|
54
|
+
- **PROSSEGUIR** — todos os itens [CRÍTICO] aprovados, caminho escolhido com fonte rastreável e cada artefato com dono e ação definidos.
|
|
55
|
+
- **ESCALAR a @nexus-master** — qualquer item [CRÍTICO] falho, OU a mudança altera escopo/objetivo do produto (5.1), OU há conflito de documentos não resolvível na lane do @po.
|
|
56
|
+
|
|
57
|
+
**Ações da correção de curso:**
|
|
58
|
+
- {artefato — ação — dono (@pm / @sm / @data-engineer / @devops)}
|
|
59
|
+
|
|
60
|
+
> Correção de curso não é falha de planejamento: é o ecossistema de documentos se reajustando à
|
|
61
|
+
> realidade sem perder a rastreabilidade. Mudança sem impacto medido é caos agendado.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: db-predeploy-checklist
|
|
3
|
+
kind: checklist
|
|
4
|
+
agent: data-engineer
|
|
5
|
+
gate: Database Pre-Deploy
|
|
6
|
+
decision: "qualquer CRÍTICO falho → BLOQUEADO; senão APROVADO (ALTO falho exige mitigação registrada)"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Database Pre-Deploy Checklist (Database Pre-Deploy)
|
|
10
|
+
|
|
11
|
+
> A Dara roda isto antes de qualquer migration tocar o banco-alvo. Valida o `migration-plan-tmpl`, o
|
|
12
|
+
> `schema-design-tmpl` e o `rls-policies-tmpl` que alimentam o deploy. Veredito: **APROVADO** ou
|
|
13
|
+
> **BLOQUEADO**. Migration que entra sem passar aqui é incidente esperando para acontecer.
|
|
14
|
+
|
|
15
|
+
## Critérios
|
|
16
|
+
|
|
17
|
+
### Reversibilidade (CRÍTICO — qualquer falha bloqueia)
|
|
18
|
+
|
|
19
|
+
- [ ] 1. **Snapshot baseline criado** — ponto de rollback existe antes de aplicar (`*snapshot {label}`).
|
|
20
|
+
- [ ] 2. **Rollback script pronto** — cada passo forward tem reverso idempotente; restauração de snapshot documentada. Se não sei desfazer, não aplico.
|
|
21
|
+
- [ ] 3. **Ponto de não-retorno identificado** — perdas irreversíveis (DROP com dados) estão explícitas e autorizadas.
|
|
22
|
+
|
|
23
|
+
### Integridade (CRÍTICO — qualquer falha bloqueia)
|
|
24
|
+
|
|
25
|
+
- [ ] 4. **Baseline em toda tabela nova** — `id` (PK), `created_at`, `updated_at` presentes; `deleted_at` onde há auditoria.
|
|
26
|
+
- [ ] 5. **FKs explícitas com ON DELETE definido** — toda relação tem foreign key e ação de delete declarada.
|
|
27
|
+
- [ ] 6. **Constraints de negócio no banco** — CHECK/UNIQUE/NOT NULL fazem cumprir as regras; integridade não delegada só à aplicação.
|
|
28
|
+
|
|
29
|
+
### Segurança RLS (CRÍTICO — qualquer falha bloqueia)
|
|
30
|
+
|
|
31
|
+
- [ ] 7. **RLS habilitada em toda tabela pública** — nenhuma tabela exposta sem Row Level Security.
|
|
32
|
+
- [ ] 8. **Testes RLS positivos E negativos passam** — quem pode acessa, quem não pode é barrado (`*test-as-user`).
|
|
33
|
+
- [ ] 9. **service_role justificado** — todo bypass de RLS tem motivo registrado; nenhum segredo vaza em log.
|
|
34
|
+
|
|
35
|
+
### Procedimento (ALTO — falha exige mitigação registrada)
|
|
36
|
+
|
|
37
|
+
- [ ] 10. **Ordem do DDL validada** — dependências primeiro; dry-run sem erro (`*verify-order` + `*dry-run`).
|
|
38
|
+
- [ ] 11. **Idempotência verificada** — `IF NOT EXISTS`/`IF EXISTS`/merges; rodar duas vezes é seguro.
|
|
39
|
+
- [ ] 12. **Aplicação em transação** — migration roda atômica; falha no meio não deixa schema parcial.
|
|
40
|
+
- [ ] 13. **Revisão CodeRabbit limpa** — sem achado CRÍTICO aberto; ALTO mitigado ou com rollback comprovado.
|
|
41
|
+
|
|
42
|
+
### Performance (ALTO — falha exige mitigação registrada)
|
|
43
|
+
|
|
44
|
+
- [ ] 14. **Índices justificados por query real** — cada índice serve a um padrão de acesso; nenhuma FK quente sem índice.
|
|
45
|
+
- [ ] 15. **Impacto de lock/downtime avaliado** — locks de tabela e janela de aplicação dimensionados por evidência, não palpite.
|
|
46
|
+
|
|
47
|
+
## Decisão
|
|
48
|
+
|
|
49
|
+
**Veredito:** APROVADO / BLOQUEADO
|
|
50
|
+
**Críticos falhos:** {lista — itens 1-9 reprovados}
|
|
51
|
+
**Altos falhos (com mitigação):** {lista — itens 10-15 reprovados e como serão mitigados}
|
|
52
|
+
**Correções obrigatórias (se BLOQUEADO):**
|
|
53
|
+
- {item — o que falta para liberar o deploy}
|
|
54
|
+
|
|
55
|
+
> Regra: **qualquer CRÍTICO falho → BLOQUEADO**, sem exceção. ALTO falho não bloqueia por si só, mas
|
|
56
|
+
> exige mitigação ou rollback script comprovado registrado acima. BLOQUEADO não é reprovação — é a
|
|
57
|
+
> lista exata do que a Dara ajusta antes de a migration tocar produção.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: design-quality-checklist
|
|
3
|
+
kind: checklist
|
|
4
|
+
agent: qa
|
|
5
|
+
gate: Visual Quality
|
|
6
|
+
decision: "default REPROVADO; APROVADO só com evidência VISUAL (screenshot da UI renderizada) E: nenhum tell crítico (T1,T3,T5,T6) presente E no máximo 2 tells no total E os 4 itens de acabamento crítico (A1,A4,A6,A9) passam — senão FAIL com os tells nomeados e a correção"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Design Quality Checklist (Visual Quality)
|
|
10
|
+
|
|
11
|
+
> A Quinn roda isto no **endurecer**, sobre a UI RENDERIZADA (não sobre o diff), quando a story
|
|
12
|
+
> entrega interface. É o dente HARD da rota design-first (Onda 9.2): mesmo que o coordenador tenha
|
|
13
|
+
> pulado o UX, o acabamento não passa daqui sem qualidade. **Default é REPROVADO** — o ônus da prova
|
|
14
|
+
> é da tela, não da dúvida. Sem screenshot da UI, não há avaliação: o gate não atesta o que não viu.
|
|
15
|
+
>
|
|
16
|
+
> Régua derivada dos packs `web-craft/anti-ai-look` (os tells) e `web-craft/visual-polish-review` (as
|
|
17
|
+
> lentes de acabamento). FAIL vira `QaVerdict` com `evidence` (o screenshot) e a lista de tells.
|
|
18
|
+
|
|
19
|
+
## Parte 1 — "Isto parece feito por IA?" (tells — presença REPROVA)
|
|
20
|
+
|
|
21
|
+
Marque cada tell PRESENTE. **Críticos (T1, T3, T5, T6) reprovam sozinhos.** 3+ tells no total = FAIL.
|
|
22
|
+
|
|
23
|
+
- [ ] **T1 (crítico) — Estética de component-library default:** shadcn/Material sem customização, mesmos cantos e sombras de todo template.
|
|
24
|
+
- [ ] **T2 — Tipografia Inter/system em tudo**, um ou dois pesos, sem par de caráter nem hierarquia real.
|
|
25
|
+
- [ ] **T3 (crítico) — Gradiente índigo→violeta / roxo→rosa** no hero, botões ou blobs de fundo.
|
|
26
|
+
- [ ] **T4 — Glassmorphism/blur** aplicado sem motivo em todo card.
|
|
27
|
+
- [ ] **T5 (crítico) — Tudo centralizado** num eixo vertical único do topo ao fim.
|
|
28
|
+
- [ ] **T6 (crítico) — Grid de 3 cards iguais** (ícone + título de 2 palavras + parágrafo genérico).
|
|
29
|
+
- [ ] **T7 — Espaçamento uniforme** em múltiplos de 8 sem ritmo; nenhuma seção respira diferente.
|
|
30
|
+
- [ ] **T8 — Ilustrações blob 3D / stock / gradient mesh** sem relação com a marca.
|
|
31
|
+
- [ ] **T9 — Estrutura previsível** hero→logos→features→depoimento→CTA sem nenhuma surpresa.
|
|
32
|
+
- [ ] **T10 — Motion uniforme:** tudo faz o mesmo fade-up, mesma duração, mesmo easing.
|
|
33
|
+
- [ ] **T11 — Copy vaga de "empoderamento"** ("Empower your workflow"), sem dizer o que faz e pra quem.
|
|
34
|
+
- [ ] **T12 — Detalhes esquecidos:** seleção de texto default, foco azul do browser, favicon genérico.
|
|
35
|
+
|
|
36
|
+
## Parte 2 — Acabamento (lentes de visual-polish — ausência REPROVA)
|
|
37
|
+
|
|
38
|
+
**Críticos (A1, A4, A6, A9) reprovam sozinhos** se falharem.
|
|
39
|
+
|
|
40
|
+
- [ ] **A1 (crítico) — Hierarquia por peso e cor,** não só por tamanho: há um ponto focal claro por tela.
|
|
41
|
+
- [ ] **A2 — Escala tipográfica modular** e line-height inverso (corpo ~1.5, títulos ~1.1–1.2).
|
|
42
|
+
- [ ] **A3 — Medida (line length)** controlada (~45–75 caracteres) no corpo de texto.
|
|
43
|
+
- [ ] **A4 (crítico) — Cor como sistema:** 8–10 tons de cinza (com temperatura) + primárias com shades, não 3 cores soltas.
|
|
44
|
+
- [ ] **A5 — Cinza nunca sobre fundo colorido** (usar o tom colorido escurecido, não cinza opaco).
|
|
45
|
+
- [ ] **A6 (crítico) — Espaçamento com ritmo** (escala não-linear, extremos usados), não tudo uniforme.
|
|
46
|
+
- [ ] **A7 — Elevação em camadas** (sombra de luz suave, não cinza opaco chapado).
|
|
47
|
+
- [ ] **A8 — Separação sem borda** onde couber (espaço/fundo em vez de linha em tudo).
|
|
48
|
+
- [ ] **A9 (crítico) — Estados de botão completos:** hover, active, **focus desenhado** (não o anel azul default), disabled; hierarquia primária/secundária clara.
|
|
49
|
+
- [ ] **A10 — Empty states e estados de erro desenhados** (não "sem dados" cru).
|
|
50
|
+
|
|
51
|
+
## Como reprovar (fail-closed)
|
|
52
|
+
|
|
53
|
+
REPROVADO quando: falta o screenshot da UI renderizada · **qualquer** tell crítico (T1/T3/T5/T6) presente ·
|
|
54
|
+
**qualquer** item de acabamento crítico (A1/A4/A6/A9) falho · **3+ tells** no total. FAIL emite
|
|
55
|
+
`QaVerdict` (severidade P1/P2 conforme o item), `evidence` = o screenshot e a lista dos tells/lentes
|
|
56
|
+
que reprovaram, e `fixInstructions` apontando o princípio de craft correspondente. Reprovar aqui 2–3
|
|
57
|
+
vezes é o processo funcionando — cada ciclo tira uma camada da "cara de IA".
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: discovery-checklist
|
|
3
|
+
kind: checklist
|
|
4
|
+
agent: analyst
|
|
5
|
+
gate: Discovery
|
|
6
|
+
decision: ">=6/8 E os críticos (1, 2, 5) passam → PRONTO PARA ESTRATÉGIA; senão VOLTA À DESCOBERTA"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Discovery Checklist (Descobrir)
|
|
10
|
+
|
|
11
|
+
> O Alex roda isto ao fim da fase **Descobrir**, antes de a ideia virar estratégia. Descoberta rasa
|
|
12
|
+
> vira produto errado construído com perfeição. Itens **críticos** (1, 2, 5) reprovam sozinhos: sem
|
|
13
|
+
> problema real, usuário real e evidência, não há o que estrategizar.
|
|
14
|
+
|
|
15
|
+
## Critérios (8 pontos)
|
|
16
|
+
|
|
17
|
+
- [ ] 1. **Problema real, não solução disfarçada** *(crítico)* — o que dói está escrito como problema
|
|
18
|
+
do usuário, não como "quero a feature X". A dor precede a solução.
|
|
19
|
+
- [ ] 2. **Usuário/segmento nomeado** *(crítico)* — quem sente a dor está identificado (papel, contexto),
|
|
20
|
+
não um "usuário genérico".
|
|
21
|
+
- [ ] 3. **Evidência da dor** — a dor tem prova (entrevista, dado, ticket, observação), não suposição.
|
|
22
|
+
- [ ] 4. **Concorrência/alternativas mapeadas** — como isso é resolvido hoje (inclusive "na mão" ou
|
|
23
|
+
"não é resolvido") está registrado.
|
|
24
|
+
- [ ] 5. **Valor articulado** *(crítico)* — por que resolver isso importa (impacto, frequência, alcance)
|
|
25
|
+
está claro; vale o esforço.
|
|
26
|
+
- [ ] 6. **Restrições conhecidas** — orçamento, prazo, técnicas, legais/compliance levantadas.
|
|
27
|
+
- [ ] 7. **Riscos e incógnitas listados** — o que ainda não se sabe está nomeado (não varrido para baixo
|
|
28
|
+
do tapete).
|
|
29
|
+
- [ ] 8. **Pergunta de decisão clara** — a próxima decisão (seguir/pivotar/parar) e o que a responde
|
|
30
|
+
estão definidos.
|
|
31
|
+
|
|
32
|
+
## Veredito
|
|
33
|
+
|
|
34
|
+
- **PRONTO PARA ESTRATÉGIA:** ≥6/8 e críticos 1, 2, 5 passam. A dor é real e vale a pena.
|
|
35
|
+
- **VOLTA À DESCOBERTA:** crítico reprovado ou <6/8. Falta problema, usuário ou evidência — pesquisar
|
|
36
|
+
mais antes de investir em estratégia.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: foundation-checklist
|
|
3
|
+
kind: checklist
|
|
4
|
+
agent: architect
|
|
5
|
+
gate: Foundation
|
|
6
|
+
decision: ">=7/9 E os críticos (1, 3, 6, 9) passam → FUNDAÇÃO SÓLIDA; senão RE-ESTRUTURAR"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Foundation Checklist (Estruturar)
|
|
10
|
+
|
|
11
|
+
> A Aria roda isto ao fim da fase **Estruturar**, antes de o time começar a construir. Fundação torta
|
|
12
|
+
> vira retrabalho caro no dia 30. Itens **críticos** (1, 3, 6, 9) reprovam sozinhos: sem NFRs, sem
|
|
13
|
+
> fronteiras e sem rastreabilidade, "construir" é apostar.
|
|
14
|
+
|
|
15
|
+
## Critérios (9 pontos)
|
|
16
|
+
|
|
17
|
+
- [ ] 1. **NFRs quantificados** *(crítico)* — escala, latência, disponibilidade, segurança e custo têm
|
|
18
|
+
números-alvo; nenhum NFR relevante ficou implícito.
|
|
19
|
+
- [ ] 2. **Espinha estrutural completa** — componentes, fronteiras, fluxo de dados e integrações
|
|
20
|
+
definidos (não só o caminho feliz).
|
|
21
|
+
- [ ] 3. **No Invention — tudo rastreia** *(crítico)* — cada decisão/componente liga a um FR/NFR/CON ou
|
|
22
|
+
achado de pesquisa; nada inventado fora do que o projeto pede.
|
|
23
|
+
- [ ] 4. **Stack justificado** — cada tecnologia tem o porquê; o exótico é justificado por requisito
|
|
24
|
+
real, não por hype.
|
|
25
|
+
- [ ] 5. **Dados modelados** — entidades, relações e propriedade de dados definidas; migração/estado
|
|
26
|
+
inicial pensados.
|
|
27
|
+
- [ ] 6. **Segurança na fundação** *(crítico)* — authz por fronteira, dados sensíveis, superfície de
|
|
28
|
+
ataque considerados no desenho, não deixados para depois.
|
|
29
|
+
- [ ] 7. **Estratégia de teste declarada** — como cada camada será testada (unidade/integração/e2e)
|
|
30
|
+
está definida antes de codar.
|
|
31
|
+
- [ ] 8. **Observabilidade prevista** — logs, métricas e trilhas de auditoria fazem parte do desenho.
|
|
32
|
+
- [ ] 9. **Decisões registradas (ADRs)** *(crítico)* — as escolhas estruturais e suas alternativas
|
|
33
|
+
rejeitadas estão documentadas; o "porquê" sobrevive à memória.
|
|
34
|
+
|
|
35
|
+
## Veredito
|
|
36
|
+
|
|
37
|
+
- **FUNDAÇÃO SÓLIDA:** ≥7/9 e críticos 1, 3, 6, 9 passam. Pode construir sobre isto.
|
|
38
|
+
- **RE-ESTRUTURAR:** crítico reprovado ou <7/9. Consertar a fundação agora custa uma conversa; depois,
|
|
39
|
+
um refactor.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: launch-checklist
|
|
3
|
+
kind: checklist
|
|
4
|
+
agent: devops
|
|
5
|
+
gate: Launch
|
|
6
|
+
decision: ">=8/9 E TODOS os críticos (1, 2, 4, 7, 9) passam → PODE LANÇAR; senão SEGURA O LANÇAMENTO"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Launch Checklist (Lançar)
|
|
10
|
+
|
|
11
|
+
> O Gage roda isto antes de qualquer release ir para produção. Lançar é irreversível na prática (o
|
|
12
|
+
> usuário já viu). Itens **críticos** (1, 2, 4, 7, 9) reprovam sozinhos e SEGURAM o lançamento — sem
|
|
13
|
+
> gate verde, sem rollback e sem observabilidade, "lançar" é apostar com o usuário.
|
|
14
|
+
|
|
15
|
+
## Critérios (9 pontos)
|
|
16
|
+
|
|
17
|
+
- [ ] 1. **Gate de qualidade verde** *(crítico)* — o Endurecer passou: `npm run check` verde, QA com
|
|
18
|
+
PASS e evidência. Não se lança sobre vermelho.
|
|
19
|
+
- [ ] 2. **Rollback testado** *(crítico)* — existe caminho de volta EXERCITADO (não só documentado);
|
|
20
|
+
sei desfazer em minutos se der errado.
|
|
21
|
+
- [ ] 3. **Migrações reversíveis e ensaiadas** — schema mudou? A migração foi ensaiada e tem volta (ou
|
|
22
|
+
o plano de contingência está escrito).
|
|
23
|
+
- [ ] 4. **Segredos e config de produção corretos** *(crítico)* — nenhuma credencial de dev/staging
|
|
24
|
+
vaza para prod; variáveis de ambiente conferidas; nada hardcoded.
|
|
25
|
+
- [ ] 5. **Feature flag / rollout gradual** — mudança arriscada sobe atrás de flag ou canário, não de
|
|
26
|
+
uma vez para 100%.
|
|
27
|
+
- [ ] 6. **Comunicação pronta** — changelog/aviso ao usuário e ao time preparados; suporte sabe o que
|
|
28
|
+
muda.
|
|
29
|
+
- [ ] 7. **Observabilidade e alertas ativos** *(crítico)* — métricas, logs e alertas do caminho novo
|
|
30
|
+
estão de pé ANTES do tráfego; saberei se quebrar.
|
|
31
|
+
- [ ] 8. **Plano de incidente** — quem responde, como escala e onde está o runbook estão definidos.
|
|
32
|
+
- [ ] 9. **Assinatura de release verificada** *(crítico)* — o artefato distribuído está assinado e a
|
|
33
|
+
assinatura confere (fail-closed); nada não-assinado vai para o usuário.
|
|
34
|
+
|
|
35
|
+
## Veredito
|
|
36
|
+
|
|
37
|
+
- **PODE LANÇAR:** ≥8/9 e todos os críticos passam. Rede de segurança montada, volta garantida.
|
|
38
|
+
- **SEGURA O LANÇAMENTO:** qualquer crítico reprovado ou <8/9. Um dia a mais de preparo custa menos que
|
|
39
|
+
um incidente em produção.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: pm-checklist
|
|
3
|
+
kind: checklist
|
|
4
|
+
agent: pm
|
|
5
|
+
gate: PRD/Epic/Spec Ready
|
|
6
|
+
decision: ">=8/10 → APROVADO; <8 → REVISÃO com correções obrigatórias; qualquer item crítico (1, 4, 6) reprovado → REVISÃO independentemente da nota"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# PM Checklist (PRD / Epic / Spec Ready)
|
|
10
|
+
|
|
11
|
+
> O @pm roda isto sobre o PRD (`prd-tmpl`), o epic (`epic-tmpl`) ou a spec (`spec-tmpl`) antes de
|
|
12
|
+
> entregar a downstream (@sm / @architect / @qa). Veredito: **APROVADO** (≥8 dos 10, nenhum crítico
|
|
13
|
+
> reprovado) ou **REVISÃO** (lista de correções). Documento que sai daqui é contrato executável — quem
|
|
14
|
+
> recebe não precisa perguntar o que foi quis dizer.
|
|
15
|
+
|
|
16
|
+
## Critérios (10 pontos)
|
|
17
|
+
|
|
18
|
+
- [ ] 1. **(CRÍTICO) "Por quê" na raiz** — o problema está rastreado a uma dor real do usuário ou achado
|
|
19
|
+
de pesquisa, não a uma solução disfarçada de problema.
|
|
20
|
+
- [ ] 2. **Usuário-alvo identificado** — persona/segmento que sente a dor está nomeado, não genérico.
|
|
21
|
+
- [ ] 3. **Objetivos com métrica** — cada objetivo tem métrica mensurável, baseline e alvo; nada de
|
|
22
|
+
objetivo sem número que o comprove.
|
|
23
|
+
- [ ] 4. **(CRÍTICO) Escopo MVP recortado** — só o "Must" entra; o que foi adiado está explicitamente no
|
|
24
|
+
roadmap/fora de escopo. Nenhuma feature entrou sem provar seu lugar.
|
|
25
|
+
- [ ] 5. **FR/NFR com critério de aceite verificável** — cada requisito tem aceite testável sim/não;
|
|
26
|
+
nada de "funciona bem" ou critério vago.
|
|
27
|
+
- [ ] 6. **(CRÍTICO) Rastreabilidade total (No Invention, Art. IV)** — cada FR/NFR/CON aponta para um
|
|
28
|
+
objetivo, requisito de origem, achado ou restrição. Zero linha inventada.
|
|
29
|
+
- [ ] 7. **Restrições e premissas explícitas** — CONs externos e premissas de risco estão listados; o
|
|
30
|
+
que muda o plano se for falso está sinalizado.
|
|
31
|
+
- [ ] 8. **Dependências e riscos mapeados** — itens de que a entrega depende e riscos com mitigação estão
|
|
32
|
+
identificados.
|
|
33
|
+
- [ ] 9. **Fronteiras de epic limpas** (para epics) — entrega coesa em uma frase, "dentro/fora" definido,
|
|
34
|
+
e a criação de stories está delegada ao @sm (Gate 1), não feita pelo @pm. *(N/A para PRD/spec puro.)*
|
|
35
|
+
- [ ] 10. **Quality gates previstos** — os portões que a entrega atravessa (@po, @qa, @devops) estão
|
|
36
|
+
antecipados no documento; qualidade é design, não remendo.
|
|
37
|
+
|
|
38
|
+
## Decisão
|
|
39
|
+
|
|
40
|
+
**Veredito:** APROVADO (≥8 e nenhum crítico reprovado) / REVISÃO (caso contrário)
|
|
41
|
+
**Pontuação:** {x}/10
|
|
42
|
+
**Itens críticos (1, 4, 6):** {OK / reprovado — qual}
|
|
43
|
+
**Correções obrigatórias (se REVISÃO):**
|
|
44
|
+
- {item — o que falta para virar APROVADO}
|
|
45
|
+
|
|
46
|
+
> REVISÃO não é reprovação: é a lista exata do que ajustar para o documento virar contrato executável.
|
|
47
|
+
> Item crítico reprovado bloqueia a aprovação independentemente da nota — sem "por quê", sem recorte ou
|
|
48
|
+
> com invenção, o documento volta.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: po-master-checklist
|
|
3
|
+
kind: checklist
|
|
4
|
+
agent: po
|
|
5
|
+
gate: Coesão & Rastreabilidade do Ecossistema de Documentos
|
|
6
|
+
decision: ">=90% dos itens aplicáveis aprovados E nenhum item crítico falho → GO; senão NO-GO com correções"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# PO Master Checklist (Coesão & Rastreabilidade)
|
|
10
|
+
|
|
11
|
+
> O @po roda isto sobre o conjunto de artefatos de produto — PRD, epic(s), specs, arquitetura e
|
|
12
|
+
> backlog de stories — antes de o trabalho entrar no ciclo de desenvolvimento. Não valida UMA story
|
|
13
|
+
> (isso é o `story-draft-checklist`); valida se PRD, epic, spec e stories contam a **mesma história**,
|
|
14
|
+
> em sequência lógica, sem requisito inventado. Item marcado **[CRÍTICO]** reprova o gate sozinho.
|
|
15
|
+
|
|
16
|
+
## Critérios
|
|
17
|
+
|
|
18
|
+
### 1. Coesão dos documentos
|
|
19
|
+
- [ ] 1.1 **[CRÍTICO]** PRD, epic(s) e stories contam a mesma história — nenhum conflito silencioso de escopo, objetivo ou comportamento entre os documentos.
|
|
20
|
+
- [ ] 1.2 Cada epic em `docs/prd/` mapeia para objetivos declarados do PRD; nenhum epic órfão sem objetivo de origem.
|
|
21
|
+
- [ ] 1.3 Toda story planejada pertence a um epic existente; nenhuma story solta fora da estrutura de epics.
|
|
22
|
+
- [ ] 1.4 Terminologia consistente entre documentos — a mesma entidade/conceito tem o mesmo nome em PRD, spec, arquitetura e stories.
|
|
23
|
+
|
|
24
|
+
### 2. Rastreabilidade (Constituição Art. IV — No Invention)
|
|
25
|
+
- [ ] 2.1 **[CRÍTICO]** Cada story rastreia a um FR/NFR/CON do PRD, a um item de spec (`docs/specs/...`) ou a um achado de pesquisa (`docs/research/...`); nenhuma story inventada sem fonte.
|
|
26
|
+
- [ ] 2.2 Cada FR/NFR do PRD está coberto por ao menos uma story ou está explicitamente marcado como fora de escopo desta release.
|
|
27
|
+
- [ ] 2.3 Afirmações técnicas em specs/stories citam a fonte (`docs/architecture/...`, `docs/data-models/...`); nada de decisão técnica sem origem.
|
|
28
|
+
- [ ] 2.4 Não há requisito presente nas stories que esteja ausente do PRD/spec (invenção a jusante).
|
|
29
|
+
|
|
30
|
+
### 3. Sequência & dependências
|
|
31
|
+
- [ ] 3.1 **[CRÍTICO]** Nenhuma story está agendada antes de sua dependência (schema, serviço, story-base) — sequência respeita a cadeia de pré-requisitos.
|
|
32
|
+
- [ ] 3.2 Dependências entre stories estão explicitamente declaradas (story X precisa de Y) e mapeadas no backlog.
|
|
33
|
+
- [ ] 3.3 Dependências externas (APIs, dados, integrações de terceiros) estão identificadas e seu status (pronto/pendente) é conhecido.
|
|
34
|
+
- [ ] 3.4 A ordem do backlog é tecnicamente executável — não há ciclo de dependência nem item bloqueado por algo ainda não planejado.
|
|
35
|
+
|
|
36
|
+
### 4. Prontidão das stories (amostra do conjunto)
|
|
37
|
+
- [ ] 4.1 Toda story marcada como pronta para o sprint passou no `story-draft-checklist` (GO individual).
|
|
38
|
+
- [ ] 4.2 ACs de stories que compartilham comportamento são consistentes entre si — não há critérios que se contradizem entre stories.
|
|
39
|
+
- [ ] 4.3 Gate de qualidade (CodeRabbit/QA) está previsto para o fluxo; nenhuma story planeja entrar em Done sem QA gate.
|
|
40
|
+
|
|
41
|
+
### 5. Cobertura & escopo da release
|
|
42
|
+
- [ ] 5.1 O escopo do conjunto cabe na release/sprint planejada — não há excesso de stories HIGH simultâneas sem ordem.
|
|
43
|
+
- [ ] 5.2 Prioridades (HIGH/MEDIUM/LOW) estão atribuídas e justificadas por valor/risco, não por urgência percebida.
|
|
44
|
+
- [ ] 5.3 Itens de follow-up, tech-debt e enhancement estão no backlog (`*backlog-add`), não misturados como ACs de stories de release.
|
|
45
|
+
|
|
46
|
+
### 6. Donos & lanes
|
|
47
|
+
- [ ] 6.1 Cada bloco de trabalho está na lane do agente certo; o que sai da lane (schema → @data-engineer, UI → @ux-design-expert, subida → @devops) está delegado ao dono.
|
|
48
|
+
- [ ] 6.2 Nenhum item exige que o @po reescreva título/AC/escopo — correções pendentes têm dono nomeado (@sm para story, @pm para escopo).
|
|
49
|
+
|
|
50
|
+
## Decisão
|
|
51
|
+
|
|
52
|
+
**Veredito:** GO / NO-GO
|
|
53
|
+
**Cobertura:** {itens aprovados}/{itens aplicáveis} ({percentual}%)
|
|
54
|
+
**Itens críticos:** {todos aprovados? sim/não}
|
|
55
|
+
|
|
56
|
+
**Regra:**
|
|
57
|
+
- **GO** — ≥90% dos itens aplicáveis aprovados **E** todos os itens [CRÍTICO] aprovados.
|
|
58
|
+
- **NO-GO** — abaixo de 90% **OU** qualquer item [CRÍTICO] falho.
|
|
59
|
+
|
|
60
|
+
**Correções obrigatórias (se NO-GO):**
|
|
61
|
+
- {item — o que falta + dono (@sm story / @pm escopo / @analyst pesquisa)}
|
|
62
|
+
|
|
63
|
+
> Conflito de escopo entre PRD/epic/story (item 1.1 falho) eu não resolvo em silêncio: sinalizo e
|
|
64
|
+
> escalo a correção de curso para @nexus-master usando o `change-checklist`.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: reality-check-checklist
|
|
3
|
+
kind: checklist
|
|
4
|
+
agent: qa
|
|
5
|
+
gate: Reality Check
|
|
6
|
+
decision: "default NEEDS WORK; READY só se TODOS os críticos (1,2,5,10) passam E >=8/10 — senão FAIL/CONCERNS com correções"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Reality Check Checklist (Reality Check)
|
|
10
|
+
|
|
11
|
+
> A Quinn roda isto antes de assinar qualquer PASS. O default do gate de realidade é **NEEDS WORK** —
|
|
12
|
+
> o ônus da prova é do código, não da dúvida. READY (PASS) só quando a evidência é esmagadora. Itens
|
|
13
|
+
> **críticos** (1, 2, 5, 10) reprovam sozinhos: sem eles, "passou" é teatro. Reprovar aqui 2–3 vezes é
|
|
14
|
+
> o processo funcionando — cada ciclo aproxima do real.
|
|
15
|
+
|
|
16
|
+
## Critérios (10 pontos)
|
|
17
|
+
|
|
18
|
+
- [ ] 1. **Executei, não li** *(crítico)* — rodei a suíte completa e exercitei o fluxo alterado com meus
|
|
19
|
+
olhos. "Pareceu certo no diff" e "rodou na minha cabeça" não contam. Gate sem execução é fraude
|
|
20
|
+
assinada com meu nome.
|
|
21
|
+
- [ ] 2. **Evidência anexada** *(crítico)* — cada afirmação de "pronto/funciona" tem prova verificável:
|
|
22
|
+
teste verde, log da execução real, screenshot, console limpo. Sem prova, não aconteceu — vira
|
|
23
|
+
issue com `evidence`, não PASS.
|
|
24
|
+
- [ ] 3. **Grep antes de acreditar** — verifiquei as alegações olhando o artefato REAL (código, teste,
|
|
25
|
+
arquivo capturado), não a narração de quem implementou. Confiar no "feito" sem checar é como
|
|
26
|
+
confiar num `tool_use` que nunca virou `tool_result`.
|
|
27
|
+
- [ ] 4. **`filesModified` confirmado (caso BUG A)** — os arquivos ditos "modificados" foram confirmados
|
|
28
|
+
por RESULTADO da escrita, não pela intenção de escrever. Intenção declarada não é mudança feita;
|
|
29
|
+
exijo a confirmação, não a promessa.
|
|
30
|
+
- [ ] 5. **Regressão para todo bug "corrigido"** *(crítico)* — cada correção tem um teste que
|
|
31
|
+
reproduzia o bug original (red antes do green). "Corrigido" sem esse teste é hipótese, não fato.
|
|
32
|
+
- [ ] 6. **Toda AC rastreia a teste** — cada AC mapeia a pelo menos um Given-When-Then; AC órfã é gap
|
|
33
|
+
nomeado com severidade. E o inverso: comportamento novo sem AC é escopo furado.
|
|
34
|
+
- [ ] 7. **App sobe / evidência visual** — se a story tem UI, o app subiu e há captura por rota×viewport
|
|
35
|
+
(`collect-visual-evidence`). Se não sobe, o veredito é **BLOCKED** com o log — não um PASS no escuro.
|
|
36
|
+
- [ ] 8. **Console limpo no fluxo** — sem erro/warning relevante no console durante a execução do fluxo
|
|
37
|
+
alterado. Erro de console é achado, não ruído.
|
|
38
|
+
- [ ] 9. **Veredito estruturado emitido** — emiti exatamente um bloco `<verdict>` válido; se FAIL, com
|
|
39
|
+
ao menos uma issue com `evidence` (o contrato barra FAIL sem issue). O veredito é dado, não prosa.
|
|
40
|
+
- [ ] 10. **Nenhum teste afrouxado para passar** *(crítico)* — nenhum teste foi skipado, comentado ou
|
|
41
|
+
relaxado para o gate fechar. Teste enfraquecido para o verde é achado CRÍTICO, não detalhe.
|
|
42
|
+
|
|
43
|
+
## Veredito
|
|
44
|
+
|
|
45
|
+
- **READY (PASS):** críticos 1, 2, 5, 10 passam **e** ≥8/10. Assino porque EU vi rodar, com prova.
|
|
46
|
+
- **NEEDS WORK (FAIL/CONCERNS):** qualquer crítico reprovado, ou <8/10. Devolvo com `fixInstructions` e
|
|
47
|
+
o defeito preciso — o @dev conserta, eu re-reviso. Isso é o ciclo saudável, não uma falha.
|
|
48
|
+
- **BLOCKED:** o app/fluxo não roda, ou a evidência necessária é impossível de obter agora. Escalo com o
|
|
49
|
+
log — não invento o resultado do que não consegui ver.
|