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.
Files changed (240) hide show
  1. package/AGENTS.md +416 -0
  2. package/LICENSE +21 -0
  3. package/README.md +190 -0
  4. package/agents/AGENTS.md +234 -0
  5. package/agents/README.md +309 -0
  6. package/agents/engineering/data/eng.data-engineer.agent.md +309 -0
  7. package/agents/engineering/eng.agent.md +303 -0
  8. package/agents/engineering/eng.bug-hunter.md +386 -0
  9. package/agents/engineering/eng.cybersecurity.agent.md +503 -0
  10. package/agents/engineering/eng.dev-code-reviewer.md +148 -0
  11. package/agents/engineering/eng.docs-writer.md +152 -0
  12. package/agents/engineering/eng.frontend.agent.md +117 -0
  13. package/agents/engineering/eng.rpa.agent.md +215 -0
  14. package/agents/engineering/eng.tech-analyst.agent.md +102 -0
  15. package/agents/engineering/eng.ux-designer.agent.md +193 -0
  16. package/agents/engineering/qa/eng.qa.cypress-specialist.md +109 -0
  17. package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +85 -0
  18. package/agents/engineering/qa/eng.qa.quality-strategist.md +111 -0
  19. package/agents/engineering/qa/eng.qa.test-architect.md +400 -0
  20. package/agents/engineering/qa/eng.qa.test-planner.md +477 -0
  21. package/agents/engineering/qa/eng.qa.testing-engineer.md +339 -0
  22. package/agents/product/prod.pm-checker.md +52 -0
  23. package/bin/commands/docs-publish.js +184 -0
  24. package/bin/commands/docs-sync.js +139 -0
  25. package/bin/commands/info.js +87 -0
  26. package/bin/commands/init.js +237 -0
  27. package/bin/commands/install-rtk.js +90 -0
  28. package/bin/commands/list.js +48 -0
  29. package/bin/commands/qa-signoff.js +112 -0
  30. package/bin/commands/whoami.js +43 -0
  31. package/bin/jarvis.js +159 -0
  32. package/bin/lib/auth/session.js +56 -0
  33. package/bin/lib/config/constants.js +123 -0
  34. package/bin/lib/config/ide-config.js +233 -0
  35. package/bin/lib/core/scanner.js +124 -0
  36. package/bin/lib/core/sync-engine.js +551 -0
  37. package/bin/lib/docs/fetch-file.sh +41 -0
  38. package/bin/lib/docs/publish-file.sh +284 -0
  39. package/bin/lib/docs/validate-frontmatter.js +157 -0
  40. package/bin/lib/env-loader.js +198 -0
  41. package/bin/lib/tasks/comment.js +131 -0
  42. package/bin/lib/utils/git-parser.js +145 -0
  43. package/bin/lib/utils/logger.js +104 -0
  44. package/bin/lib/utils/npmrc-parser.js +106 -0
  45. package/bin/lib/utils/paths.js +55 -0
  46. package/bin/lib/utils/ui.js +59 -0
  47. package/bin/lib/vcs/api.js +312 -0
  48. package/bin/lib/vcs/create-issue.js +43 -0
  49. package/bin/lib/vcs/create-merge.js +43 -0
  50. package/bin/lib/vcs/fetch-raw.js +30 -0
  51. package/bin/postinstall.js +41 -0
  52. package/members.md +25 -0
  53. package/package.json +55 -0
  54. package/rules/AGENTS.md +205 -0
  55. package/rules/engineering/data/data-rules.md +200 -0
  56. package/rules/engineering/eng-rules.md +243 -0
  57. package/rules/engineering/eng-security-rules.md +186 -0
  58. package/rules/engineering/eng.breakdown-subtasks-rules.md +585 -0
  59. package/rules/engineering/eng.bump-rules.md +27 -0
  60. package/rules/engineering/eng.docs-scraping-rules.md +64 -0
  61. package/rules/engineering/eng.downstream-flow-rules.md +297 -0
  62. package/rules/engineering/eng.integrations-rules.md +73 -0
  63. package/rules/engineering/eng.plan-rules.md +333 -0
  64. package/rules/engineering/eng.pr-rules.md +359 -0
  65. package/rules/engineering/eng.pre-pr-rules.md +103 -0
  66. package/rules/engineering/eng.start-rules.md +246 -0
  67. package/rules/engineering/eng.tech-spec-rules.md +968 -0
  68. package/rules/engineering/eng.work-rules.md +312 -0
  69. package/rules/engineering/frontend/eng.frontend-rules.md +147 -0
  70. package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +259 -0
  71. package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +137 -0
  72. package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +181 -0
  73. package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +120 -0
  74. package/rules/engineering/rpa/eng.rpa-rules.md +230 -0
  75. package/rules/product/README.md +24 -0
  76. package/rules/product/prod-rules.md +151 -0
  77. package/rules/rtk-rules.md +68 -0
  78. package/skills/AGENTS.md +290 -0
  79. package/skills/SKILLS-ROADMAP.md +333 -0
  80. package/skills/churn-audit/SKILL.md +385 -0
  81. package/skills/context-detect/SKILL.md +399 -0
  82. package/skills/context-detect/assets/context-profile-template.md +127 -0
  83. package/skills/docs-central/README.md +310 -0
  84. package/skills/docs-central/SKILL.md +423 -0
  85. package/skills/docs-index/SKILL.md +377 -0
  86. package/skills/eng-ai-engineer/SKILL.md +296 -0
  87. package/skills/eng-arch-c4/SKILL.md +358 -0
  88. package/skills/eng-arch-c4/assets/example-code.md +189 -0
  89. package/skills/eng-arch-c4/assets/example-component.md +105 -0
  90. package/skills/eng-arch-c4/assets/example-container.md +104 -0
  91. package/skills/eng-arch-c4/assets/example-context.md +81 -0
  92. package/skills/eng-backend/SKILL.md +776 -0
  93. package/skills/eng-browser-extension-builder/SKILL.md +385 -0
  94. package/skills/eng-cybersecurity/SKILL.md +645 -0
  95. package/skills/eng-data-bi/SKILL.md +199 -0
  96. package/skills/eng-data-debug/SKILL.md +307 -0
  97. package/skills/eng-data-engineer/SKILL.md +256 -0
  98. package/skills/eng-data-onboard/SKILL.md +310 -0
  99. package/skills/eng-data-orchestrator/SKILL.md +426 -0
  100. package/skills/eng-design-system/SKILL.md +619 -0
  101. package/skills/eng-docs-write/SKILL.md +312 -0
  102. package/skills/eng-frontend/SKILL.md +913 -0
  103. package/skills/eng-jira-comment/SKILL.md +17 -0
  104. package/skills/eng-microfrontend/SKILL.md +602 -0
  105. package/skills/eng-ms-trace/SKILL.md +469 -0
  106. package/skills/eng-nestjs/SKILL.md +791 -0
  107. package/skills/eng-performance-engineer/SKILL.md +312 -0
  108. package/skills/eng-pr/SKILL.md +339 -0
  109. package/skills/eng-qa-a11y-audit/SKILL.md +269 -0
  110. package/skills/eng-qa-bug-report/SKILL.md +1088 -0
  111. package/skills/eng-qa-bug-report/TASK_MANAGERS.md +138 -0
  112. package/skills/eng-qa-cypress-e2e/SKILL.md +177 -0
  113. package/skills/eng-qa-dev-guide/SKILL.md +164 -0
  114. package/skills/eng-qa-e2e/SKILL.md +400 -0
  115. package/skills/eng-qa-e2e-spec-writer/SKILL.md +322 -0
  116. package/skills/eng-qa-exploratory/SKILL.md +188 -0
  117. package/skills/eng-qa-gate/SKILL.md +370 -0
  118. package/skills/eng-qa-gate/assets/checklist-validacao.md +291 -0
  119. package/skills/eng-qa-graphql-contract/SKILL.md +256 -0
  120. package/skills/eng-qa-quality-report/SKILL.md +412 -0
  121. package/skills/eng-qa-test-plan/SKILL.md +466 -0
  122. package/skills/eng-qa-test-plan/assets/test-coverage-template.md +92 -0
  123. package/skills/eng-qa-test-plan/assets/test-patterns.md +178 -0
  124. package/skills/eng-qa-testsprite/SKILL.md +325 -0
  125. package/skills/eng-qa-testsprite/references/testsprite-mcp.md +224 -0
  126. package/skills/eng-qa-unit-test/SKILL.md +471 -0
  127. package/skills/eng-rabbitmq/SKILL.md +661 -0
  128. package/skills/eng-scraper/SKILL.md +683 -0
  129. package/skills/eng-scraper-robot-builder/SKILL.md +370 -0
  130. package/skills/eng-security-patch/SKILL.md +378 -0
  131. package/skills/eng-security-triage/SKILL.md +266 -0
  132. package/skills/eng-task-comment/SKILL.md +60 -0
  133. package/skills/eng-tech-analyst/SKILL.md +529 -0
  134. package/skills/eng-threat-model/SKILL.md +161 -0
  135. package/skills/init-jarvis/SKILL.md +1304 -0
  136. package/skills/init-jarvis/assets/mcp-configs.md +389 -0
  137. package/skills/init-jarvis/assets/onboarding-checklist.md +104 -0
  138. package/skills/init-jarvis/assets/setup-guide.md +360 -0
  139. package/skills/lovable-prompt-generator/SKILL.md +304 -0
  140. package/skills/prod-roadmap-report/README.md +303 -0
  141. package/skills/prod-roadmap-report/SKILL.md +198 -0
  142. package/skills/prod-roadmap-report/commands/status.compiled.single.team.md +23 -0
  143. package/skills/prod-roadmap-report/commands/status.list.projects.md +17 -0
  144. package/skills/prod-roadmap-report/commands/status.memory.md +192 -0
  145. package/skills/prod-roadmap-report/commands/status.roadmap.preview.md +94 -0
  146. package/skills/prod-roadmap-report/references/detailed-guide.md +236 -0
  147. package/skills/prod-roadmap-report/rules/detailed-guide.md +237 -0
  148. package/skills/prod-roadmap-report/rules/status-report-rules.md +44 -0
  149. package/skills/prod-roadmap-report/templates/template-multiple-teams-compiled-status.md +53 -0
  150. package/skills/prod-roadmap-report/templates/template-projects-list.md +23 -0
  151. package/skills/prod-roadmap-report/templates/template-single-team-compiled-status.md +60 -0
  152. package/skills/prod-roadmap-report/templates/template-single-team-status.md +49 -0
  153. package/skills/prod-specs/SKILL.md +108 -0
  154. package/skills/prod-specs/references/prod.spec.clarify.md +176 -0
  155. package/skills/prod-specs/references/prod.spec.epic.md +107 -0
  156. package/skills/prod-specs/references/prod.spec.frd.md +135 -0
  157. package/skills/prod-specs/references/prod.spec.issue.md +145 -0
  158. package/skills/prod-specs/references/prod.spec.prd.md +118 -0
  159. package/skills/prod-specs/rules/prod-spec-rules.md +186 -0
  160. package/skills/prod-specs/templates/prod-breakdown-template.md +136 -0
  161. package/skills/prod-specs/templates/prod-epic-template.md +76 -0
  162. package/skills/prod-specs/templates/prod-frd-template.md +172 -0
  163. package/skills/prod-specs/templates/prod-issue-template.md +68 -0
  164. package/skills/prod-specs/templates/prod-prd-full-template.md +159 -0
  165. package/skills/prod-specs/templates/prod-prd-template.md +173 -0
  166. package/skills/prod-specs-update/SKILL.md +272 -0
  167. package/skills/report-issue/SKILL.md +156 -0
  168. package/taxonomy.md +270 -0
  169. package/templates/AGENTS.md +189 -0
  170. package/templates/CDD aplicado a Prompts.md +182 -0
  171. package/templates/ENV-template.md +187 -0
  172. package/templates/engineering/AGENTS-template.md +71 -0
  173. package/templates/engineering/ARD-template.md +193 -0
  174. package/templates/engineering/CONTACTS-template.md +135 -0
  175. package/templates/engineering/PR-template.md +40 -0
  176. package/templates/engineering/RFC-Playbook.md +325 -0
  177. package/templates/engineering/RFC-template.md +199 -0
  178. package/templates/engineering/architecture-template.md +277 -0
  179. package/templates/engineering/breakdown-subtasks-template.md +582 -0
  180. package/templates/engineering/c4-model-template.md +516 -0
  181. package/templates/engineering/data-contract-template.md +135 -0
  182. package/templates/engineering/data-pipeline-template.md +163 -0
  183. package/templates/engineering/plan-template.md +255 -0
  184. package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +311 -0
  185. package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +249 -0
  186. package/templates/engineering/qa/qa.cypress-test-template.md +172 -0
  187. package/templates/engineering/qa/qa.exploratory-session-template.md +148 -0
  188. package/templates/engineering/qa/qa.quality-report-template.md +130 -0
  189. package/templates/engineering/qa/qa.release-signoff-template.md +54 -0
  190. package/templates/engineering/qa/qa.sprint-plan-template.md +49 -0
  191. package/templates/engineering/swagger-template.md +145 -0
  192. package/templates/engineering/tech-spec-template.md +497 -0
  193. package/templates/engineering/work-progress-template.md +155 -0
  194. package/workflows/AGENTS.md +240 -0
  195. package/workflows/README.md +160 -0
  196. package/workflows/all-tools.md +11 -0
  197. package/workflows/engineering/data/data.contract.md +202 -0
  198. package/workflows/engineering/data/data.new-pipeline.md +234 -0
  199. package/workflows/engineering/eng.breakdown-subtasks.md +420 -0
  200. package/workflows/engineering/eng.bug-audit.md +591 -0
  201. package/workflows/engineering/eng.build-tech-spec.md +1116 -0
  202. package/workflows/engineering/eng.create-ard-from-code.md +259 -0
  203. package/workflows/engineering/eng.create-ard.md +382 -0
  204. package/workflows/engineering/eng.create-rfc.md +245 -0
  205. package/workflows/engineering/eng.debug.md +479 -0
  206. package/workflows/engineering/eng.docs.md +40 -0
  207. package/workflows/engineering/eng.light-arch.md +84 -0
  208. package/workflows/engineering/eng.plan.md +213 -0
  209. package/workflows/engineering/eng.pr.md +466 -0
  210. package/workflows/engineering/eng.pre-pr.md +167 -0
  211. package/workflows/engineering/eng.review.md +185 -0
  212. package/workflows/engineering/eng.rpa.robot.md +342 -0
  213. package/workflows/engineering/eng.security-audit.md +312 -0
  214. package/workflows/engineering/eng.security-incident.md +275 -0
  215. package/workflows/engineering/eng.security-pipeline.md +210 -0
  216. package/workflows/engineering/eng.security-review.md +235 -0
  217. package/workflows/engineering/eng.start.md +494 -0
  218. package/workflows/engineering/eng.work.md +558 -0
  219. package/workflows/engineering/frontend/eng.frontend-component.md +190 -0
  220. package/workflows/engineering/frontend/eng.frontend-perf-audit.md +375 -0
  221. package/workflows/engineering/frontend/eng.frontend-review.md +185 -0
  222. package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +51 -0
  223. package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +51 -0
  224. package/workflows/engineering/qa/eng.qa-exploratory-session.md +60 -0
  225. package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +202 -0
  226. package/workflows/engineering/qa/eng.qa-quality-report.md +83 -0
  227. package/workflows/engineering/qa/eng.qa-refinement-entry.md +83 -0
  228. package/workflows/engineering/qa/eng.qa-release-signoff.md +170 -0
  229. package/workflows/engineering/qa/eng.qa-sprint-planning.md +100 -0
  230. package/workflows/engineering/ta/eng.ta.atendimento.md +93 -0
  231. package/workflows/product/prod.roadmap.preview.md +110 -0
  232. package/workflows/product/prod.spec.breakdown.md +163 -0
  233. package/workflows/product/prod.spec.clarify.md +178 -0
  234. package/workflows/product/prod.spec.epic.md +154 -0
  235. package/workflows/product/prod.spec.frd.md +96 -0
  236. package/workflows/product/prod.spec.issue.md +145 -0
  237. package/workflows/product/prod.spec.md +60 -0
  238. package/workflows/product/prod.spec.prd.md +100 -0
  239. package/workflows/taxonomy.md +92 -0
  240. package/workflows/warm-up.md +574 -0
@@ -0,0 +1,186 @@
1
+ ---
2
+ trigger: always_on
3
+ env_file: "@/ENV.md"
4
+ ---
5
+
6
+ > **Applies to:** HUB: all | POSITION: all | AREA: ENGINEERING | SQUAD: all
7
+
8
+ # Regras de Seguranca para Engenharia
9
+
10
+ Regras de seguranca aplicaveis a todo o fluxo de engenharia — do planejamento ao merge.
11
+ Toda implementacao deve seguir estas regras por padrao, sem necessidade de invocar o skill `eng-cybersecurity` explicitamente.
12
+
13
+ ---
14
+
15
+ ## Fase: eng.start (Arquitetura)
16
+
17
+ Ao definir a arquitetura de uma feature, o agente DEVE incluir no `architecture.md`:
18
+
19
+ 1. **Dados sensiveis** — listar PII, dados financeiros e credenciais envolvidas na feature
20
+ 2. **Superficie de ataque** — mapear endpoints publicos vs. autenticados
21
+ 3. **Modelo de auth** — definir como autenticacao e autorizacao se aplicam (JWT, session, OAuth, RBAC)
22
+ 4. **Integracoes externas** — listar e validar que usam TLS; documentar retry e fallback
23
+ 5. **Estrategia de sanitizacao** — se a feature recebe inputs de usuario, documentar como serao validados
24
+
25
+ > Se a feature nao envolve nenhum destes pontos, registrar explicitamente: "Sem superficie de seguranca identificada".
26
+
27
+ ---
28
+
29
+ ## Fase: eng.work (Implementacao)
30
+
31
+ O agente DEVE aplicar as seguintes regras em todo codigo gerado ou revisado:
32
+
33
+ ### Inputs — validar e sanitizar SEMPRE
34
+
35
+ - Toda entrada externa (body, query params, headers, uploads) validada com schema (Zod, Joi, class-validator)
36
+ - Queries SEMPRE parametrizadas — nunca concatenar variaveis em SQL, NoSQL ou command
37
+ ```typescript
38
+ // ❌ PROIBIDO
39
+ db.$queryRawUnsafe(`SELECT * FROM users WHERE email = '${input}'`)
40
+ exec(`ping ${host}`)
41
+
42
+ // ✅ OBRIGATORIO
43
+ db.$queryRaw`SELECT * FROM users WHERE email = ${input}`
44
+ execFile('ping', ['-c', '1', validatedHost])
45
+ ```
46
+ - HTML e rich text sanitizados com allowlist (DOMPurify ou equivalente)
47
+ - Uploads: validar tipo MIME real (nao apenas extensao), tamanho maximo e nome de arquivo
48
+ - URLs dinamicas: validar contra allowlist de dominios permitidos (prevenir SSRF)
49
+
50
+ ### Auth — proteger por padrao
51
+
52
+ - Endpoints protegidos com guard de autenticacao por padrao
53
+ - Endpoints publicos devem ser marcados explicitamente (`@Public()`, `@IsPublic()` ou equivalente)
54
+ - Autorizacao verificada apos autenticacao — nao basta estar logado, verificar permissao (RBAC, roles, ownership)
55
+ - Prevenir IDOR: usuario so acessa seus proprios recursos, a menos que tenha permissao explicita
56
+ - Senhas hasheadas com bcrypt (cost >= 12) ou argon2 — nunca MD5, SHA1 ou SHA256 puro
57
+ - Tokens JWT com expiracao curta (access: <= 15min), refresh com rotacao
58
+
59
+ ### Secrets — nunca no codigo
60
+
61
+ - Nunca hardcodar tokens, senhas, API keys, connection strings ou credenciais no codigo
62
+ - Usar variaveis de ambiente (`process.env`, `os.environ`, etc.)
63
+ - Arquivo `.env` deve estar no `.gitignore` — verificar antes de commitar
64
+ - Se um secret for detectado no diff, o agente DEVE alertar o usuario e bloquear o commit
65
+
66
+ ### Output — nao vazar informacao
67
+
68
+ - Nunca expor stack traces, queries ou detalhes internos em respostas de API em producao
69
+ - Erros retornam apenas `code` + `message` generica (sem nome de tabela, coluna ou path interno)
70
+ - Logs nunca contem senhas, tokens, PII ou dados de cartao
71
+ ```typescript
72
+ // ❌ PROIBIDO
73
+ logger.info({ password, token, cpf }, 'User login')
74
+
75
+ // ✅ CORRETO
76
+ logger.info({ userId, action: 'auth.login.success' }, 'User login')
77
+ ```
78
+
79
+ ### Headers e Configs — seguranca ativa
80
+
81
+ - CORS restritivo: origins especificas, nunca `origin: '*'` em producao
82
+ - Headers de seguranca configurados: CSP, HSTS, X-Frame-Options, X-Content-Type-Options
83
+ - Cookies de sessao: `httpOnly: true`, `secure: true`, `sameSite: 'strict'`
84
+ - Debug mode desabilitado em producao
85
+
86
+ ### Dependencias — supply chain
87
+
88
+ - Lockfile (`package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`) SEMPRE commitado
89
+ - Ao adicionar dependencia nova: verificar manutencao ativa, downloads e issues conhecidas
90
+ - `npm audit` (ou equivalente) nao deve ter vulnerabilidades HIGH ou CRITICAL antes de abrir PR
91
+
92
+ ---
93
+
94
+ ## Fase: eng.pre-pr (Validacao)
95
+
96
+ O agente DEVE incluir no checklist de pre-PR as seguintes verificacoes de seguranca:
97
+
98
+ - [ ] **Secrets scan**: nenhum token, senha ou API key no diff
99
+ - [ ] **Dependencias**: `npm audit` sem vulnerabilidades HIGH/CRITICAL
100
+ - [ ] **Lockfile**: commitado e atualizado
101
+ - [ ] **Inputs**: todo endpoint novo ou alterado valida inputs com schema
102
+ - [ ] **Auth guard**: todo endpoint novo tem guard (ou `@Public()` explicito com justificativa)
103
+ - [ ] **Outputs**: erros nao vazam detalhes internos
104
+
105
+ Se o PR toca em areas sensiveis (auth, sessions, RBAC, CORS, CSP, permissoes), o agente DEVE:
106
+ 1. Adicionar label `security` ao PR
107
+ 2. Recomendar ao usuario executar `/eng.security-review` antes do merge
108
+
109
+ ---
110
+
111
+ ## Fase: eng.pr (Merge)
112
+
113
+ - PRs com label `security` devem ter review de seguranca aprovado (manual ou via `/eng.security-review`)
114
+ - Nunca aprovar PR com secret detectado no diff — sem excecoes
115
+ - Se o PR adiciona endpoint publico, documentar justificativa no description do PR
116
+
117
+ ---
118
+
119
+ ## Fronteira Read-Only (Analise de Seguranca)
120
+
121
+ Os skills de seguranca (`eng-threat-model`, `eng.security-audit`, `eng-security-triage`) operam em **modo estatico apenas**:
122
+
123
+ - Leem codigo-fonte, historico git e relatorios fornecidos pelo usuario
124
+ - **Nunca** executam, buildam, fuzzam ou modificam o codigo-alvo
125
+ - **Nunca** fazem requests de rede a infraestrutura do alvo
126
+ - Se o usuario pedir para validar uma ameaca por execucao: declinar e orientar para pipeline de execucao dedicado
127
+
128
+ ---
129
+
130
+ ## Calibracao CDD por Risco
131
+
132
+ Usar `context-detect` para calibrar a profundidade da analise de seguranca:
133
+
134
+ | Nivel de risco | Criterio | Estrategia | Tokens (estimado) |
135
+ |---|---|---|---|
136
+ | **Baixo** — PR comum | Logica de negocio sem superficie sensivel | Single-pass, sem fan-out | ~15k (main thread) |
137
+ | **Medio** — PR sensivel | Toca auth, sessions, RBAC, CORS, CSP, PII, fluxo financeiro, criptografia | Fan-out por area + single-vote | ~80k (subagentes isolados) |
138
+ | **Alto** — Audit completo | Usuario invoca `/eng.security-audit` explicitamente | Fan-out + multi-voto (3 votos por achado) | ~200k-1M (subagentes isolados) |
139
+
140
+ O peso do token fica em subagentes isolados — janela da sessao principal nao lota.
141
+ PR comum sem risco identificado = zero token extra (so as rules always_on).
142
+
143
+ ---
144
+
145
+ ## Escalacao por POSITION
146
+
147
+ As regras acima se aplicam a TODOS os engenheiros. A responsabilidade escala com o cargo:
148
+
149
+ | POSITION | Responsabilidade adicional |
150
+ |----------|---------------------------|
151
+ | JUNIOR, PLENO | Seguir as regras. Em duvida de seguranca, consultar senior/TL — nao bloqueia a entrega se o risco for registrado |
152
+ | SENIOR, SPECIALIST | Seguir + revisar seguranca de PRs do squad quando solicitado |
153
+ | TECH LEAD, HEAD | Seguir + garantir que `/eng.security-review` foi executado em PRs com label `security`. Decidir se escala incidente |
154
+ | CTO | Seguir + visao de compliance (LGPD/GDPR) e risco organizacional. Aprovar excecoes de seguranca |
155
+
156
+ ---
157
+
158
+ ## Quando escalar para o agente SENTINEL
159
+
160
+ O agente de engenharia (ATHENA) deve recomendar o uso do agente SENTINEL (`eng.cybersecurity.agent.md`) quando:
161
+
162
+ - Vulnerabilidade conhecida (CVE) afeta uma dependencia do projeto
163
+ - Auditoria de seguranca completa e solicitada
164
+ - Incidente de seguranca em producao
165
+ - Feature envolve fluxo financeiro, PII ou auth complexa (OAuth, MFA)
166
+ - Duvida sobre impacto de seguranca que excede o escopo das regras acima
167
+
168
+ > O skill `/eng-cybersecurity` pode ser invocado diretamente para consulta rapida sem ativar o agente completo.
169
+
170
+ ---
171
+
172
+ ## Nunca
173
+
174
+ - Desabilitar verificacao de certificado TLS (`rejectUnauthorized: false`) em producao
175
+ - Usar `eval()`, `Function()` ou `child_process.exec()` com input de usuario
176
+ - Armazenar senhas em texto plano ou com hash fraco (MD5, SHA1)
177
+ - Confiar em validacao apenas no frontend — o backend SEMPRE valida
178
+ - Pular secrets scan no pre-PR "porque e so um refactor"
179
+ - Aprovar PR com `npm audit` HIGH/CRITICAL sem justificativa documentada
180
+
181
+ ## Sempre
182
+
183
+ - Defense in depth: nunca confiar em uma unica camada de protecao
184
+ - Fail secure: em caso de erro, negar acesso (nao permitir)
185
+ - Least privilege: dar apenas as permissoes necessarias
186
+ - Registrar eventos de seguranca nos logs (auth success/failure, access denied, config changes)