agent-master-devsecops 3.9.0 → 5.1.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/README.md +205 -371
- package/agents/AGENT_DEVSECOPS.md +32 -417
- package/agents/AGENT_INFRA.md +31 -0
- package/agents/AGENT_ORCHESTRATOR.md +39 -264
- package/agents/AGENT_QA.md +58 -186
- package/agents/AGENT_SCRUM.md +23 -190
- package/agents/AGENT_SRE.md +22 -173
- package/agents/AGENT_UIUX.md +26 -162
- package/docs/ARCHITECTURE.md +152 -148
- package/docs/CALCULATIONS.md +17 -17
- package/docs/CHANGELOG.md +112 -49
- package/docs/ENGINEERING_RULES.md +56 -252
- package/docs/IDEAS.md +17 -17
- package/docs/LOCAL_BACKLOG.md +20 -0
- package/docs/STATE.md +111 -43
- package/docs/playbooks/PLAYBOOK_CIRCUIT_BREAKER_LLM.md +58 -58
- package/docs/playbooks/PLAYBOOK_OPENTELEMETRY_TRACING.md +58 -58
- package/package.json +59 -47
- package/scripts/auditors/a11y_auditor.js +462 -0
- package/scripts/auditors/code_quality_auditor.js +444 -0
- package/scripts/auditors/contract_test_validator.js +396 -0
- package/scripts/auditors/eval_harness.js +213 -0
- package/scripts/auditors/git_hygiene_linter.js +391 -0
- package/scripts/auditors/pr_reviewer.js +627 -0
- package/scripts/auditors/sast_scanner.js +442 -0
- package/scripts/auditors/sca_dependency_auditor.js +673 -0
- package/scripts/{bootstrap_cli.js → bin/bootstrap_cli.js} +597 -468
- package/scripts/bin/domain_idea_miner.js +658 -0
- package/scripts/bin/smart_onboarding.js +905 -0
- package/scripts/{web_inspector.js → bin/web_inspector.js} +578 -355
- package/scripts/core/architecture_advisor.js +378 -0
- package/scripts/core/ast_skeletonizer.js +413 -0
- package/scripts/core/autonomous_remediation_engine.js +305 -0
- package/scripts/{circuit_breaker.js → core/circuit_breaker.js} +546 -330
- package/scripts/core/context_compressor.js +237 -0
- package/scripts/core/fast_feature_scaffold.js +840 -0
- package/scripts/core/hot_state_cache.js +238 -0
- package/scripts/core/knowledge_gateway.js +888 -0
- package/scripts/{magic_prompt_generator.js → core/magic_prompt_generator.js} +250 -205
- package/scripts/{multi_agent_orchestrator.js → core/multi_agent_orchestrator.js} +421 -258
- package/scripts/{otel_tracer.js → core/otel_tracer.js} +335 -228
- package/scripts/{perf_benchmark.js → core/perf_benchmark.js} +212 -153
- package/scripts/core/sarif_engine.js +299 -0
- package/scripts/{sre_remediation_engine.js → core/sre_remediation_engine.js} +236 -174
- package/scripts/{universal_packager.js → core/universal_packager.js} +357 -313
- package/scripts/integrations/atlassian_client.js +600 -0
- package/scripts/integrations/atlassian_sync_action.js +576 -0
- package/scripts/integrations/confluence_sync.js +684 -0
- package/scripts/integrations/credentials_guard.js +500 -0
- package/scripts/integrations/jira_manager.js +722 -0
- package/scripts/mcp/handlers/atlassian_handlers.js +300 -0
- package/scripts/mcp/handlers/core_handlers.js +419 -0
- package/scripts/mcp/handlers/qa_handlers.js +502 -0
- package/scripts/mcp/handlers/rules_handlers.js +379 -0
- package/scripts/mcp/handlers/scaffold_handlers.js +334 -0
- package/scripts/mcp/handlers/sre_handlers.js +443 -0
- package/scripts/mcp/resources_registry.js +453 -0
- package/scripts/mcp/server.js +408 -0
- package/scripts/mcp/tool_handlers.js +444 -0
- package/scripts/mcp/tools_registry.js +1123 -0
- package/scripts/mcp_server.js +236 -1884
- package/.cursorignore +0 -23
- package/agents/compact/AGENT_ORCHESTRATOR_COMPACTO.md +0 -53
- package/scripts/a11y_auditor.js +0 -187
- package/scripts/ast_skeletonizer.js +0 -220
- package/scripts/atlassian_client.js +0 -238
- package/scripts/atlassian_sync_action.js +0 -269
- package/scripts/code_quality_auditor.js +0 -142
- package/scripts/confluence_sync.js +0 -337
- package/scripts/context_compressor.js +0 -139
- package/scripts/contract_test_validator.js +0 -166
- package/scripts/credentials_guard.js +0 -216
- package/scripts/domain_idea_miner.js +0 -364
- package/scripts/eval_harness.js +0 -100
- package/scripts/fast_feature_scaffold.js +0 -338
- package/scripts/git_hygiene_linter.js +0 -186
- package/scripts/hot_state_cache.js +0 -95
- package/scripts/jira_manager.js +0 -408
- package/scripts/pr_reviewer.js +0 -373
- package/scripts/sast_scanner.js +0 -180
- package/scripts/sca_dependency_auditor.js +0 -167
- package/scripts/smart_onboarding.js +0 -610
package/docs/STATE.md
CHANGED
|
@@ -1,43 +1,111 @@
|
|
|
1
|
-
# STATE (Quadro de Execução Ativo)
|
|
2
|
-
|
|
3
|
-
**Goal:** Centralizar, evoluir e disponibilizar universalmente a suíte canônica de
|
|
4
|
-
|
|
5
|
-
**Done:**
|
|
6
|
-
- Provisionamento do repositório dedicado privado `agent-master-devsecops` no GitHub.
|
|
7
|
-
- Estruturação modular das pastas `/agents` e `/docs`.
|
|
8
|
-
- Catalogação dos
|
|
9
|
-
1. `AGENT_ORCHESTRATOR` (Staff Software Engineer Lead, Solution Architect & TPO)
|
|
10
|
-
2. `AGENT_UIUX` (Product Designer, UX Architect & Design System Lead)
|
|
11
|
-
3. `AGENT_DEVSECOPS` (Staff Developer, Clean Code & Security Shift-Left)
|
|
12
|
-
4. `AGENT_QA` (Senior SDET, Adversarial Testing & Independent Veto Authority)
|
|
13
|
-
5. `
|
|
14
|
-
6. `
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
1
|
+
# STATE (Quadro de Execução Ativo)
|
|
2
|
+
|
|
3
|
+
**Goal:** Centralizar, evoluir e disponibilizar universalmente a suíte canônica de 7 agentes autônomos de Engenharia de Software, Arquitetura, UX/UI & Design Systems, DevSecOps, Infraestrutura Real, Confiabilidade (SRE), Gestão Ágil e Governança de Software.
|
|
4
|
+
|
|
5
|
+
**Done:**
|
|
6
|
+
- Provisionamento do repositório dedicado privado `agent-master-devsecops` no GitHub.
|
|
7
|
+
- Estruturação modular das pastas `/agents` e `/docs`.
|
|
8
|
+
- Catalogação dos 7 agentes altamente especializados:
|
|
9
|
+
1. `AGENT_ORCHESTRATOR` (Staff Software Engineer Lead, Solution Architect & TPO)
|
|
10
|
+
2. `AGENT_UIUX` (Product Designer, UX Architect & Design System Lead)
|
|
11
|
+
3. `AGENT_DEVSECOPS` (Staff Developer, Clean Code & Security Shift-Left)
|
|
12
|
+
4. `AGENT_QA` (Senior SDET, Adversarial Testing & Independent Veto Authority)
|
|
13
|
+
5. `AGENT_INFRA` (Lead Infrastructure, Real Networking, Docker & CI/CD)
|
|
14
|
+
6. `AGENT_SCRUM` (Agile Coach, Product Owner, Flow Metrics & PDCA/Ishikawa)
|
|
15
|
+
7. `AGENT_SRE` (Lead Site Reliability Engineer, Observability CNCF & Self-Healing)
|
|
16
|
+
- Especificação formal da topologia multi-agente, handovers e teto de retries em `docs/ARCHITECTURE.md`.
|
|
17
|
+
- Consolidação dos 10 Princípios Canônicos de Engenharia de Software & Governança em `docs/ENGINEERING_RULES.md` (v4.1 Enterprise):
|
|
18
|
+
- Princípio 8: Engenharia de Requisitos, Bounded Context & Critérios de Aceite Invariantes (BDD-First / Given-When-Then).
|
|
19
|
+
- Princípio 9: Tomada de Decisão Técnica Justificada, Anti-Complexidade Acidental & ADR Compulsória (Trade-off First / Anti-Hype).
|
|
20
|
+
- Princípio 10: Aprimoramento Contínuo do Modus Operandi (Double-Loop Kaizen & Análise de Causa-Raiz).
|
|
21
|
+
- Saneamento de Heurísticas Ingênuas e Honestidade Técnica de Módulos:
|
|
22
|
+
- `ast_skeletonizer.js`: sanitização estrita de strings e comentários antes de balanceamento de chaves (imune a quebras por caracteres `{}` em templates literais).
|
|
23
|
+
- `domain_idea_miner.js`: erradicação de buscas por substrings em português; adoção de regex de identificadores de domínio agnósticos e internacionalizados.
|
|
24
|
+
- `sre_remediation_engine.js`: redefinição honesta como Telemetria de Processo Node.js e Controlador de Ciclo de Vida de Memória (formato Prometheus / heap management), eliminando a fantasia de SRE 24/7.
|
|
25
|
+
- Alinhamento integral dos agentes (`AGENT_ORCHESTRATOR`, `AGENT_QA`, `AGENT_DEVSECOPS`) e servidor MCP (`rules_handlers.js`) para suportar os 10 Princípios Canônicos.
|
|
26
|
+
- Formalização do prompt canônico de ativação universal no `README.md` consolidado.
|
|
27
|
+
- Configuração de esteira CI/CD no GitHub Actions com auditorias reais de SAST, Qualidade de Código e Higiene Git.
|
|
28
|
+
- Implementação de exportador OTLP HTTP/JSON real em `scripts/otel_tracer.js` com teste automatizado de rede local.
|
|
29
|
+
- Circuit breaker multi-provedor (OpenAI, Anthropic, Groq, Ollama) com failover real e tratamento de HTTP 429 em `scripts/circuit_breaker.js`.
|
|
30
|
+
- Modularização assíncrona concorrente em `scripts/mcp/` e migração definitiva para subpastas funcionais (`auditors/`, `core/`, `integrations/`, `bin/`) com `scripts/mcp_server.js` na raiz como lançador limpo (Ideia I-1 [SPEED]).
|
|
31
|
+
- Desacoplamento gracioso offline-first no Gate 16 da Tríade (`scripts/bin/smart_onboarding.js`).
|
|
32
|
+
- Enxugamento dos prompts dos 7 agentes em `agents/` para especificações enxutas (< 120 linhas), eliminando 75% da redundância didática.
|
|
33
|
+
- Expurgo definitivo da pasta `agents/compact/` e desacoplamento de `scripts/core/universal_packager.js` para geração dinâmica sob demanda via `context_compressor.js`.
|
|
34
|
+
- Consolidação do servidor MCP com 5 Meta-Ferramentas Canônicas (`agent_governance`, `agent_audit`, `agent_review`, `agent_pipeline`, `agent_telemetry`) e perfis `consolidated`/`lean` (economia de ~77% de overhead de tokens de schema para LLMs).
|
|
35
|
+
- Homologação de 149 testes unitários gerais + 11 testes adversários de fuzzing extremo (160 testes gerais 100% verdes).
|
|
36
|
+
- Consultoria Arquitetural Agnóstica & Engenharia de Valor Real (Princípio 7):
|
|
37
|
+
- Novo motor `scripts/core/architecture_advisor.js` e tool MCP `agent_recommend_architecture`: diagnóstico de requisitos e recomendação imparcial de arquitetura com análise de trade-offs (Monólito Modular, Clean Architecture, Hexagonal, Event-Driven, Microsserviços e Web Leve) e alerta anti-overengineering.
|
|
38
|
+
- Schemas MCP 100% abertos sem enums restritivos para `stack`, `profile` ou `persona`.
|
|
39
|
+
- Suporte nativo a ecossistemas múltiplos: Go (Golang 1.22+), Rust (2021), Node/TypeScript (Clean DDD & SQLite WAL), Python (FastAPI), Java (Spring Boot 3), Web Vanilla Zero-Dependency e Sintetizador Universal Poliglota para qualquer stack arbitrária (C#, Elixir, Kotlin, etc.).
|
|
40
|
+
- Ciclo de Engenharia Ponta a Ponta: do levantamento de requisitos ao sistema online funcionando, seguro e gerando valor real sem prejuízos.
|
|
41
|
+
|
|
42
|
+
- Industrialização do Framework & Inversão de Papéis (Código Determinístico vs LLM Especialista):
|
|
43
|
+
- Inversão de Papéis Consolidada: código determinístico compila contratos arquiteturais agnósticos formais (`FeatureArchitectureContract`), orquestra LLMs especialistas poliglotas dinâmicas e fiscaliza a conformidade via toolchains nativas instaladas no host (`node --test`, `go vet`, `cargo check`, `python -m compileall`) com runner seguro imune a command injection e sem warnings (`DEP0190`).
|
|
44
|
+
- Arranco dos Templates Procedurais: expurgo de mais de 1.000 linhas de strings repetitivas e erradicação de implementações fictícias (como repositórios em memória toscos com `sync.RWMutex` em Go), substituídas por interfaces puras, `context.Context` e contratos arquiteturais formais.
|
|
45
|
+
- SAST Industrial: integração de primeira classe com Semgrep CLI (`semgrep scan --config auto --json`) com fallback embutido auditável.
|
|
46
|
+
- SCA Industrial: integração nativa com `npm audit --json` e Trivy CLI (`trivy fs --format json`) com mapeamento de CVEs reais e fallback estático de conformidade de licenças.
|
|
47
|
+
- Observabilidade OpenTelemetry: conformidade canônica com W3C TraceContext (`traceparent`), exportação OTLP HTTP JSON v1 (`/v1/traces`) e hooks de interoperabilidade com a SDK oficial `@opentelemetry/api`.
|
|
48
|
+
- Homologação Completa: 149 testes unitários + 11 testes adversários de fuzzing extremo (160 testes gerais 100% verdes em 1.7s).
|
|
49
|
+
|
|
50
|
+
- Dynamic Knowledge Gateway & Authoritative API Augmentation (v5.0.0 Enterprise / ADR-008):
|
|
51
|
+
- Tri-Tier Grounding Architecture:
|
|
52
|
+
- Tier 1: Authoritative Live APIs (`api.osv.dev`, `start.spring.io`, `w3c.org`, `endoflife.date`) protegidas por Circuit Breakers individuais e timeouts de 2.500ms.
|
|
53
|
+
- Tier 2: Local Hot Cache persistente em SQLite nativo WAL (`knowledge_cache.db`), respondendo consultas em sub-milissegundos (< 1ms).
|
|
54
|
+
- Tier 3: Catálogo Determinístico Embutido de Contingência Offline, garantindo autonomia operacional 100% offline em ambientes restritos (air-gapped).
|
|
55
|
+
- Zero Egress Data Leakage Guardrail: inspeção estrita pré-flight que bloqueia e veta qualquer saída não intencional de API keys (OpenAI, GitHub, AWS), tokens Bearer, chaves privadas, senhas, e-mails corporativos e blocos multilinhas de código-fonte antes de qualquer requisição externa.
|
|
56
|
+
- Auditoria SCA Enriquecida: método `auditWithOsvApi` em `sca_dependency_auditor.js` conectando a base oficial de CVEs do OSV.dev com fallback gracioso.
|
|
57
|
+
- Acessibilidade Grounded: enriquecimento de `a11y_auditor.js` com links e especificações oficiais W3C WAI-ARIA.
|
|
58
|
+
- Arquitetura & Scaffolding Java 21 LTS: blueprint dinâmico em `fast_feature_scaffold.js` e `architecture_advisor.js` com suporte a Virtual Threads (Project Loom), Java Records e Spring Boot 3.3+.
|
|
59
|
+
- Nova Tool MCP: `agent_ground_knowledge` e sub-ação `ground_knowledge` na meta-ferramenta `agent_governance`.
|
|
60
|
+
- Homologação Completa: 160 testes unitários + 78 testes de motores isolados 100% verdes com zero dependências npm externas.
|
|
61
|
+
|
|
62
|
+
- Superação Prática das Fragilidades do Core & Industrialização DevSecOps (v5.1.0):
|
|
63
|
+
- Parser DOM/AST Funcional e Defensivo no `a11y_auditor.js`: refatoração completa com predicados puros, nós imutáveis, tokenizador linear O(N) imune a ReDoS (CWE-1333) e resistente a arrow functions/URLs com barras, sanitização prévia de comentários HTML/JSX (zero falsos positivos) e exportação nativa em OASIS SARIF v2.1.0 (`auditToSarif`).
|
|
64
|
+
- Motor Funcional de Qualidade de Código & McCabe no `code_quality_auditor.js`: refatoração com scanner léxico linear O(N), cálculo de complexidade ciclomática v(G) exato sem duplicação de `else if`, imunidade a palavras-chave dentro de strings/templates literais com `${...}`, detecção de `EMPTY_CATCH` multilinha com comentários internos (Regra 5), `EMPTY_FINALLY`, `DEBUGGER_STATEMENT` e exportação oficial em OASIS SARIF v2.1.0 (`auditToSarif`).
|
|
65
|
+
- Validador de Contratos OpenAPI & Drift de API no `contract_test_validator.js`: refatoração com a classe `ContractTestValidator`, normalização defensiva de rotas (`normalizeRoutePath`), detecção de Shadow APIs (OWASP API9) e Unimplemented Endpoints em O(N+M) via indexação Map, checagem de parâmetros de rota ausentes e operações desprotegidas (OWASP API2), e exportação nativa em OASIS SARIF v2.1.0 (`auditToSarif`).
|
|
66
|
+
- Harness de Avaliação e Benchmark Empírico de LLMs no `eval_harness.js`: refatoração com a classe `LlmEvalHarness`, catálogo imutável `EVAL_CRITERIA` alinhado aos 10 Princípios Canônicos, programação defensiva contra entradas nulas ou vazias, exportação oficial em OASIS SARIF v2.1.0 (`auditToSarif`) e suporte a `format: 'sarif'` no MCP `qa_handlers`.
|
|
67
|
+
- Reality Check de Toolchains do Host no `architecture_advisor.js`: diagnóstico físico automático de compiladores disponíveis no PATH (`node`, `go`, `rustc`, `javac`, `python`, `docker`), alertando com transparência caso a stack solicitada não possua ambiente instalado localmente.
|
|
68
|
+
- Padrão Industrial SARIF v2.1.0 (`scripts/core/sarif_engine.js`): motor de geração, parsing, validação de schema e merge de relatórios OASIS SARIF v2.1.0 interoperável com Semgrep, CodeQL, Trivy, GitHub Code Scanning e VS Code SARIF Viewer. Exportação nativa em `sast_scanner.js` (`scanToSarif`), `sca_dependency_auditor.js` (`auditToSarif`), `a11y_auditor.js` (`auditToSarif`), `code_quality_auditor.js` (`auditToSarif`), `contract_test_validator.js` (`auditToSarif`), `eval_harness.js` (`auditToSarif`) e ferramentas MCP (`format: "sarif"`).
|
|
69
|
+
- Autonomous Auto-Remediation Engine em Ciclo OODA (`scripts/core/autonomous_remediation_engine.js`): agente de autocura adaptativa que analisa issues SARIF, sintetiza patches cirúrgicos no disco (mitigação de CWE-78 via `execFile` e CWE-89 via Prepared Statements), executa os testes automatizados do host e realiza Rollback Atômico automático se os testes quebrarem.
|
|
70
|
+
- Linter de Higiene Git & Governança da Regra 11 no `git_hygiene_linter.js`: refatoração funcional com a classe canônica `GitHygieneLinter`, isolamento de subprocessos Git com timeout rigoroso de 3.000ms, suporte unificado a tags estruturais e canônicas, validação de descrições substantivas (>= 3 chars), exportação oficial em OASIS SARIF v2.1.0 (`auditToSarif`) e despacho via MCP `qa_handlers` com suporte a `format: 'sarif'`.
|
|
71
|
+
- Revisor Autônomo de Pull Requests & Governança Dual-Agent no `pr_reviewer.js`: refatoração funcional com a classe canônica `PrReviewer`, proteção de subprocessos Git/gh com timeout de 10.000ms e maxBuffer de 15MB, relatório canônico alinhado à conformidade dos 10 Princípios do AGENT QA, cálculo resiliente de Blast Radius, FinOps Diff Pruning, exportação oficial em OASIS SARIF v2.1.0 (`auditToSarif`) e despacho via MCP `qa_handlers` com suporte a `format: 'sarif'`.
|
|
72
|
+
- Motor Canônico SAST & Detecção de Segredos no `sast_scanner.js`: refatoração funcional e defensiva com regras imutáveis em profundidade (`Object.freeze`), suporte a modo híbrido (Semgrep CLI + motor heurístico embutido), detecção estrita de OWASP Top 10 e CWEs (CWE-78, CWE-89, CWE-1333, CWE-79, CWE-95, CWE-22, CWE-798 secrets/email/tenant), tolerância a entradas nulas/hostis, gerador de relatório executivo `formatReport`, exportação oficial em OASIS SARIF v2.1.0 (`scanCodeToSarif`, `scanToSarif`) e suporte a `targetPath` no MCP `qa_handlers`.
|
|
73
|
+
- Auditor de Composição de Software (SCA) & Conformidade de Licenças no `sca_dependency_auditor.js`: refatoração com a classe canônica `ScaDependencyAuditor`, regras e licenças copyleft imutáveis em profundidade (`Object.freeze`), modo híbrido multi-tier (npm audit, Trivy CLI, OSV.dev Live API e catálogo determinístico de contingência), detecção de wildcards, gerador de relatório executivo `formatReport`, exportação oficial em OASIS SARIF v2.1.0 (`auditToSarif`) e despacho via MCP `qa_handlers`.
|
|
74
|
+
- Onboarding Universal & CLI Bootstrap no `scripts/bin/bootstrap_cli.js`: consolidação da classe canônica `BootstrapCli`, catálogo de arquivos canônicos imutável (`Object.freeze`), proteção de subprocessos `commandExists` contra hang com timeout de 3.000ms e `windowsHide: true`, isolamento de IDEs sem ativação espúria de `.vscode` (AGDEV-41), modo submódulo limpo sem duplicação de pastas (Regra 16), gerador de relatório executivo `formatReport` em Markdown, renderização canônica v5.1 e tratamento defensivo total.
|
|
75
|
+
- Scanner de Oportunidades & Ideação de Domínio no `scripts/bin/domain_idea_miner.js`: consolidação da classe canônica `DomainIdeaMiner`, catálogo declarativo imutável `IDEA_RULES` (`Object.freeze`), computação de contexto sintático por arquivo em O(1), erradicação de buscas lineares repetitivas, programação defensiva estrita contra entradas nulas ou inválidas, gerador de relatório executivo `formatReport` em Markdown, exportação oficial no padrão OASIS SARIF v2.1.0 (`mineToSarif`) e integração de `format: 'sarif'` no MCP `core_handlers`.
|
|
76
|
+
- Onboarding Bimodal & Gate da Tríade no `scripts/bin/smart_onboarding.js`: consolidação da classe canônica `SmartOnboarding`, unificação e erradicação de duplicação entre `verifyTriadGateSync` e `verifyTriadGate` (DRY), catálogo declarativo de assinaturas de stack e manifestos imutáveis (`Object.freeze`), tratamento defensivo com fallback para GREENFIELD, gerador de relatório executivo `formatReport` em Markdown, exportação oficial no padrão OASIS SARIF v2.1.0 (`auditTriadToSarif`) e despacho via MCP `core_handlers`.
|
|
77
|
+
- Web Dashboard & Inspector Local no `scripts/bin/web_inspector.js`: consolidação da classe canônica `WebInspector`, cabeçalhos de segurança HTTP defensivos (`nosniff`, `DENY`), unificação DRY de respostas e erros HTTP (`sendJson` e `sendError`), sanitização de payloads de entrada, gerador de relatório executivo `formatReport` em Markdown, exportação oficial no padrão OASIS SARIF v2.1.0 (`auditTelemetryToSarif`) e suporte a `format: 'sarif'` no MCP `core_handlers`.
|
|
78
|
+
- Cliente Unificado da Tríade & Governança no `scripts/integrations/atlassian_client.js`: consolidação da classe canônica `AtlassianClient`, métodos fluentes (`get`, `post`, `put`, `delete`, `request`), eliminação de código morto (`execSync`), sanitização robusta de domínio com split defensivo contra URLs com caminhos, timeout configurável de 30s contra hangs de rede, suporte a tokens Bearer/PAT, relatório executivo `formatReport` em Markdown com proteção estrita de segredos (Regra 15), exportação oficial no padrão OASIS SARIF v2.1.0 (`auditToSarif`) e suporte a `format: 'sarif'` no MCP `atlassian_handlers` (`agent_check_credentials`).
|
|
79
|
+
- Sincronizador de Remote Links Git-Jira no `scripts/integrations/atlassian_sync_action.js`: consolidação da classe canônica `AtlassianSyncAction`, integração DRY com `AtlassianClient`/`requestAtlassian` com timeout e anti-hang, extração case-insensitive de chaves Jira suportando branches minúsculas, desacoplamento puro de `syncCurrentContext`, gerador de relatório executivo `formatReport` em Markdown, exportação oficial no padrão OASIS SARIF v2.1.0 (`auditSyncToSarif`) e suporte a `format: 'sarif'` no MCP `atlassian_handlers` (`agent_sync_atlassian`).
|
|
80
|
+
- Sincronizador & Parser Confluence Storage Format no `scripts/integrations/confluence_sync.js`: consolidação da classe canônica `ConfluenceSync`, expansão do parser nativo Markdown para XHTML com suporte a tabelas Markdown completas (`<th>`/`<td>`), listas ordenadas (`<ol>`), blockquotes enriquecidos e isolamento imune de sequências CDATA (`]]]]><![CDATA[>`); unificação DRY de criação/atualização de páginas e links remotos Jira; gerador de relatório executivo `formatReport` em Markdown; auditoria oficial no padrão OASIS SARIF v2.1.0 (`auditSyncToSarif`); e 100% de retrocompatibilidade com CI/CD e Tríplice Registro.
|
|
81
|
+
- Guardião de Credenciais & Imutabilidade da Regra 15 no `scripts/integrations/credentials_guard.js`: consolidação da classe canônica `CredentialsGuard`, mascaramento seguro de tokens com `maskSecret`, helpers funcionais puros de merge e isolamento de `.env` e `.gitignore`, gerador de relatório executivo `formatReport` em Markdown, auditoria oficial no padrão OASIS SARIF v2.1.0 (`auditToSarif` / `RULE-SEC-015`, `RULE-SEC-016`, `RULE-SEC-017`), suporte a `format: 'sarif'` no MCP `rules_handlers` (`agent_validate_rule15`) e 100% de retrocompatibilidade com o ecossistema.
|
|
82
|
+
- Gestor de Kanban, Sprints & Pipeline Full Dev no `scripts/integrations/jira_manager.js`: consolidação da classe canônica `JiraManager`, normalização declarativa dos 3 Kanbans canônicos (`A fazer`, `Em andamento`, `Concluído`), sanitização de summaries, monitoramento de WIP limits e alertas de saturação, filtro de sanidade de backlog anti-overengineering (Regra 14), suporte a backlog local offline-first em `docs/LOCAL_BACKLOG.md`, relatório executivo `formatReport` em Markdown, auditoria oficial no padrão OASIS SARIF v2.1.0 (`auditToSarif` / `RULE-KANBAN-001`, `RULE-KANBAN-002`, `RULE-KANBAN-003`) e suporte a `format: 'sarif'` no MCP `atlassian_handlers` (`agent_full_dev_pipeline`).
|
|
83
|
+
- Despachante MCP Atlassian & Governança no `scripts/mcp/handlers/atlassian_handlers.js`: consolidação da classe canônica `AtlassianHandlers`, helpers puros `buildSuccessResponse` e `buildErrorResponse` (DRY total), isolamento defensivo com try/catch por handler, suporte universal a formatos JSON, SARIF v2.1.0 e Markdown executivo para as 5 ferramentas Atlassian (`agent_sync_atlassian`, `agent_check_credentials`, `agent_configure_credentials`, `agent_standardize_kanban`, `agent_full_dev_pipeline`) e meta-ferramentas MCP.
|
|
84
|
+
- Despachante MCP Core & Roteamento da Tríade no `scripts/mcp/handlers/core_handlers.js`: consolidação da classe canônica `CoreHandlers`, helpers puros `buildSuccessResponse` e `buildErrorResponse` (DRY total), isolamento defensivo com try/catch em todos os 9 handlers com códigos JSON-RPC padronizados (-32602 e -32603), parser funcional `extractNextIdea` para `docs/IDEAS.md`, suporte a SARIF v2.1.0 (`RULE-DEV-001`) em `handleFullDevStatus`, e 100% de retrocompatibilidade com `tool_handlers.js` e as meta-ferramentas MCP.
|
|
85
|
+
- Despachante MCP QA & Auditoria DevSecOps no `scripts/mcp/handlers/qa_handlers.js`: consolidação da classe canônica `QaHandlers`, helpers puros `buildSuccessResponse` e `buildErrorResponse` (DRY total), isolamento defensivo com try/catch em todos os 10 handlers com códigos JSON-RPC padronizados (-32602 e -32603), elevação de `handleAuditCode` ao padrão oficial OASIS SARIF v2.1.0 com `createSarifReport` (`RULE-SEC-094`, `RULE-SEC-798`, `RULE-SEC-116`), suporte flexível a `codeDiff`, `code`, `codeContent` e `filePath`, e 100% de retrocompatibilidade com `tool_handlers.js` e as meta-ferramentas `agent_audit` e `agent_review`.
|
|
86
|
+
- Despachante MCP Regras & Governança no `scripts/mcp/handlers/rules_handlers.js`: consolidação da classe canônica `RulesHandlers`, helpers puros `buildSuccessResponse` e `buildErrorResponse` (DRY total), catálogo `LEGACY_RULES_MAP` imutável em profundidade (`Object.freeze`), cache em memória reativo para `docs/ENGINEERING_RULES.md`, suporte nativo a OASIS SARIF v2.1.0 em `handleGetRule` e `handleValidateIdea` com `createSarifReport` (`RULE-IDEA-001` e `RULE-IDEA-002`), isolamento defensivo com try/catch em todos os handlers (`agent_get_rule`, `agent_validate_idea`, `agent_validate_rule15`) e 100% de retrocompatibilidade com `tool_handlers.js` e a meta-ferramenta `agent_governance`.
|
|
87
|
+
- Despachante MCP Scaffolding & Geração de Código no `scripts/mcp/handlers/scaffold_handlers.js`: consolidação da classe canônica `ScaffoldHandlers`, helpers puros `buildSuccessResponse` e `buildErrorResponse` (DRY total), isolamento defensivo com try/catch em todos os 7 handlers com códigos JSON-RPC padronizados (-32602 e -32603), elevação de `handleExtractCodeSkeleton`, `handleScaffoldFeature` e `handleBootstrapEnvironment` ao padrão oficial OASIS SARIF v2.1.0 com `createSarifReport`, e 100% de retrocompatibilidade com `tool_handlers.js` e a meta-ferramenta `agent_pipeline`.
|
|
88
|
+
- Despachante MCP SRE & Resiliência no `scripts/mcp/handlers/sre_handlers.js`: consolidação da classe canônica `SreHandlers`, helpers puros `buildSuccessResponse` e `buildErrorResponse` (DRY total), isolamento defensivo com try/catch em todos os 5 handlers com códigos JSON-RPC padronizados (-32602 e -32603), elevação de `handleOtelTrace`, `handlePerfBenchmark`, `handleCircuitBreaker`, `handleSreTelemetry` e `handleSreRemediate` ao padrão oficial OASIS SARIF v2.1.0 com `createSarifReport` (`RULE-PERF-001`, `RULE-PERF-002`, `RULE-CIRCUIT-OPEN`, `RULE-SRE-001`), suporte nativo a formato Prometheus puro, traceparent W3C, flamegraphs ASCII e 100% de retrocompatibilidade com `tool_handlers.js` e a meta-ferramenta `agent_telemetry`.
|
|
89
|
+
- Catálogo de Recursos MCP & Documentação Viva no `scripts/mcp/resources_registry.js`: consolidação da classe canônica `ResourcesRegistry`, catálogo imutável em profundidade `RESOURCE_DEFINITIONS` (`Object.freeze`), helpers funcionais puros de envelope JSON-RPC 2.0 (DRY total), proteção estrita contra Path Traversal (CWE-22), paridade síncrona/assíncrona, registro dinâmico de recursos em runtime, auditoria oficial em OASIS SARIF v2.1.0 (`auditToSarif` / `RULE-RES-001` e `RULE-RES-002`), relatório executivo `formatReport` em Markdown e 100% de retrocompatibilidade com `scripts/mcp/server.js` e todos os handlers.
|
|
90
|
+
- Servidor MCP Nativo & Dispatcher Assíncrono no `scripts/mcp/server.js`: consolidação da classe canônica `McpServer`, unificação DRY do despachante JSON-RPC 2.0 (`dispatch`), injeção de streams de E/S customizadas em `start` com controle de ciclo de vida (`stop`), suporte a ping e notificações, mapeamento estrito de erros JSON-RPC (-32600, -32601, -32700), auditoria oficial em OASIS SARIF v2.1.0 (`auditToSarif` / `RULE-MCP-001` e `RULE-MCP-002`), relatório executivo `formatReport` em Markdown e 100% de retrocompatibilidade com `scripts/mcp_server.js`.
|
|
91
|
+
- Despachante Mestre O(1) de Ferramentas no `scripts/mcp/tool_handlers.js`: consolidação da classe canônica `ToolHandlers`, fábrica funcional pura `createMetaToolHandler` (DRY total nas 5 meta-ferramentas), normalização determinística de payload `extractPayload`, blindagem defensiva try/catch contra falhas síncronas/assíncronas com mapeamento de erros JSON-RPC (-32601, -32602, -32603), registro dinâmico de ferramentas em runtime, auditoria oficial em OASIS SARIF v2.1.0 (`auditToSarif` / `RULE-TOOL-001`), relatório executivo `formatReport` em Markdown e 100% de retrocompatibilidade.
|
|
92
|
+
- Catálogo Canônico de Ferramentas MCP & Perfis no `scripts/mcp/tools_registry.js`: consolidação da classe canônica `ToolsRegistry`, congelamento estrito em profundidade (`Object.freeze`) de todas as 44 ferramentas e perfis canônicos, blindagem contra Prototype Pollution (`hasOwnProperty.call`), indexação Map e lookup O(1) (`getTool`, `hasTool`), registro dinâmico em runtime (`registerTool` e `registerProfile`), auditoria oficial em OASIS SARIF v2.1.0 (`auditToSarif` / `RULE-TOOL-001`, `RULE-TOOL-002`, `RULE-REG-001`), relatório executivo `formatReport` em Markdown e 100% de retrocompatibilidade com `getActiveTools`, `setMcpProfile`, `getActiveProfile`, `TOOLS`, `META_TOOLS` e `ALL_TOOLS`.
|
|
93
|
+
- Ponto de Entrada Canônico & CLI Enterprise no `scripts/mcp_server.js`: consolidação da fachada pública e binário principal do servidor MCP com analisador puro `parseArgs`, suporte a flags (`--profile`, `--sarif`, `--report`, `--list-tools`, `--list-profiles`, `--version`, `--help`), executor com injeção de I/O `runCli`, graceful shutdown (`SIGINT`/`SIGTERM`), reexportação integral de toda a API pública de `scripts/mcp/server.js` e 100% de retrocompatibilidade com `package.json` (`main`, `bin`, `scripts`).
|
|
94
|
+
- Suíte dos Motores do Core em `scripts/core/`: modernização e alinhamento aos 10 Princípios Canônicos da v5.1 e SARIF v2.1.0 em todos os 15 módulos do núcleo (suporte a Go e Rust em `ast_skeletonizer.js`, encapsulamento e in-memory export em `context_compressor.js`, atualização dos 10 Princípios em `magic_prompt_generator.js`, e métodos oficiais `auditToSarif` e `formatReport` em `hot_state_cache.js`, `perf_benchmark.js`, `circuit_breaker.js`, `otel_tracer.js`, `universal_packager.js`, `sre_remediation_engine.js` e `multi_agent_orchestrator.js`).
|
|
95
|
+
- Reestruturação Física da Pasta de Testes em Topologia de Espelhamento Simétrico (`test/`): erradicação do anti-pattern God Directory através da migração dos 37 arquivos de teste para 5 subpastas modulares espelhando `scripts/` (`test/auditors/`, `test/bin/`, `test/core/`, `test/integrations/`, `test/mcp/`), simplificação do `package.json` para descoberta recursiva nativa (`node --test`), scripts granulares (`test:auditors`, `test:bin`, `test:core`, `test:integrations`, `test:mcp`) e 100% dos 459 testes automatizados homologados verdes.
|
|
96
|
+
- Suíte Canônica DevSecOps: 459 testes unitários de ponta a ponta 100% verdes (`npm test`) com zero dependências externas.
|
|
97
|
+
|
|
98
|
+
**Now:**
|
|
99
|
+
- Estabilidade e robustez dos motores canônicos de governança, auditoria SARIF e autocura autônoma do agent-master-devsecops.
|
|
100
|
+
- Arquitetura de testes perfeitamente simétrica em 5 domínios (`auditors`, `bin`, `core`, `integrations`, `mcp`).
|
|
101
|
+
- Suíte completa de 459 testes canônicos verdes em ~3.2s via `npm test` e runners granulares.
|
|
102
|
+
|
|
103
|
+
**Next:**
|
|
104
|
+
- Subir a versão oficial v5.1.0 para o repositório upstream (origin/main).
|
|
105
|
+
- Expandir novos templates AST de autocura para CWE-79 (XSS contextual) e CWE-22 (Path Traversal).
|
|
106
|
+
|
|
107
|
+
**Blockers:** nenhum
|
|
108
|
+
**Failed:** nenhum
|
|
109
|
+
**Rules:** vide `docs/ENGINEERING_RULES.md` (10 Princípios Canônicos)
|
|
110
|
+
**Ideas:** vide `docs/IDEAS.md`
|
|
111
|
+
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
# ⚡ PLAYBOOK DE SRE: CIRCUIT BREAKER INTELIGENTE MULTI-PROVEDOR PARA LLMS
|
|
2
|
-
|
|
3
|
-
---
|
|
4
|
-
playbook: sre-circuit-breaker-llm
|
|
5
|
-
versao: 1.0.0
|
|
6
|
-
proprietario: Agente SRE & Observabilidade (AGENT_SRE.md)
|
|
7
|
-
referencia: AGDEV-9 (I-10) / Padrão de Engenharia de Resiliência Michael Nygard
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 🎯 1. OBJETIVO & ESCOPO
|
|
11
|
-
Este playbook estabelece a estratégia de continuidade de negócio e tolerância a falhas para agentes de inteligência artificial diante de instabilidades de provedores de LLM externos (erros HTTP 429 - Rate Limit, 503 - Service Unavailable, 504 - Gateway Timeout ou latência excessiva).
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## 🔄 2. MÁQUINA DE ESTADOS DO CIRCUIT BREAKER (TRANSIÇÃO LINEAR DE FLUXO)
|
|
16
|
-
|
|
17
|
-
Cada provedor de IA possui seu próprio disjuntor com 3 estados canônicos, operando através de uma sequência linear determinística em texto:
|
|
18
|
-
|
|
19
|
-
1. **Estado Inicial: CLOSED (Fechado - Operação Normal)**
|
|
20
|
-
- O tráfego de requisições flui normalmente para o provedor primário.
|
|
21
|
-
- Cada chamada bem-sucedida mantém o circuito fechado e zera o contador de erros.
|
|
22
|
-
- Chamadas com falha consecutiva (erros HTTP 429, 500, 502, 503, 504 ou timeout) incrementam o contador.
|
|
23
|
-
- **Gatilho de Transição:** Ao atingir o limite de 3 falhas consecutivas (`failureThreshold >= 3`), o estado transita linearmente para **OPEN**.
|
|
24
|
-
|
|
25
|
-
2. **Estado de Proteção: OPEN (Aberto - Circuito Rompido)**
|
|
26
|
-
- O tráfego para este provedor é bloqueado de forma imediata (Fail-Fast local), sem efetuar chamadas de rede externas.
|
|
27
|
-
- Toda requisição é desviada instantaneamente para o próximo provedor da cadeia de fallback.
|
|
28
|
-
- Um temporizador de recuperação (`recoveryTimeout`) de 30 segundos é iniciado.
|
|
29
|
-
- **Gatilho de Transição:** Quando o tempo decorrido atinge ou supera 30 segundos (`tempo >= 30s`), o estado avança linearmente para **HALF_OPEN**.
|
|
30
|
-
|
|
31
|
-
3. **Estado de Sondagem: HALF_OPEN (Meio-Aberto - Teste de Recuperação)**
|
|
32
|
-
- O circuito autoriza uma única requisição de teste para avaliar se o provedor remoto se recuperou da instabilidade.
|
|
33
|
-
- **Bifurcação Linear de Retorno:**
|
|
34
|
-
- **Caso de Sucesso:** Se a requisição de teste for concluída com êxito, o disjuntor é rearmado, o contador de falhas é resetado para zero e o estado retorna para **CLOSED**.
|
|
35
|
-
- **Caso de Falha:** Se a requisição de teste falhar, o disjuntor desarma novamente, o temporizador de cooldown de 30 segundos é reiniciado e o estado retorna para **OPEN**.
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## ⛓️ 3. CADEIA CANÔNICA DE FALLBACK MULTI-PROVEDOR
|
|
40
|
-
A ordem de comutação automática respeita a relação de capacidade, latência e custo:
|
|
41
|
-
|
|
42
|
-
1. **Primário (Fronteira Analítica)**: Anthropic (`claude-3-5-sonnet`) / OpenAI (`gpt-4o`)
|
|
43
|
-
- Em caso de HTTP 429 ou 5xx após 3 tentativas:
|
|
44
|
-
2. **Secundário (Alta Velocidade / Fallback de Fronteira)**: Groq (`llama-3.3-70b-versatile` / `deepseek-r1-distill-llama-70b`)
|
|
45
|
-
- Em caso de falha de conexão:
|
|
46
|
-
3. **Terciário (Resiliência Local / Offline)**: Ollama (`qwen2.5-coder:7b` / `llama3.1:8b`)
|
|
47
|
-
- Execução local em hardware do desenvolvedor com o prompt compactado (`
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## 📊 4. OBSERVABILIDADE & ALERTAS PROMETHEUS
|
|
52
|
-
O módulo expõe as seguintes métricas canônicas:
|
|
53
|
-
- `llm_circuit_breaker_state{provider="anthropic"}`: 0=CLOSED, 1=OPEN, 2=HALF_OPEN
|
|
54
|
-
- `llm_circuit_breaker_fallbacks_total{from="anthropic",to="groq"}`: contador acumulado de chaveamentos
|
|
55
|
-
- `llm_provider_latency_seconds{provider="groq"}`: histograma de latência
|
|
56
|
-
|
|
57
|
-
### Alerta SRE: `LLMAllCircuitsOpen`
|
|
58
|
-
Se todos os provedores da cadeia estiverem com circuito `OPEN`, o agente emite notificação de severidade CRÍTICA no Jira e ativa o modo local estrito.
|
|
1
|
+
# ⚡ PLAYBOOK DE SRE: CIRCUIT BREAKER INTELIGENTE MULTI-PROVEDOR PARA LLMS
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
playbook: sre-circuit-breaker-llm
|
|
5
|
+
versao: 1.0.0
|
|
6
|
+
proprietario: Agente SRE & Observabilidade (AGENT_SRE.md)
|
|
7
|
+
referencia: AGDEV-9 (I-10) / Padrão de Engenharia de Resiliência Michael Nygard
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 🎯 1. OBJETIVO & ESCOPO
|
|
11
|
+
Este playbook estabelece a estratégia de continuidade de negócio e tolerância a falhas para agentes de inteligência artificial diante de instabilidades de provedores de LLM externos (erros HTTP 429 - Rate Limit, 503 - Service Unavailable, 504 - Gateway Timeout ou latência excessiva).
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 🔄 2. MÁQUINA DE ESTADOS DO CIRCUIT BREAKER (TRANSIÇÃO LINEAR DE FLUXO)
|
|
16
|
+
|
|
17
|
+
Cada provedor de IA possui seu próprio disjuntor com 3 estados canônicos, operando através de uma sequência linear determinística em texto:
|
|
18
|
+
|
|
19
|
+
1. **Estado Inicial: CLOSED (Fechado - Operação Normal)**
|
|
20
|
+
- O tráfego de requisições flui normalmente para o provedor primário.
|
|
21
|
+
- Cada chamada bem-sucedida mantém o circuito fechado e zera o contador de erros.
|
|
22
|
+
- Chamadas com falha consecutiva (erros HTTP 429, 500, 502, 503, 504 ou timeout) incrementam o contador.
|
|
23
|
+
- **Gatilho de Transição:** Ao atingir o limite de 3 falhas consecutivas (`failureThreshold >= 3`), o estado transita linearmente para **OPEN**.
|
|
24
|
+
|
|
25
|
+
2. **Estado de Proteção: OPEN (Aberto - Circuito Rompido)**
|
|
26
|
+
- O tráfego para este provedor é bloqueado de forma imediata (Fail-Fast local), sem efetuar chamadas de rede externas.
|
|
27
|
+
- Toda requisição é desviada instantaneamente para o próximo provedor da cadeia de fallback.
|
|
28
|
+
- Um temporizador de recuperação (`recoveryTimeout`) de 30 segundos é iniciado.
|
|
29
|
+
- **Gatilho de Transição:** Quando o tempo decorrido atinge ou supera 30 segundos (`tempo >= 30s`), o estado avança linearmente para **HALF_OPEN**.
|
|
30
|
+
|
|
31
|
+
3. **Estado de Sondagem: HALF_OPEN (Meio-Aberto - Teste de Recuperação)**
|
|
32
|
+
- O circuito autoriza uma única requisição de teste para avaliar se o provedor remoto se recuperou da instabilidade.
|
|
33
|
+
- **Bifurcação Linear de Retorno:**
|
|
34
|
+
- **Caso de Sucesso:** Se a requisição de teste for concluída com êxito, o disjuntor é rearmado, o contador de falhas é resetado para zero e o estado retorna para **CLOSED**.
|
|
35
|
+
- **Caso de Falha:** Se a requisição de teste falhar, o disjuntor desarma novamente, o temporizador de cooldown de 30 segundos é reiniciado e o estado retorna para **OPEN**.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## ⛓️ 3. CADEIA CANÔNICA DE FALLBACK MULTI-PROVEDOR
|
|
40
|
+
A ordem de comutação automática respeita a relação de capacidade, latência e custo:
|
|
41
|
+
|
|
42
|
+
1. **Primário (Fronteira Analítica)**: Anthropic (`claude-3-5-sonnet`) / OpenAI (`gpt-4o`)
|
|
43
|
+
- Em caso de HTTP 429 ou 5xx após 3 tentativas:
|
|
44
|
+
2. **Secundário (Alta Velocidade / Fallback de Fronteira)**: Groq (`llama-3.3-70b-versatile` / `deepseek-r1-distill-llama-70b`)
|
|
45
|
+
- Em caso de falha de conexão:
|
|
46
|
+
3. **Terciário (Resiliência Local / Offline)**: Ollama (`qwen2.5-coder:7b` / `llama3.1:8b`)
|
|
47
|
+
- Execução local em hardware do desenvolvedor com o prompt compactado de alta densidade (`node scripts/core/context_compressor.js --print`).
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 📊 4. OBSERVABILIDADE & ALERTAS PROMETHEUS
|
|
52
|
+
O módulo expõe as seguintes métricas canônicas:
|
|
53
|
+
- `llm_circuit_breaker_state{provider="anthropic"}`: 0=CLOSED, 1=OPEN, 2=HALF_OPEN
|
|
54
|
+
- `llm_circuit_breaker_fallbacks_total{from="anthropic",to="groq"}`: contador acumulado de chaveamentos
|
|
55
|
+
- `llm_provider_latency_seconds{provider="groq"}`: histograma de latência
|
|
56
|
+
|
|
57
|
+
### Alerta SRE: `LLMAllCircuitsOpen`
|
|
58
|
+
Se todos os provedores da cadeia estiverem com circuito `OPEN`, o agente emite notificação de severidade CRÍTICA no Jira e ativa o modo local estrito.
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
# 📡 PLAYBOOK DE SRE: TRACING DISTRIBUÍDO COM OPENTELEMETRY & ANÁLISE DE FLAMEGRAPHS
|
|
2
|
-
|
|
3
|
-
---
|
|
4
|
-
playbook: sre-opentelemetry-tracing
|
|
5
|
-
versao: 1.0.0
|
|
6
|
-
proprietario: Agente SRE & Observabilidade (AGENT_SRE.md)
|
|
7
|
-
referencia: AGDEV-24 (I-8) / RFC W3C TraceContext
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 🎯 1. OBJETIVO & ESCOPO
|
|
11
|
-
Este playbook estabelece o procedimento operacional padrão (SOP) para instrumentação, propagação de contexto de rastreamento distribuído e diagnóstico de latência crítica em requisições lentas (P95/P99) utilizando a especificação **OpenTelemetry (OTel)** e **W3C TraceContext**.
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## 🌐 2. PADRÃO W3C TRACECONTEXT (`traceparent`)
|
|
16
|
-
Toda requisição externa, chamada entre microserviços ou handover entre agentes DEVE propagar o cabeçalho canônico:
|
|
17
|
-
|
|
18
|
-
```http
|
|
19
|
-
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
|
|
20
|
-
│ └───────────────┬────────────────┘ └───────┬──────┘ └─┬┘
|
|
21
|
-
Versão Trace ID Span ID Flags (01 = Sampled)
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
1. **Trace ID (16 bytes / 32 hex chars)**: Identificador único global da transação.
|
|
25
|
-
2. **Span ID (8 bytes / 16 hex chars)**: Identificador da operação específica em execução.
|
|
26
|
-
3. **Parent Span ID**: Vincula a sub-operação à operação chamadora para montagem do DAG de execução.
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## 🔥 3. ANÁLISE DE FLAMEGRAPHS & GARGALOS (CRITICAL PATH)
|
|
31
|
-
A visualização em Flamegraph permite identificar visualmente onde o tempo da requisição foi consumido:
|
|
32
|
-
|
|
33
|
-
```text
|
|
34
|
-
=== FLAMEGRAPH DISTRIBUÍDO [Trace: 6be1fab9a7fb6cef75cb1eb13e532b47] (105ms) ===
|
|
35
|
-
[01] █████████ architect_plan (25ms)
|
|
36
|
-
[02] ██████████████████████ devsecops_implementation (60ms) [GARGALO: 57%]
|
|
37
|
-
[03] █████ revisor_audit (15ms)
|
|
38
|
-
[04] ████████████████████████████████████████ user_goal_execution (105ms)
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### Regras de Classificação de Gargalo:
|
|
42
|
-
- **CRÍTICA**: Span individual consome $\ge 70\%$ do tempo total da transação.
|
|
43
|
-
- **ALTA**: Span individual consome entre $40\%$ e $69\%$ do tempo total.
|
|
44
|
-
- **MÉDIA**: Span individual excede 50ms em chamadas de I/O de banco de dados ou RPCs.
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## 🛠️ 4. FLUXO OPERACIONAL DE AUTO-REMEDIAÇÃO SRE
|
|
49
|
-
Quando o alerta de latência P99 (`LatencyDegradedP99 > 500ms`) for disparado no Prometheus:
|
|
50
|
-
|
|
51
|
-
1. **Localização do Trace**: Consultar os spans com `status.code === 'ERROR'` ou maior duração no Tempo/Jaeger via `traceId`.
|
|
52
|
-
2. **Isolamento de Causa-Raiz (RCA)**:
|
|
53
|
-
- Se o span for de banco de dados (`db.system === 'sqlite' | 'postgres'`): inspecionar queries sem índice ou contenção de lock.
|
|
54
|
-
- Se o span for de LLM (`model.provider === 'openai' | 'groq'`): verificar latência de rede e acionar Circuit Breaker (I-10).
|
|
55
|
-
- Se o span for de compilação ou build: escalonar recursos de CPU/RAM.
|
|
56
|
-
3. **Ação Automatizada**:
|
|
57
|
-
- Purgar caches intermediários ou conexões travadas.
|
|
58
|
-
- Registrar incidente rastreável no Jira com o flamegraph ASCII anexado.
|
|
1
|
+
# 📡 PLAYBOOK DE SRE: TRACING DISTRIBUÍDO COM OPENTELEMETRY & ANÁLISE DE FLAMEGRAPHS
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
playbook: sre-opentelemetry-tracing
|
|
5
|
+
versao: 1.0.0
|
|
6
|
+
proprietario: Agente SRE & Observabilidade (AGENT_SRE.md)
|
|
7
|
+
referencia: AGDEV-24 (I-8) / RFC W3C TraceContext
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 🎯 1. OBJETIVO & ESCOPO
|
|
11
|
+
Este playbook estabelece o procedimento operacional padrão (SOP) para instrumentação, propagação de contexto de rastreamento distribuído e diagnóstico de latência crítica em requisições lentas (P95/P99) utilizando a especificação **OpenTelemetry (OTel)** e **W3C TraceContext**.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 🌐 2. PADRÃO W3C TRACECONTEXT (`traceparent`)
|
|
16
|
+
Toda requisição externa, chamada entre microserviços ou handover entre agentes DEVE propagar o cabeçalho canônico:
|
|
17
|
+
|
|
18
|
+
```http
|
|
19
|
+
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
|
|
20
|
+
│ └───────────────┬────────────────┘ └───────┬──────┘ └─┬┘
|
|
21
|
+
Versão Trace ID Span ID Flags (01 = Sampled)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
1. **Trace ID (16 bytes / 32 hex chars)**: Identificador único global da transação.
|
|
25
|
+
2. **Span ID (8 bytes / 16 hex chars)**: Identificador da operação específica em execução.
|
|
26
|
+
3. **Parent Span ID**: Vincula a sub-operação à operação chamadora para montagem do DAG de execução.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 🔥 3. ANÁLISE DE FLAMEGRAPHS & GARGALOS (CRITICAL PATH)
|
|
31
|
+
A visualização em Flamegraph permite identificar visualmente onde o tempo da requisição foi consumido:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
=== FLAMEGRAPH DISTRIBUÍDO [Trace: 6be1fab9a7fb6cef75cb1eb13e532b47] (105ms) ===
|
|
35
|
+
[01] █████████ architect_plan (25ms)
|
|
36
|
+
[02] ██████████████████████ devsecops_implementation (60ms) [GARGALO: 57%]
|
|
37
|
+
[03] █████ revisor_audit (15ms)
|
|
38
|
+
[04] ████████████████████████████████████████ user_goal_execution (105ms)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Regras de Classificação de Gargalo:
|
|
42
|
+
- **CRÍTICA**: Span individual consome $\ge 70\%$ do tempo total da transação.
|
|
43
|
+
- **ALTA**: Span individual consome entre $40\%$ e $69\%$ do tempo total.
|
|
44
|
+
- **MÉDIA**: Span individual excede 50ms em chamadas de I/O de banco de dados ou RPCs.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 🛠️ 4. FLUXO OPERACIONAL DE AUTO-REMEDIAÇÃO SRE
|
|
49
|
+
Quando o alerta de latência P99 (`LatencyDegradedP99 > 500ms`) for disparado no Prometheus:
|
|
50
|
+
|
|
51
|
+
1. **Localização do Trace**: Consultar os spans com `status.code === 'ERROR'` ou maior duração no Tempo/Jaeger via `traceId`.
|
|
52
|
+
2. **Isolamento de Causa-Raiz (RCA)**:
|
|
53
|
+
- Se o span for de banco de dados (`db.system === 'sqlite' | 'postgres'`): inspecionar queries sem índice ou contenção de lock.
|
|
54
|
+
- Se o span for de LLM (`model.provider === 'openai' | 'groq'`): verificar latência de rede e acionar Circuit Breaker (I-10).
|
|
55
|
+
- Se o span for de compilação ou build: escalonar recursos de CPU/RAM.
|
|
56
|
+
3. **Ação Automatizada**:
|
|
57
|
+
- Purgar caches intermediários ou conexões travadas.
|
|
58
|
+
- Registrar incidente rastreável no Jira com o flamegraph ASCII anexado.
|
package/package.json
CHANGED
|
@@ -1,47 +1,59 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "agent-master-devsecops",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Hub Universal de Agentes Autônomos de Engenharia & Governança Prescritiva com Servidor MCP Nativo",
|
|
5
|
-
"main": "scripts/mcp_server.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"agent-master-devsecops": "scripts/bootstrap_cli.js",
|
|
8
|
-
"agent-master-mcp": "scripts/mcp_server.js",
|
|
9
|
-
"agent-master-init": "scripts/bootstrap_cli.js",
|
|
10
|
-
"agent-bootstrap": "scripts/bootstrap_cli.js",
|
|
11
|
-
"agent-inspector": "scripts/web_inspector.js",
|
|
12
|
-
"agent-onboard": "scripts/smart_onboarding.js",
|
|
13
|
-
"agent-mine-ideas": "scripts/domain_idea_miner.js"
|
|
14
|
-
},
|
|
15
|
-
"scripts": {
|
|
16
|
-
"test": "node --test
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "agent-master-devsecops",
|
|
3
|
+
"version": "5.1.0",
|
|
4
|
+
"description": "Hub Universal de Agentes Autônomos de Engenharia & Governança Prescritiva com Servidor MCP Nativo",
|
|
5
|
+
"main": "scripts/mcp_server.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"agent-master-devsecops": "scripts/bin/bootstrap_cli.js",
|
|
8
|
+
"agent-master-mcp": "scripts/mcp_server.js",
|
|
9
|
+
"agent-master-init": "scripts/bin/bootstrap_cli.js",
|
|
10
|
+
"agent-bootstrap": "scripts/bin/bootstrap_cli.js",
|
|
11
|
+
"agent-inspector": "scripts/bin/web_inspector.js",
|
|
12
|
+
"agent-onboard": "scripts/bin/smart_onboarding.js",
|
|
13
|
+
"agent-mine-ideas": "scripts/bin/domain_idea_miner.js"
|
|
14
|
+
},
|
|
15
|
+
"scripts": {
|
|
16
|
+
"test": "node --test",
|
|
17
|
+
"test:unit": "node --test",
|
|
18
|
+
"test:auditors": "node --test test/auditors/*.test.js",
|
|
19
|
+
"test:bin": "node --test test/bin/*.test.js",
|
|
20
|
+
"test:core": "node --test test/core/*.test.js",
|
|
21
|
+
"test:integrations": "node --test test/integrations/*.test.js",
|
|
22
|
+
"test:mcp": "node --test test/mcp/*.test.js",
|
|
23
|
+
"onboard": "node scripts/bin/smart_onboarding.js",
|
|
24
|
+
"mine:ideas": "node scripts/bin/domain_idea_miner.js",
|
|
25
|
+
"mcp": "node scripts/mcp_server.js",
|
|
26
|
+
"ui": "node scripts/bin/web_inspector.js",
|
|
27
|
+
"sync:confluence": "node scripts/integrations/confluence_sync.js",
|
|
28
|
+
"track:jira": "node scripts/integrations/jira_manager.js --track",
|
|
29
|
+
"standardize:kanban": "node scripts/integrations/jira_manager.js"
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"mcp",
|
|
33
|
+
"model-context-protocol",
|
|
34
|
+
"devsecops",
|
|
35
|
+
"ai-agents",
|
|
36
|
+
"code-review",
|
|
37
|
+
"governance",
|
|
38
|
+
"prescriptive-autonomy",
|
|
39
|
+
"triad-sync",
|
|
40
|
+
"finops",
|
|
41
|
+
"late-binding",
|
|
42
|
+
"smart-onboarding"
|
|
43
|
+
],
|
|
44
|
+
"author": "ContalApps",
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"repository": {
|
|
47
|
+
"type": "git",
|
|
48
|
+
"url": "https://github.com/ContalApps/agent-master-devsecops.git"
|
|
49
|
+
},
|
|
50
|
+
"files": [
|
|
51
|
+
"scripts/",
|
|
52
|
+
"agents/",
|
|
53
|
+
"docs/",
|
|
54
|
+
"README.md"
|
|
55
|
+
],
|
|
56
|
+
"publishConfig": {
|
|
57
|
+
"access": "public"
|
|
58
|
+
}
|
|
59
|
+
}
|