jarvis-ai-framework 1.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/AGENTS.md +416 -0
- package/LICENSE +21 -0
- package/README.md +190 -0
- package/agents/AGENTS.md +234 -0
- package/agents/README.md +309 -0
- package/agents/engineering/data/eng.data-engineer.agent.md +309 -0
- package/agents/engineering/eng.agent.md +303 -0
- package/agents/engineering/eng.bug-hunter.md +386 -0
- package/agents/engineering/eng.cybersecurity.agent.md +503 -0
- package/agents/engineering/eng.dev-code-reviewer.md +148 -0
- package/agents/engineering/eng.docs-writer.md +152 -0
- package/agents/engineering/eng.frontend.agent.md +117 -0
- package/agents/engineering/eng.rpa.agent.md +215 -0
- package/agents/engineering/eng.tech-analyst.agent.md +102 -0
- package/agents/engineering/eng.ux-designer.agent.md +193 -0
- package/agents/engineering/qa/eng.qa.cypress-specialist.md +109 -0
- package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +85 -0
- package/agents/engineering/qa/eng.qa.quality-strategist.md +111 -0
- package/agents/engineering/qa/eng.qa.test-architect.md +400 -0
- package/agents/engineering/qa/eng.qa.test-planner.md +477 -0
- package/agents/engineering/qa/eng.qa.testing-engineer.md +339 -0
- package/agents/product/prod.pm-checker.md +52 -0
- package/bin/commands/docs-publish.js +184 -0
- package/bin/commands/docs-sync.js +139 -0
- package/bin/commands/info.js +87 -0
- package/bin/commands/init.js +237 -0
- package/bin/commands/install-rtk.js +90 -0
- package/bin/commands/list.js +48 -0
- package/bin/commands/qa-signoff.js +112 -0
- package/bin/commands/whoami.js +43 -0
- package/bin/jarvis.js +159 -0
- package/bin/lib/auth/session.js +56 -0
- package/bin/lib/config/constants.js +123 -0
- package/bin/lib/config/ide-config.js +233 -0
- package/bin/lib/core/scanner.js +124 -0
- package/bin/lib/core/sync-engine.js +551 -0
- package/bin/lib/docs/fetch-file.sh +41 -0
- package/bin/lib/docs/publish-file.sh +284 -0
- package/bin/lib/docs/validate-frontmatter.js +157 -0
- package/bin/lib/env-loader.js +198 -0
- package/bin/lib/tasks/comment.js +131 -0
- package/bin/lib/utils/git-parser.js +145 -0
- package/bin/lib/utils/logger.js +104 -0
- package/bin/lib/utils/npmrc-parser.js +106 -0
- package/bin/lib/utils/paths.js +55 -0
- package/bin/lib/utils/ui.js +59 -0
- package/bin/lib/vcs/api.js +312 -0
- package/bin/lib/vcs/create-issue.js +43 -0
- package/bin/lib/vcs/create-merge.js +43 -0
- package/bin/lib/vcs/fetch-raw.js +30 -0
- package/bin/postinstall.js +41 -0
- package/members.md +25 -0
- package/package.json +55 -0
- package/rules/AGENTS.md +205 -0
- package/rules/engineering/data/data-rules.md +200 -0
- package/rules/engineering/eng-rules.md +243 -0
- package/rules/engineering/eng-security-rules.md +186 -0
- package/rules/engineering/eng.breakdown-subtasks-rules.md +585 -0
- package/rules/engineering/eng.bump-rules.md +27 -0
- package/rules/engineering/eng.docs-scraping-rules.md +64 -0
- package/rules/engineering/eng.downstream-flow-rules.md +297 -0
- package/rules/engineering/eng.integrations-rules.md +73 -0
- package/rules/engineering/eng.plan-rules.md +333 -0
- package/rules/engineering/eng.pr-rules.md +359 -0
- package/rules/engineering/eng.pre-pr-rules.md +103 -0
- package/rules/engineering/eng.start-rules.md +246 -0
- package/rules/engineering/eng.tech-spec-rules.md +968 -0
- package/rules/engineering/eng.work-rules.md +312 -0
- package/rules/engineering/frontend/eng.frontend-rules.md +147 -0
- package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +259 -0
- package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +137 -0
- package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +181 -0
- package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +120 -0
- package/rules/engineering/rpa/eng.rpa-rules.md +230 -0
- package/rules/product/README.md +24 -0
- package/rules/product/prod-rules.md +151 -0
- package/rules/rtk-rules.md +68 -0
- package/skills/AGENTS.md +290 -0
- package/skills/SKILLS-ROADMAP.md +333 -0
- package/skills/churn-audit/SKILL.md +385 -0
- package/skills/context-detect/SKILL.md +399 -0
- package/skills/context-detect/assets/context-profile-template.md +127 -0
- package/skills/docs-central/README.md +310 -0
- package/skills/docs-central/SKILL.md +423 -0
- package/skills/docs-index/SKILL.md +377 -0
- package/skills/eng-ai-engineer/SKILL.md +296 -0
- package/skills/eng-arch-c4/SKILL.md +358 -0
- package/skills/eng-arch-c4/assets/example-code.md +189 -0
- package/skills/eng-arch-c4/assets/example-component.md +105 -0
- package/skills/eng-arch-c4/assets/example-container.md +104 -0
- package/skills/eng-arch-c4/assets/example-context.md +81 -0
- package/skills/eng-backend/SKILL.md +776 -0
- package/skills/eng-browser-extension-builder/SKILL.md +385 -0
- package/skills/eng-cybersecurity/SKILL.md +645 -0
- package/skills/eng-data-bi/SKILL.md +199 -0
- package/skills/eng-data-debug/SKILL.md +307 -0
- package/skills/eng-data-engineer/SKILL.md +256 -0
- package/skills/eng-data-onboard/SKILL.md +310 -0
- package/skills/eng-data-orchestrator/SKILL.md +426 -0
- package/skills/eng-design-system/SKILL.md +619 -0
- package/skills/eng-docs-write/SKILL.md +312 -0
- package/skills/eng-frontend/SKILL.md +913 -0
- package/skills/eng-jira-comment/SKILL.md +17 -0
- package/skills/eng-microfrontend/SKILL.md +602 -0
- package/skills/eng-ms-trace/SKILL.md +469 -0
- package/skills/eng-nestjs/SKILL.md +791 -0
- package/skills/eng-performance-engineer/SKILL.md +312 -0
- package/skills/eng-pr/SKILL.md +339 -0
- package/skills/eng-qa-a11y-audit/SKILL.md +269 -0
- package/skills/eng-qa-bug-report/SKILL.md +1088 -0
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +138 -0
- package/skills/eng-qa-cypress-e2e/SKILL.md +177 -0
- package/skills/eng-qa-dev-guide/SKILL.md +164 -0
- package/skills/eng-qa-e2e/SKILL.md +400 -0
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +322 -0
- package/skills/eng-qa-exploratory/SKILL.md +188 -0
- package/skills/eng-qa-gate/SKILL.md +370 -0
- package/skills/eng-qa-gate/assets/checklist-validacao.md +291 -0
- package/skills/eng-qa-graphql-contract/SKILL.md +256 -0
- package/skills/eng-qa-quality-report/SKILL.md +412 -0
- package/skills/eng-qa-test-plan/SKILL.md +466 -0
- package/skills/eng-qa-test-plan/assets/test-coverage-template.md +92 -0
- package/skills/eng-qa-test-plan/assets/test-patterns.md +178 -0
- package/skills/eng-qa-testsprite/SKILL.md +325 -0
- package/skills/eng-qa-testsprite/references/testsprite-mcp.md +224 -0
- package/skills/eng-qa-unit-test/SKILL.md +471 -0
- package/skills/eng-rabbitmq/SKILL.md +661 -0
- package/skills/eng-scraper/SKILL.md +683 -0
- package/skills/eng-scraper-robot-builder/SKILL.md +370 -0
- package/skills/eng-security-patch/SKILL.md +378 -0
- package/skills/eng-security-triage/SKILL.md +266 -0
- package/skills/eng-task-comment/SKILL.md +60 -0
- package/skills/eng-tech-analyst/SKILL.md +529 -0
- package/skills/eng-threat-model/SKILL.md +161 -0
- package/skills/init-jarvis/SKILL.md +1304 -0
- package/skills/init-jarvis/assets/mcp-configs.md +389 -0
- package/skills/init-jarvis/assets/onboarding-checklist.md +104 -0
- package/skills/init-jarvis/assets/setup-guide.md +360 -0
- package/skills/lovable-prompt-generator/SKILL.md +304 -0
- package/skills/prod-roadmap-report/README.md +303 -0
- package/skills/prod-roadmap-report/SKILL.md +198 -0
- package/skills/prod-roadmap-report/commands/status.compiled.single.team.md +23 -0
- package/skills/prod-roadmap-report/commands/status.list.projects.md +17 -0
- package/skills/prod-roadmap-report/commands/status.memory.md +192 -0
- package/skills/prod-roadmap-report/commands/status.roadmap.preview.md +94 -0
- package/skills/prod-roadmap-report/references/detailed-guide.md +236 -0
- package/skills/prod-roadmap-report/rules/detailed-guide.md +237 -0
- package/skills/prod-roadmap-report/rules/status-report-rules.md +44 -0
- package/skills/prod-roadmap-report/templates/template-multiple-teams-compiled-status.md +53 -0
- package/skills/prod-roadmap-report/templates/template-projects-list.md +23 -0
- package/skills/prod-roadmap-report/templates/template-single-team-compiled-status.md +60 -0
- package/skills/prod-roadmap-report/templates/template-single-team-status.md +49 -0
- package/skills/prod-specs/SKILL.md +108 -0
- package/skills/prod-specs/references/prod.spec.clarify.md +176 -0
- package/skills/prod-specs/references/prod.spec.epic.md +107 -0
- package/skills/prod-specs/references/prod.spec.frd.md +135 -0
- package/skills/prod-specs/references/prod.spec.issue.md +145 -0
- package/skills/prod-specs/references/prod.spec.prd.md +118 -0
- package/skills/prod-specs/rules/prod-spec-rules.md +186 -0
- package/skills/prod-specs/templates/prod-breakdown-template.md +136 -0
- package/skills/prod-specs/templates/prod-epic-template.md +76 -0
- package/skills/prod-specs/templates/prod-frd-template.md +172 -0
- package/skills/prod-specs/templates/prod-issue-template.md +68 -0
- package/skills/prod-specs/templates/prod-prd-full-template.md +159 -0
- package/skills/prod-specs/templates/prod-prd-template.md +173 -0
- package/skills/prod-specs-update/SKILL.md +272 -0
- package/skills/report-issue/SKILL.md +156 -0
- package/taxonomy.md +270 -0
- package/templates/AGENTS.md +189 -0
- package/templates/CDD aplicado a Prompts.md +182 -0
- package/templates/ENV-template.md +187 -0
- package/templates/engineering/AGENTS-template.md +71 -0
- package/templates/engineering/ARD-template.md +193 -0
- package/templates/engineering/CONTACTS-template.md +135 -0
- package/templates/engineering/PR-template.md +40 -0
- package/templates/engineering/RFC-Playbook.md +325 -0
- package/templates/engineering/RFC-template.md +199 -0
- package/templates/engineering/architecture-template.md +277 -0
- package/templates/engineering/breakdown-subtasks-template.md +582 -0
- package/templates/engineering/c4-model-template.md +516 -0
- package/templates/engineering/data-contract-template.md +135 -0
- package/templates/engineering/data-pipeline-template.md +163 -0
- package/templates/engineering/plan-template.md +255 -0
- package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +311 -0
- package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +249 -0
- package/templates/engineering/qa/qa.cypress-test-template.md +172 -0
- package/templates/engineering/qa/qa.exploratory-session-template.md +148 -0
- package/templates/engineering/qa/qa.quality-report-template.md +130 -0
- package/templates/engineering/qa/qa.release-signoff-template.md +54 -0
- package/templates/engineering/qa/qa.sprint-plan-template.md +49 -0
- package/templates/engineering/swagger-template.md +145 -0
- package/templates/engineering/tech-spec-template.md +497 -0
- package/templates/engineering/work-progress-template.md +155 -0
- package/workflows/AGENTS.md +240 -0
- package/workflows/README.md +160 -0
- package/workflows/all-tools.md +11 -0
- package/workflows/engineering/data/data.contract.md +202 -0
- package/workflows/engineering/data/data.new-pipeline.md +234 -0
- package/workflows/engineering/eng.breakdown-subtasks.md +420 -0
- package/workflows/engineering/eng.bug-audit.md +591 -0
- package/workflows/engineering/eng.build-tech-spec.md +1116 -0
- package/workflows/engineering/eng.create-ard-from-code.md +259 -0
- package/workflows/engineering/eng.create-ard.md +382 -0
- package/workflows/engineering/eng.create-rfc.md +245 -0
- package/workflows/engineering/eng.debug.md +479 -0
- package/workflows/engineering/eng.docs.md +40 -0
- package/workflows/engineering/eng.light-arch.md +84 -0
- package/workflows/engineering/eng.plan.md +213 -0
- package/workflows/engineering/eng.pr.md +466 -0
- package/workflows/engineering/eng.pre-pr.md +167 -0
- package/workflows/engineering/eng.review.md +185 -0
- package/workflows/engineering/eng.rpa.robot.md +342 -0
- package/workflows/engineering/eng.security-audit.md +312 -0
- package/workflows/engineering/eng.security-incident.md +275 -0
- package/workflows/engineering/eng.security-pipeline.md +210 -0
- package/workflows/engineering/eng.security-review.md +235 -0
- package/workflows/engineering/eng.start.md +494 -0
- package/workflows/engineering/eng.work.md +558 -0
- package/workflows/engineering/frontend/eng.frontend-component.md +190 -0
- package/workflows/engineering/frontend/eng.frontend-perf-audit.md +375 -0
- package/workflows/engineering/frontend/eng.frontend-review.md +185 -0
- package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +51 -0
- package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +51 -0
- package/workflows/engineering/qa/eng.qa-exploratory-session.md +60 -0
- package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +202 -0
- package/workflows/engineering/qa/eng.qa-quality-report.md +83 -0
- package/workflows/engineering/qa/eng.qa-refinement-entry.md +83 -0
- package/workflows/engineering/qa/eng.qa-release-signoff.md +170 -0
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +100 -0
- package/workflows/engineering/ta/eng.ta.atendimento.md +93 -0
- package/workflows/product/prod.roadmap.preview.md +110 -0
- package/workflows/product/prod.spec.breakdown.md +163 -0
- package/workflows/product/prod.spec.clarify.md +178 -0
- package/workflows/product/prod.spec.epic.md +154 -0
- package/workflows/product/prod.spec.frd.md +96 -0
- package/workflows/product/prod.spec.issue.md +145 -0
- package/workflows/product/prod.spec.md +60 -0
- package/workflows/product/prod.spec.prd.md +100 -0
- package/workflows/taxonomy.md +92 -0
- package/workflows/warm-up.md +574 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# 🧱 ARD Template — Architecture Requirement Document
|
|
2
|
+
|
|
3
|
+
**Arquivo:** /docs/engineering/ARD/ARD-xxx-nome-da-arquitetura.md
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 🏗️ ARD-[número] — [Título da Arquitetura]
|
|
8
|
+
|
|
9
|
+
**Status:** Proposta / Em desenvolvimento / Em validação / Finalizada
|
|
10
|
+
**Data:** [dd/mm/yyyy]
|
|
11
|
+
**Autor:** [Tech Lead / Arquiteto responsável]
|
|
12
|
+
**Revisores:** [Chapter Leads, Eng. de Plataforma, etc.]
|
|
13
|
+
**Relacionado a:** [RFC-xxx], [FRD-xxx], [PRD-xxx]
|
|
14
|
+
**Versão:** [1.0]
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
### 🔗 Referência ao PRD (obrigatório quando existir)
|
|
19
|
+
|
|
20
|
+
- **Referência:** PRD-xxx – [Título]
|
|
21
|
+
- **Arquivo/rota:** [link ou caminho do arquivo do PRD]
|
|
22
|
+
|
|
23
|
+
#### Legenda (tipos de requisito)
|
|
24
|
+
|
|
25
|
+
- **RF**: Requisito Funcional (comportamento/capacidade do sistema)
|
|
26
|
+
- **NFR**: Requisito Não Funcional (qualidade: performance, disponibilidade, segurança, etc.)
|
|
27
|
+
- **Restrição**: Limitação obrigatória (técnica/negócio/infra/processo) que guia a solução
|
|
28
|
+
- **SLA**: Service Level Agreement (meta/compromisso mensurável de nível de serviço)
|
|
29
|
+
- **Métrica**: Indicador de sucesso/monitoramento (KPI/SLI) usado para medir resultado
|
|
30
|
+
|
|
31
|
+
#### Requisitos do PRD consumidos diretamente por este ARD
|
|
32
|
+
|
|
33
|
+
| ID | Tipo (RF/NFR/Restrição/SLA/Métrica) | Origem (FRD/PRD) | Descrição | Como impacta a arquitetura |
|
|
34
|
+
|----|-------------------------------------|------------------|-----------|----------------------------|
|
|
35
|
+
|
|
36
|
+
### 🎯 Objetivo
|
|
37
|
+
<!-- Descreva o propósito e metas técnicas -->
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
### 🚫 O que não é papel deste ARD
|
|
42
|
+
|
|
43
|
+
- Redefinir objetivo de produto
|
|
44
|
+
- Mudar regra de negócio
|
|
45
|
+
- Criar feature nova “porque tecnicamente é melhor”
|
|
46
|
+
- Discutir roadmap ou priorização
|
|
47
|
+
|
|
48
|
+
> Se algo disso aparecer, é sinal de PRD mal definido ou incompleto. Pausar e validar com Produto/usuário antes de seguir.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### 🧠 Premissas e Restrições
|
|
53
|
+
|
|
54
|
+
- Deve operar dentro do cluster GKE atual
|
|
55
|
+
- Sem dependência de serviços externos
|
|
56
|
+
- Limite de CPU total de 6vCPU
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
### ⚙️ Desenho da Arquitetura
|
|
61
|
+
|
|
62
|
+
```mermaid
|
|
63
|
+
graph TD
|
|
64
|
+
A[Prometheus] -->|export metrics| B[Controller]
|
|
65
|
+
B -->|ajusta concorrência| C[RabbitMQ]
|
|
66
|
+
C --> D[Workers]
|
|
67
|
+
B -->|salva estado| E[Redis]
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### 🧩 Componentes Principais
|
|
73
|
+
|
|
74
|
+
| Componente | Função | Responsável |
|
|
75
|
+
|-------------|--------|--------------|
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
### 🔄 Fluxos de Dados
|
|
80
|
+
|
|
81
|
+
| Fluxo | Origem | Destino | Dados | Garantias (ordem/entrega) |
|
|
82
|
+
|------|--------|---------|------|----------------------------|
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
### 🔌 Integrações
|
|
87
|
+
|
|
88
|
+
| Integração | Tipo | Direção | Autenticação/Autorização | Observações |
|
|
89
|
+
|----------|------|---------|---------------------------|-------------|
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
### 📜 Contratos (APIs, eventos, filas)
|
|
94
|
+
|
|
95
|
+
#### APIs
|
|
96
|
+
|
|
97
|
+
| Endpoint | Método | Request | Response | Erros | Autenticação | Observações |
|
|
98
|
+
|----------|--------|---------|----------|-------|--------------|-------------|
|
|
99
|
+
|
|
100
|
+
#### Eventos
|
|
101
|
+
|
|
102
|
+
| Evento | Publisher | Consumers | Schema/Versão | Chave de idempotência | Observações |
|
|
103
|
+
|-------|-----------|-----------|---------------|------------------------|-------------|
|
|
104
|
+
|
|
105
|
+
#### Filas / Tópicos
|
|
106
|
+
|
|
107
|
+
| Recurso | Tipo | Producer | Consumers | DLQ/Retry | Ordenação | Observações |
|
|
108
|
+
|---------|------|----------|-----------|----------|-----------|-------------|
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
### 🔐 Segurança e Compliance
|
|
113
|
+
|
|
114
|
+
- Autenticação via Service Account GCP
|
|
115
|
+
- Secrets gerenciados pelo Secret Manager
|
|
116
|
+
- Logs e métricas auditáveis no Stackdriver
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
### 📊 Métricas e Observabilidade
|
|
121
|
+
|
|
122
|
+
- queue_backlog_total
|
|
123
|
+
- rebalance_iterations
|
|
124
|
+
- consumer_restarts
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
### ⚖️ Escalabilidade e Resiliência
|
|
129
|
+
|
|
130
|
+
- Controlador roda em pod único com HPA mínimo 1 / máximo 3
|
|
131
|
+
- Retry backoff exponencial
|
|
132
|
+
- Fallback para configuração manual via Redis
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
### 🧠 Decisões Técnicas e Trade-offs
|
|
137
|
+
|
|
138
|
+
| Decisão | Referência no PRD (RF/NFR/Restrição/SLA/Métrica) | Alternativas consideradas | Trade-offs | Decisão final |
|
|
139
|
+
|--------|-----------------------------------------------|----------------------------|------------|--------------|
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### ⚔️ Riscos e Mitigações
|
|
144
|
+
|
|
145
|
+
| Risco | Mitigação |
|
|
146
|
+
|-------|------------|
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
### ✅ Critérios de Sucesso
|
|
151
|
+
|
|
152
|
+
- Redistribuição dinâmica < 30s
|
|
153
|
+
- Nenhum downtime detectado
|
|
154
|
+
- Redução ≥ 25% no tempo médio de fila
|
|
155
|
+
- Logs e métricas funcionais
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
### 🧩 Roadmap Técnico
|
|
160
|
+
|
|
161
|
+
| Etapa | Responsável | Status |
|
|
162
|
+
|-------|--------------|--------|
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
### 🏗️ Como vamos construir isso de forma segura, escalável e sustentável?
|
|
167
|
+
|
|
168
|
+
#### Segurança
|
|
169
|
+
|
|
170
|
+
| Medida | Como aplicar | Validação |
|
|
171
|
+
|--------|-------------|----------|
|
|
172
|
+
|
|
173
|
+
#### Escalabilidade
|
|
174
|
+
|
|
175
|
+
| Medida | Como aplicar | Validação |
|
|
176
|
+
|--------|-------------|----------|
|
|
177
|
+
|
|
178
|
+
#### Sustentabilidade (manutenção e evolução)
|
|
179
|
+
|
|
180
|
+
| Medida | Como aplicar | Validação |
|
|
181
|
+
|--------|-------------|----------|
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
### 🧩 Anexos
|
|
186
|
+
|
|
187
|
+
- [RFC-xxx](../RFC/RFC-xxx.md)
|
|
188
|
+
- [AVD-xxx](../AVD/AVD-xxx.md)
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
### 🏁 Conclusão
|
|
193
|
+
<!-- Resumo da decisão arquitetural final -->
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
Contatos Importantes
|
|
2
|
+
|
|
3
|
+
> Lista de pessoas-chave do time e quando procurá-las.
|
|
4
|
+
|
|
5
|
+
Membros do Time
|
|
6
|
+
|
|
7
|
+
> Esta seção é atualizada automaticamente quando alguém executa `/init-jarvis`.
|
|
8
|
+
|
|
9
|
+
| Nome | Cargo | Área | Hub | Email |
|
|
10
|
+
|------|-------|------|-----|-------|
|
|
11
|
+
<!-- MEMBERS_START -->
|
|
12
|
+
<!-- MEMBERS_END -->
|
|
13
|
+
|
|
14
|
+
Liderança
|
|
15
|
+
|
|
16
|
+
| Nome | Cargo | Responsabilidade | Quando Procurar | Contato |
|
|
17
|
+
|------|-------|------------------|-----------------|---------|
|
|
18
|
+
| [Nome] | Tech Lead | Decisões técnicas, arquitetura | Dúvidas de design, bloqueios técnicos | @slack |
|
|
19
|
+
| [Nome] | Product Owner | Requisitos, priorização | Dúvidas sobre features, escopo | @slack |
|
|
20
|
+
| [Nome] | Engineering Manager | Processos, carreira | :s, feedback, processos | @slack |
|
|
21
|
+
| [Nome] | QA Lead | Qualidade, testes | Estratégia de testes, bugs críticos | @slack |
|
|
22
|
+
|
|
23
|
+
Especialistas
|
|
24
|
+
|
|
25
|
+
| Área | Nome | Quando Procurar |
|
|
26
|
+
|------|------|-----------------|
|
|
27
|
+
| Backend | [Nome] | APIs, performance, banco de dados |
|
|
28
|
+
| Frontend | [Nome] | UI/UX, componentes, estado |
|
|
29
|
+
| DevOps | [Nome] | CI/CD, infraestrutura, deploy |
|
|
30
|
+
| Segurança | [Nome] | Vulnerabilidades, autenticação |
|
|
31
|
+
| Data | [Nome] | Analytics, relatórios, BI |
|
|
32
|
+
|
|
33
|
+
Canais de Comunicação
|
|
34
|
+
|
|
35
|
+
Chat (`$MESSAGE_COMUNICATOR`)
|
|
36
|
+
|
|
37
|
+
| Canal | Propósito |
|
|
38
|
+
|-------|-----------|
|
|
39
|
+
| `squad-{nome}` | Comunicação geral do squad |
|
|
40
|
+
| `squad-{nome}-dev` | Discussões técnicas |
|
|
41
|
+
| `squad-{nome}-alerts` | Alertas de produção |
|
|
42
|
+
| `engineering` | Engenharia geral |
|
|
43
|
+
| `help-devops` | Suporte de infraestrutura |
|
|
44
|
+
|
|
45
|
+
Reuniões Recorrentes
|
|
46
|
+
|
|
47
|
+
| Reunião | Frequência | Horário | Participantes |
|
|
48
|
+
|---------|------------|---------|---------------|
|
|
49
|
+
| Daily | Diária | : | Todo o squad |
|
|
50
|
+
| Planning | Quinzenal | Segunda : | Todo o squad |
|
|
51
|
+
| Retro | Quinzenal | Sexta : | Todo o squad |
|
|
52
|
+
| Tech Review | Semanal | Quarta : | Engenharia |
|
|
53
|
+
| : com EM | Quinzenal | A definir | Você + EM |
|
|
54
|
+
|
|
55
|
+
Escalação
|
|
56
|
+
|
|
57
|
+
Problemas Técnicos
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
. Tentar resolver sozinho (- min)
|
|
61
|
+
|
|
62
|
+
. Pedir ajuda no canal tech-{nome-do-squad}
|
|
63
|
+
|
|
64
|
+
. Escalar para Tech Lead
|
|
65
|
+
|
|
66
|
+
. Escalar para Specialist
|
|
67
|
+
|
|
68
|
+
. Escalar para Head of Tech
|
|
69
|
+
|
|
70
|
+
Recomendação: ler o playbook de tomada de decisões em tecnologia do time (wiki / docs internos)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Incidentes em Produção
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
. Alertar no canal squad-{nome}-alerts
|
|
77
|
+
|
|
78
|
+
. Acionar pessoa de plantão (PagerDuty)
|
|
79
|
+
|
|
80
|
+
. Seguir runbook de incidentes
|
|
81
|
+
|
|
82
|
+
. Postmortem após resolução
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Acessos Necessários
|
|
86
|
+
|
|
87
|
+
Checklist de Acessos
|
|
88
|
+
|
|
89
|
+
| Sistema | Responsável | Como Solicitar |
|
|
90
|
+
|---------|-------------|----------------|
|
|
91
|
+
| Controle de versão (`$VERSION_CONTROL`) | Tech Lead | Pedir no chat do time |
|
|
92
|
+
| Task manager (`$TASK_MANAGER`) | EM | Ticket / canal de acessos |
|
|
93
|
+
| Cloud console | DevOps | Ticket / canal de acessos |
|
|
94
|
+
| Observabilidade (`$OBSERVABILITY`) | DevOps | Pedir no canal de infra |
|
|
95
|
+
| Chat (`$MESSAGE_COMUNICATOR`) | EM | Pedir no chat do time |
|
|
96
|
+
| VPN | Infra | Ticket / canal de acessos |
|
|
97
|
+
|
|
98
|
+
Credenciais de Desenvolvimento
|
|
99
|
+
|
|
100
|
+
| Recurso | Como Obter |
|
|
101
|
+
|---------|------------|
|
|
102
|
+
| Banco de dados (dev) | `.env.example` + pedir senha no chat do time |
|
|
103
|
+
| APIs externas (sandbox) | Documentação interna |
|
|
104
|
+
| Tokens de teste | Vault ou Password do time |
|
|
105
|
+
|
|
106
|
+
Links Úteis
|
|
107
|
+
|
|
108
|
+
| Recurso | Link |
|
|
109
|
+
|---------|------|
|
|
110
|
+
| Board do squad | `{TASK_MANAGER_URL_BASE}` |
|
|
111
|
+
| Repositório | URL do `$VERSION_CONTROL` do projeto |
|
|
112
|
+
| Documentação | `$DOCS_FOLDER/` |
|
|
113
|
+
| Runbooks | `docs/runbooks/` |
|
|
114
|
+
| Postmortems | `docs/postmortems/` |
|
|
115
|
+
| Wiki | URL da wiki da organização |
|
|
116
|
+
|
|
117
|
+
Dicas de Comunicação
|
|
118
|
+
|
|
119
|
+
. Seja específico - "Estou com erro X no arquivo Y" > "Não funciona"
|
|
120
|
+
. Mostre o que tentou - Demonstra esforço e ajuda a diagnosticar
|
|
121
|
+
. Use threads - Mantém o canal organizado
|
|
122
|
+
. Marque pessoas - Se precisar de alguém específico, @mencione
|
|
123
|
+
. Documente - Se a resposta pode ajudar outros, documente
|
|
124
|
+
|
|
125
|
+
Primeiro Contato
|
|
126
|
+
|
|
127
|
+
Ao entrar no time, apresente-se no canal `squad-{nome}`:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
Olá! Sou [Nome], novo [Cargo] do squad.
|
|
131
|
+
Venho de [Experiência anterior].
|
|
132
|
+
Meus interesses são [X, Y, Z].
|
|
133
|
+
Podem me encontrar no chat do time ou [outro contato].
|
|
134
|
+
Animado para trabalhar com vocês!
|
|
135
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
## Descrição
|
|
2
|
+
|
|
3
|
+
Descreva de forma sucinta o objetivo do MR
|
|
4
|
+
|
|
5
|
+
## Tarefas Relacionadas
|
|
6
|
+
|
|
7
|
+
- [ ] [TASK-ID]({TASK_MANAGER_URL_BASE}/browse/TASK-ID)
|
|
8
|
+
|
|
9
|
+
## Mudanças Propostas
|
|
10
|
+
|
|
11
|
+
- Mudança 1
|
|
12
|
+
- Mudança 2
|
|
13
|
+
- Mudança n
|
|
14
|
+
|
|
15
|
+
## Testes Realizados
|
|
16
|
+
|
|
17
|
+
Descrição dos testes realizados
|
|
18
|
+
|
|
19
|
+
## Revisores
|
|
20
|
+
|
|
21
|
+
- @
|
|
22
|
+
- @
|
|
23
|
+
- @
|
|
24
|
+
|
|
25
|
+
## Observações Específicas
|
|
26
|
+
|
|
27
|
+
- Capturas de telas;
|
|
28
|
+
- Contexto que ajude a revisar do código
|
|
29
|
+
|
|
30
|
+
## Checklist de Revisão
|
|
31
|
+
|
|
32
|
+
- [ ] As mudanças estão alinhadas com os requisitos da tarefa do Jira.
|
|
33
|
+
- [ ] Os testes unitários/funcionais propostos foram executados e passaram.
|
|
34
|
+
- [ ] O código segue as convenções de estilo da empresa.
|
|
35
|
+
- [ ] A documentação foi atualizada, se necessário.
|
|
36
|
+
- [ ] A solução não causa impactos negativos em outras áreas do sistema.
|
|
37
|
+
- [ ] Não há erros ou advertências nas análises de qualidade de código.
|
|
38
|
+
- [ ] A solicitação de merge foi revisada por pelo menos um revisor.
|
|
39
|
+
|
|
40
|
+
## Linked Issues
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
# Versão: 1.0
|
|
2
|
+
|
|
3
|
+
Escopo: Engineering Core e Squads.
|
|
4
|
+
|
|
5
|
+
Objetivo: Alinhar a criação de soluções de acordo com a visão de Tencologia. Este playbook é um artefato vivo e pode evoluir conforme a maturidade da engenharia.
|
|
6
|
+
|
|
7
|
+
## Objetivo
|
|
8
|
+
|
|
9
|
+
Este playbook define **como RFCs são usados na prática**, quais são os **papéis, responsabilidades, expectativas e regras** para garantir:
|
|
10
|
+
|
|
11
|
+
* Uso eficiente de energia do time
|
|
12
|
+
* Decisões técnicas claras
|
|
13
|
+
* Menos retrabalho
|
|
14
|
+
* Governança sem burocracia
|
|
15
|
+
* Escalabilidade do processo de engenharia
|
|
16
|
+
|
|
17
|
+
\
|
|
18
|
+
RFC neste contexto **não é um documento de ideia** e **não é uma etapa isolada**. RFC é o **fio condutor da decisão**, do problema até a aprovação técnica.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## O que é um RFC (no nosso modelo)
|
|
24
|
+
|
|
25
|
+
RFC é um **container vivo de decisão técnica**, que:
|
|
26
|
+
|
|
27
|
+
* Pode ser aberto e evoluir junto com PRD e FRD se for necessário
|
|
28
|
+
* Não decide nada no início
|
|
29
|
+
* Só é fechado após maturidade suficiente de PRD e FRD para permitir uma decisão consciente
|
|
30
|
+
* Registra comentários, trade-offs e a decisão final
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Visão Geral do Fluxo
|
|
36
|
+
|
|
37
|
+
```none
|
|
38
|
+
[Ideia ou problema]
|
|
39
|
+
↓
|
|
40
|
+
RFC (Draft — aberto)
|
|
41
|
+
↓
|
|
42
|
+
PRD (visão de produto)
|
|
43
|
+
↓
|
|
44
|
+
FRD (comportamento funcional)
|
|
45
|
+
↓
|
|
46
|
+
RFC (review + convergência + decisão)
|
|
47
|
+
↓
|
|
48
|
+
ARD (arquitetura)
|
|
49
|
+
↓
|
|
50
|
+
Implementação
|
|
51
|
+
↓
|
|
52
|
+
AVD (validação pós-implementação)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Estados do RFC e significado
|
|
58
|
+
|
|
59
|
+
| Status | Significado | Energia esperada |
|
|
60
|
+
|----|----|----|
|
|
61
|
+
| Draft | Investigação inicial | Muito baixa |
|
|
62
|
+
| In Review | PRD/FRD existem | Baixa |
|
|
63
|
+
| Ready for Decision | Marcar agenda para apresentar o documento final | Média |
|
|
64
|
+
| Accepted | Autorizado a implementar | Alta |
|
|
65
|
+
| Rejected | Decisão de não seguir | Encerrada |
|
|
66
|
+
| Superseded | Substituído | Encerrada |
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Papéis e Responsabilidades
|
|
72
|
+
|
|
73
|
+
### 1. Proponente (Dev, TL, PM, etc.)
|
|
74
|
+
|
|
75
|
+
**Responsabilidades**
|
|
76
|
+
|
|
77
|
+
* Detectar o problema ou oportunidade
|
|
78
|
+
* Abrir o RFC em status `Draft`
|
|
79
|
+
* Garantir que o PRD já esteja criado
|
|
80
|
+
* Manter o RFC atualizado com links corretos
|
|
81
|
+
|
|
82
|
+
**O que NÃO é esperado**
|
|
83
|
+
|
|
84
|
+
* Propor solução técnica cedo
|
|
85
|
+
* Defender arquitetura
|
|
86
|
+
* Forçar aprovação
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
### 2. Produto (PM / PO)
|
|
92
|
+
|
|
93
|
+
**Responsabilidades**
|
|
94
|
+
|
|
95
|
+
* Validar o problema e a hipótese
|
|
96
|
+
* Garantir clareza do PRD
|
|
97
|
+
* Ajudar a definir escopo e fora de escopo
|
|
98
|
+
* Alinhar indicadores de sucesso
|
|
99
|
+
|
|
100
|
+
**O que NÃO é esperado**
|
|
101
|
+
|
|
102
|
+
* Definir stack
|
|
103
|
+
* Influenciar decisões técnicas
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### 3. Engenharia
|
|
109
|
+
|
|
110
|
+
**Responsabilidades**
|
|
111
|
+
|
|
112
|
+
* Avaliar viabilidade técnica
|
|
113
|
+
* Avaliar e contemplar todos os documentos PRD/FRD
|
|
114
|
+
* Explicitar trade-offs e riscos
|
|
115
|
+
* Referenciar corretamente o RFC
|
|
116
|
+
|
|
117
|
+
**O que NÃO é esperado**
|
|
118
|
+
|
|
119
|
+
* Decidir sozinho
|
|
120
|
+
* Começar implementação sem RFC Accepted
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
### 4. Reviewers (TLs / Engineering Core)
|
|
126
|
+
|
|
127
|
+
**Responsabilidades**
|
|
128
|
+
|
|
129
|
+
* Ler o RFC
|
|
130
|
+
* Comentar no RFC na ferramenta selecionada (não em chats ou meets soltos)
|
|
131
|
+
* Avaliar riscos, custos, escalabilidade e operação e alinhamento estratégico
|
|
132
|
+
* Ajudar a amadurecer a decisão
|
|
133
|
+
* Ver o vinculo com os OKRs que estão sendo executados no quarter
|
|
134
|
+
|
|
135
|
+
**O que NÃO é esperado**
|
|
136
|
+
|
|
137
|
+
* Redesenhar solução sem base
|
|
138
|
+
* Trazer opiniões sem leitura prévia
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### 5. Decisores (TL / Core / Head / CTO)
|
|
144
|
+
|
|
145
|
+
**Responsabilidades**
|
|
146
|
+
|
|
147
|
+
* Avaliar o conjunto (RFC)
|
|
148
|
+
* Tomar decisão explícita
|
|
149
|
+
* Registrar condições, se houver
|
|
150
|
+
* Fechar o RFC
|
|
151
|
+
|
|
152
|
+
**O que NÃO é esperado**
|
|
153
|
+
|
|
154
|
+
* Decidir sem artefatos
|
|
155
|
+
* Reabrir discussões após aceite
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Regras de Ouro (não negociáveis)
|
|
161
|
+
|
|
162
|
+
* ❌ RFC não pode ser Accepted sem clareza arquitetural suficiente
|
|
163
|
+
* ❌ Implementação não começa sem RFC `Accepted`
|
|
164
|
+
* ❌ Decisões não acontecem em chats privados
|
|
165
|
+
* ✅ RFC pode permanecer aberta enquanto PRD e FRD evoluem
|
|
166
|
+
* ✅ Energia investida cresce conforme maturidade
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Boas Práticas
|
|
172
|
+
|
|
173
|
+
* RFC curto e objetivo
|
|
174
|
+
* Comentários registrados no RFC
|
|
175
|
+
* Decisão explícita sempre
|
|
176
|
+
* Trade-offs documentados
|
|
177
|
+
* Pendências com owner e prazo
|
|
178
|
+
* Se você já sabe o “como”, não é RFC.
|
|
179
|
+
* Se você ainda discute alternativas, é RFC.
|
|
180
|
+
* Se durante a elaboração de um ARD surgir uma dúvida estrutural ou alternativa relevante, o ARD deve ser pausado e a discussão movida novamente para a RFC.
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Anti-Padrões (evitar)
|
|
186
|
+
|
|
187
|
+
* RFC como brainstorm
|
|
188
|
+
* RFC como checklist burocrático
|
|
189
|
+
* RFC aprovado “no verbal”
|
|
190
|
+
* Arquitetura decidida antes do ARD
|
|
191
|
+
* Implementação iniciada sem aceite
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Lembretes Culturais
|
|
197
|
+
|
|
198
|
+
* Se você já sabe **como** implementar, isso não é RFC.
|
|
199
|
+
* Se ainda existem alternativas relevantes, isso **é** RFC.
|
|
200
|
+
* Decisões importantes não acontecem fora deste documento.
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Quando uma RFC é obrigatória (regra de ouro)
|
|
206
|
+
|
|
207
|
+
RFC **não é para tudo**. Uma RFC é **obrigatória** se **qualquer** item abaixo for verdadeiro:
|
|
208
|
+
|
|
209
|
+
### Critérios objetivos (use como checklist)
|
|
210
|
+
|
|
211
|
+
* Impacta **mais de uma squad**
|
|
212
|
+
* Altera **arquitetura**, **padrões técnicos** ou **infra**
|
|
213
|
+
* Introduz **nova dependência crítica** (serviço, lib, vendor)
|
|
214
|
+
* Afeta **custo recorrente** (cloud, APIs, licenças)
|
|
215
|
+
* Muda **SLA, SLO ou contratos técnicos**
|
|
216
|
+
* Pode gerar **lock-in** ou dívida técnica relevante
|
|
217
|
+
* Envolve **dados sensíveis / compliance**
|
|
218
|
+
* Vai virar **padrão reutilizável**
|
|
219
|
+
|
|
220
|
+
### Não exige RFC:
|
|
221
|
+
|
|
222
|
+
* Refactors locais
|
|
223
|
+
* Correções pontuais
|
|
224
|
+
* Features isoladas sem impacto sistêmico
|
|
225
|
+
|
|
226
|
+
\
|
|
227
|
+
## Passo a Passo para apertura de um RFC
|
|
228
|
+
|
|
229
|
+
### 🧩 Passo 1 — Criação da RFC
|
|
230
|
+
|
|
231
|
+
**Quem cria:**
|
|
232
|
+
|
|
233
|
+
* TL, Staff, Principal, Head ou qualquer dev **que proponha a mudança**
|
|
234
|
+
|
|
235
|
+
**Onde:**
|
|
236
|
+
|
|
237
|
+
* Repositório único na Wiki
|
|
238
|
+
* Seguir o template estabelecido `RFC-template.md`
|
|
239
|
+
|
|
240
|
+
**Formato:**
|
|
241
|
+
|
|
242
|
+
* Markdown
|
|
243
|
+
* ID sequencial: RFC-001, RFC-002, etc.
|
|
244
|
+
|
|
245
|
+
**Status inicial:** Draft
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
### 🧩 Passo 2 — Divulgação obrigatória
|
|
251
|
+
|
|
252
|
+
A RFC **não vale se ninguém souber que ela existe**.
|
|
253
|
+
|
|
254
|
+
**Checklist mínimo:**
|
|
255
|
+
|
|
256
|
+
* Link compartilhado no Slack (#tech-rfcs)
|
|
257
|
+
* Menção aos revisores obrigatórios
|
|
258
|
+
* Data limite para comentários (ex: D+5)
|
|
259
|
+
|
|
260
|
+
Exemplo de mensagem padrão no Slack:
|
|
261
|
+
|
|
262
|
+
> 📄 Nova RFC aberta: RFC-023 — Redistribuição dinâmica de concorrência\nComentários até: 10/11\nRevisores: @plataforma @backend @infra
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
### 🧩 Passo 3 — Discussão assíncrona (regra crítica)
|
|
268
|
+
|
|
269
|
+
**Regras claras:**
|
|
270
|
+
|
|
271
|
+
* Comentários **no documento**, não no privado
|
|
272
|
+
* Opiniões **com argumento técnico**
|
|
273
|
+
* Discordância é esperada e desejada
|
|
274
|
+
|
|
275
|
+
**Anti-padrões proibidos:**
|
|
276
|
+
|
|
277
|
+
* Decidir tudo em call fechada
|
|
278
|
+
* “Já implementamos, depois documentamos”
|
|
279
|
+
* Aprovação sem leitura
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
### 🧩 Passo 4 — Decisão formal
|
|
285
|
+
|
|
286
|
+
Após o prazo:
|
|
287
|
+
|
|
288
|
+
* O **dono da RFC** consolida os comentários
|
|
289
|
+
* Registra a decisão final no próprio documento
|
|
290
|
+
|
|
291
|
+
Possíveis decisões:
|
|
292
|
+
|
|
293
|
+
* ✅ Aprovada
|
|
294
|
+
* ⚠️ Aprovada com ressalvas
|
|
295
|
+
* ❌ Rejeitada
|
|
296
|
+
* 🔄 Retornar para ajustes
|
|
297
|
+
|
|
298
|
+
⚠️ **Regra importante**\nDecisão **sempre documentada**, mesmo se for “não vamos fazer”.
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
### 🧩 Passo 5 — Gate para implementação
|
|
304
|
+
|
|
305
|
+
Regra simples e poderosa:
|
|
306
|
+
|
|
307
|
+
> ❌ **Não existe implementação relevante sem RFC aprovada**
|
|
308
|
+
|
|
309
|
+
Tecnicamente:
|
|
310
|
+
|
|
311
|
+
* Link da RFC vira **pré-requisito do ARD**
|
|
312
|
+
* PRs grandes devem referenciar a RFC
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
## Conclusão
|
|
316
|
+
|
|
317
|
+
> RFC existe para **proteger o time de fazer implementações eficientes**
|
|
318
|
+
|
|
319
|
+
Seguir este playbook garante:
|
|
320
|
+
|
|
321
|
+
* Menos desgaste
|
|
322
|
+
* Menos retrabalho
|
|
323
|
+
* Mais clareza
|
|
324
|
+
* Decisões escaláveis
|
|
325
|
+
|