izanagi-ai 2.9.6 → 2.10.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/.manifest +2 -2
- package/CHANGELOG.md +22 -0
- package/README.md +19 -9
- package/SYSTEM.md +46 -5
- package/agents/adversarial-critic-agent.json +72 -11
- package/agents/animation-agent.json +78 -6
- package/agents/architect-agent.json +97 -6
- package/agents/automation-engineer-agent.json +65 -1
- package/agents/bug-hunter-agent.json +78 -5
- package/agents/database-agent.json +83 -6
- package/agents/devops-agent.json +91 -6
- package/agents/discovery-agent.json +70 -2
- package/agents/docs-agent.json +71 -6
- package/agents/evaluator-agent.json +68 -11
- package/agents/form-engineer-agent.json +76 -5
- package/agents/pm-agent.json +75 -6
- package/agents/professor-agent.json +66 -6
- package/agents/qa-agent.json +91 -7
- package/agents/researcher-agent.json +63 -11
- package/agents/security-agent.json +92 -7
- package/agents/senior-engineer-agent.json +118 -8
- package/agents/techlead-agent.json +79 -6
- package/dist/cli/commands/agent.d.ts +4 -0
- package/dist/cli/commands/agent.d.ts.map +1 -1
- package/dist/cli/commands/agent.js +50 -2
- package/dist/cli/commands/agent.js.map +1 -1
- package/dist/cli/commands/skill.d.ts +1 -1
- package/dist/cli/commands/skill.d.ts.map +1 -1
- package/dist/cli/commands/skill.js +31 -3
- package/dist/cli/commands/skill.js.map +1 -1
- package/dist/runtime/evaluation/engine.d.ts +2 -1
- package/dist/runtime/evaluation/engine.d.ts.map +1 -1
- package/dist/runtime/evaluation/engine.js +9 -1
- package/dist/runtime/evaluation/engine.js.map +1 -1
- package/dist/runtime/factories/skill-factory.d.ts.map +1 -1
- package/dist/runtime/factories/skill-factory.js +2 -1
- package/dist/runtime/factories/skill-factory.js.map +1 -1
- package/dist/runtime/routing/resolver.d.ts.map +1 -1
- package/dist/runtime/routing/resolver.js +1 -0
- package/dist/runtime/routing/resolver.js.map +1 -1
- package/dist/runtime/security/skill-scanner.d.ts +3 -0
- package/dist/runtime/security/skill-scanner.d.ts.map +1 -1
- package/dist/runtime/security/skill-scanner.js +13 -2
- package/dist/runtime/security/skill-scanner.js.map +1 -1
- package/dist/runtime/tests/evaluation.test.js +3 -2
- package/dist/runtime/tests/evaluation.test.js.map +1 -1
- package/dist/runtime/tests/factories.test.d.ts +2 -0
- package/dist/runtime/tests/factories.test.d.ts.map +1 -0
- package/dist/runtime/tests/factories.test.js +97 -0
- package/dist/runtime/tests/factories.test.js.map +1 -0
- package/dist/runtime/tests/skill-scanner.test.js +9 -0
- package/dist/runtime/tests/skill-scanner.test.js.map +1 -1
- package/dist/runtime/tests/tools.test.d.ts +2 -0
- package/dist/runtime/tests/tools.test.d.ts.map +1 -0
- package/dist/runtime/tests/tools.test.js +72 -0
- package/dist/runtime/tests/tools.test.js.map +1 -0
- package/dist/runtime/tools/registry.d.ts +47 -0
- package/dist/runtime/tools/registry.d.ts.map +1 -0
- package/dist/runtime/tools/registry.js +127 -0
- package/dist/runtime/tools/registry.js.map +1 -0
- package/package.json +1 -1
package/.manifest
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "izanagi-ai",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.0",
|
|
4
4
|
"description": "Izanagi AI - Modular Skill-Oriented AI Prompt & Agent Framework for Autonomous Software Engineering",
|
|
5
5
|
"author": "Pedro Henrique Sanches Leal",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/pedrohenriquesanchesleal4-debug/izanagi-ai#readme",
|
|
8
|
-
"generatedAt": "2026-08-
|
|
8
|
+
"generatedAt": "2026-08-11T14:02:38.028Z",
|
|
9
9
|
"agents": [
|
|
10
10
|
{
|
|
11
11
|
"id": "adversarial-critic",
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,28 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [2.10.0] — 2026-08-11
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- **Agent Genome (PHASE 7)**: os 18 agentes core agora declaram os 13 campos formais do genome (purpose, capabilities, requiredSkills, optionalSkills, inputs, outputs, constraints, permissions, handoffs, memory, evaluation, tokenBudget, compatibility) — base para scoring e roteamento adaptativo.
|
|
11
|
+
- **Agent Factory via CLI**: `izanagi agent create "<requisito>" [--name=slug] [--skills=a,b]` gera agentes com genome completo em `agents/generated/`, detecta lacuna vs. os 18 core (recusa lacuna já coberta) e é descoberto automaticamente por `loadAgent`/`agent list`.
|
|
12
|
+
- **Skill Factory via CLI**: `izanagi skill create <nome> --gap="..." [--force]` cria skills em `skills/generated/<nome>/SKILL.md` com frontmatter de manifesto, security scan pré-escrita (persiste só com severidade LOW) e recusa de lacuna já coberta; bug de sobrescrita entre skills corrigido (subdir por skill + mkdir do parent).
|
|
13
|
+
- **Tool Registry (MCP-ready)**: `src/runtime/tools/registry.ts` — tools builtin `fs.read`/`fs.write`/`fs.ls` com fluxo discover → permission → validate → execute, sandbox de zona (anti path-traversal) e permissões least-privilege.
|
|
14
|
+
- **Evaluation Engine — veredito UNKNOWN**: sem métricas mensuradas o runtime agora emite **UNKNOWN** com recomendação explícita de evidência (antes: nunca retornava o veredito).
|
|
15
|
+
- **Skill Scanner — DEFENSIVE_CONTEXT**: exemplos educativos/defensivos (não/evite/auditar...) deixaram de ser falsos positivos; `izanagi doctor --deep` passou a varrer as 212 skills sem falso positivo.
|
|
16
|
+
- **Testes**: 14 novos (factories: 6, tools: 7, scanner defensivo) — total 136 testes de runtime passando.
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
- **DNG-001**: regex `\/\b` nunca casava comandos destrutivos → padrão corrigido.
|
|
20
|
+
- **PER-001**: `Array.includes('*')` não detectava wildcards em permissões → `some(p => p.includes('*'))`.
|
|
21
|
+
- **SkillFactory**: todas as skills eram gravadas no mesmo arquivo e `writeFileSync` falhava sem subdir → subdir por skill + `mkdirSync` do parent.
|
|
22
|
+
- **Resolver/CLI**: `loadAgent` e `agent list` não enxergavam `agents/generated/` → agora varrem o diretório gerado.
|
|
23
|
+
|
|
24
|
+
### Documentation
|
|
25
|
+
- SYSTEM.md: novas seções (Execution Pipeline, Agent Factory & Skill Factory, Benchmarks & Regression, Model Router, Tool Registry, Doctor --deep) + tabela de módulos atualizada.
|
|
26
|
+
- README.md: tabela de comandos da CLI reescrita (agent create, skill create --gap, workflow, eval, benchmark, trace, memory, doctor --deep).
|
|
27
|
+
|
|
28
|
+
---
|
|
7
29
|
## [2.9.6] — 2026-08-11
|
|
8
30
|
|
|
9
31
|
### Fixed
|
package/README.md
CHANGED
|
@@ -23,11 +23,19 @@ izanagi --version
|
|
|
23
23
|
| Comando | Descrição |
|
|
24
24
|
|---|---|
|
|
25
25
|
| `izanagi init [dir] [--packs a,b,c]` | Cria projeto com `.agents/` e seleção de packs de skills. |
|
|
26
|
-
| `izanagi run [agent] --task "<task>"` | Analisa a tarefa, seleciona o agente ideal e resolve a cadeia de skills. |
|
|
26
|
+
| `izanagi run [agent] --task "<task>"` | Analisa a tarefa, seleciona o agente ideal e resolve a cadeia de skills (graph + eval + trace via `--runtime`). |
|
|
27
|
+
| `izanagi agent create "<requisito>" [--name=slug] [--skills=a,b]` | Agent Factory: gera agente com genome completo em `agents/generated/` (detecta lacuna vs. 18 core). |
|
|
28
|
+
| `izanagi agent list \| inspect <name>` | Lista/inspeta agentes (inclui `agents/generated/`) com genome. |
|
|
29
|
+
| `izanagi skill create <nome> --gap="<descrição>" [--force]` | Skill Factory: cria skill com frontmatter, security scan pré-escrita e recusa de lacuna já coberta. |
|
|
30
|
+
| `izanagi skill list \| search <q> \| inspect <name>` | Lista, busca e detalha skills. |
|
|
27
31
|
| `izanagi create <agent\|skill> <name>` | Cria scaffold de agente (JSON) ou skill (SKILL.md). |
|
|
28
32
|
| `izanagi compile <agente> [arquivo]` | Compila um System Prompt completo do agente + fundação do sistema. |
|
|
29
|
-
| `izanagi list
|
|
30
|
-
| `izanagi
|
|
33
|
+
| `izanagi workflow list \| inspect <template>` | Templates de grafo de execução por categoria (11). |
|
|
34
|
+
| `izanagi eval <file.json> \| --metrics ... \| --report <run-id>` | Evaluation Engine: métricas ponderadas + veredito (PASS/.../UNKNOWN). |
|
|
35
|
+
| `izanagi benchmark [compare]` | 10 benchmarks builtin + comparação de regressões entre builds. |
|
|
36
|
+
| `izanagi trace [run-id]` | Traces de execução (spans, healing, graph, avaliação). |
|
|
37
|
+
| `izanagi memory inspect \| search <q>` | Estado da memória de execução e busca em `.agents/memoria/`. |
|
|
38
|
+
| `izanagi doctor [--deep]` | Auditoria de integridade; `--deep` adiciona security scan das 212 skills. |
|
|
31
39
|
| `izanagi export --cli <cli>` | Regenera adapters multi-CLI (claude, codex, cursor, copilot, kimi, all). |
|
|
32
40
|
| `izanagi --version` | Exibe a versão da CLI. |
|
|
33
41
|
|
|
@@ -36,10 +44,12 @@ izanagi --version
|
|
|
36
44
|
```bash
|
|
37
45
|
izanagi run "Criar uma landing page de um SaaS de analytics"
|
|
38
46
|
izanagi run architect --task "Design a microservices architecture"
|
|
39
|
-
izanagi create
|
|
40
|
-
izanagi
|
|
41
|
-
izanagi
|
|
42
|
-
izanagi
|
|
47
|
+
izanagi agent create "Especialista em Laravel" --skills=php,api
|
|
48
|
+
izanagi skill create rabbitmq-orchestrator --gap="Orquestração de mensageria RabbitMQ"
|
|
49
|
+
izanagi workflow inspect fullstack
|
|
50
|
+
izanagi eval --metrics correctness=0.9,security=0.8
|
|
51
|
+
izanagi benchmark compare
|
|
52
|
+
izanagi doctor --deep
|
|
43
53
|
```
|
|
44
54
|
|
|
45
55
|
---
|
|
@@ -49,7 +59,7 @@ izanagi doctor
|
|
|
49
59
|
```
|
|
50
60
|
izanagi-ai/
|
|
51
61
|
├── bin/ Executável da CLI (bin/izanagi.js → dist/cli)
|
|
52
|
-
├── src/ Runtime real em TypeScript (orchestrator, evaluation, resolver, scanner, tracer, llm, cli)
|
|
62
|
+
├── src/ Runtime real em TypeScript (orchestrator, evaluation, resolver, scanner, factories, tools, tracer, llm, cli)
|
|
53
63
|
├── core/ Engines (.md) + skill-resolver.json (aliases → targets + compositions)
|
|
54
64
|
├── agents/ 18 definições de agentes em JSON (fonte da verdade dos comandos)
|
|
55
65
|
├── skills/ 212 skills em skills/<name>/SKILL.md (+ references.md opcional)
|
|
@@ -75,7 +85,7 @@ O framework possui **18 agentes especializados** (`/discovery`, `/architect`, `/
|
|
|
75
85
|
npm install # instala dependências
|
|
76
86
|
npm run build # tsc && regenera .manifest
|
|
77
87
|
npm run doctor # auditoria de integridade
|
|
78
|
-
node --test dist/runtime/tests/*.test.js #
|
|
88
|
+
node --test dist/runtime/tests/*.test.js # 136 testes do runtime
|
|
79
89
|
npm run verify # build + teste de instalação em sandbox
|
|
80
90
|
```
|
|
81
91
|
|
package/SYSTEM.md
CHANGED
|
@@ -75,13 +75,20 @@ User Input / Comando CLI
|
|
|
75
75
|
| **Orchestrator** (`orchestrator.ts`) | Executa grafos por categoria (implementation, debugging, testing, database_design, etc.), batches, retry e healing. |
|
|
76
76
|
| **Evaluation Engine** (`evaluation/`) | Métricas ponderadas (correctness, completeness, security, etc.), veredito derivado, relatório com regressões e recomendações. |
|
|
77
77
|
| **Artifact Contracts** (`contracts/artifacts.ts`) | 10+ schemas de artefato (requirements, architecture, database-schema, test-plan...) com validação por campos obrigatórios + tamanho mínimo, em PT-BR. |
|
|
78
|
-
| **Skill Resolver** (`routing/resolver.ts`) | Alias → target (248), parse de frontmatter, scoring por relevância + histórico
|
|
79
|
-
| **Skill Scanner** (`security/skill-scanner.ts`) | 11 regras de segurança sobre skills (INJ, DNG, SCR, PER, NET, SEC) com severidade e
|
|
78
|
+
| **Skill Resolver** (`routing/resolver.ts`) | Alias → target (248), parse de frontmatter, scoring por relevância + histórico; `loadAgent` cobre `agents/` + `agents/generated/`. |
|
|
79
|
+
| **Skill Scanner** (`security/skill-scanner.ts`) | 11 regras de segurança sobre skills (INJ, DNG, SCR, PER, NET, SEC) com severidade, allowlist e `DEFENSIVE_CONTEXT` (ignora exemplos defensivos/educativos). |
|
|
80
|
+
| **Agent Genome** (`agents/*.json`) | 13 campos formais por agente (purpose, capabilities, requiredSkills, optionalSkills, inputs, outputs, constraints, permissions, handoffs, memory, evaluation, tokenBudget, compatibility) — preenchidos nos 18 agentes core. |
|
|
81
|
+
| **Agent Factory** (`factories/agent-factory.ts`) | Gera novos agentes com genome a partir de requisito: detecção de lacuna vs. 18 core, ID slug, skills requeridas/opcionais, validação e escrita em `agents/generated/`. |
|
|
82
|
+
| **Skill Factory** (`factories/skill-factory.ts`) | Cria skills novas com frontmatter, security scan pré-escrita, recusa de lacuna já coberta e escrita em `skills/generated/<name>/SKILL.md`. |
|
|
83
|
+
| **Tool Registry** (`tools/registry.ts`) | Tools builtin (fs.read, fs.write, fs.ls) com sandbox de zona (anti path-traversal), permissões least-privilege e fluxo discover → permission → validate → execute. |
|
|
84
|
+
| **Model Router** (`routing/model-router.ts`) | Seleção de modelo (claude/gpt/opus...) por custo/latência/contexto com fallback e override por env. |
|
|
80
85
|
| **Healing Engine** | `retry` (transitório), `skill_replacement` (artefato inválido), `fallback`, `abort` (limite de tentativas). |
|
|
86
|
+
| **Failure Memory** (`memory/store.ts`) | `recordFailure` + `findRelevantFailures` por categoria: erros reais registrados são injetados como evidência em runs futuros (anti-repetição). |
|
|
81
87
|
| **Memory Store** (`memory/store.ts`) | Stats por agente, learnings, histórico de runs (JSON em disco). |
|
|
82
88
|
| **Trace Store** (`observability/tracer.ts`) | Traces de execução em JSONL com spans, load/close e retry de escrita. |
|
|
89
|
+
| **Benchmarks** (`benchmarks/`) | 10 casos builtin (parse, scoring, scanner, genome, composer...) executáveis via `izanagi benchmark` + `compare` entre builds. |
|
|
83
90
|
| **LLM Executor** (`llm/`) | Adapters reais OpenAI/Anthropic/OpenRouter com env key, timeout e propagação de erro HTTP. |
|
|
84
|
-
| **CLI** (`src/cli/`) | Entrypoint `bin/izanagi.js` → `runCLI` (doctor, audit, resolve, export, init,
|
|
91
|
+
| **CLI** (`src/cli/`) | Entrypoint `bin/izanagi.js` → `runCLI` (doctor --deep, audit, resolve, export, init, agent create, skill create --gap, workflow, trace, eval, benchmark, memory, diagnose...). |
|
|
85
92
|
|
|
86
93
|
## Routing — Classificação por Categoria
|
|
87
94
|
|
|
@@ -109,9 +116,9 @@ Não há "compression engine" mágico: a economia de tokens é uma **skill opera
|
|
|
109
116
|
|
|
110
117
|
Todo output passa por gates reais antes de ser considerado entregue:
|
|
111
118
|
|
|
112
|
-
1. ✅ **Security Gate** — sem segredos no código; `skill-scanner` varre skills por injeção, comandos destrutivos, exfiltração e hardcode (11 regras).
|
|
119
|
+
1. ✅ **Security Gate** — sem segredos no código; `skill-scanner` varre skills por injeção, comandos destrutivos, exfiltração e hardcode (11 regras), ignorando contexto defensivo/educativo.
|
|
113
120
|
2. ✅ **Validation Gate** — artefatos validados contra schema (campos obrigatórios + tamanho mínimo); inválido → healing `skill_replacement`.
|
|
114
|
-
3. ✅ **Evaluation Gate** — métricas ponderadas + veredito (PASS / PASS_WITH_WARNINGS / FAIL / BLOCKED) com recomendações.
|
|
121
|
+
3. ✅ **Evaluation Gate** — métricas ponderadas + veredito (PASS / PASS_WITH_WARNINGS / FAIL / BLOCKED / **UNKNOWN** quando faltam evidências mensuradas) com recomendações.
|
|
115
122
|
4. ✅ **Style Gate** — segue `RULES.md`: anti-"cara de IA", design directions, high-craft.
|
|
116
123
|
5. ✅ **Clarity & Conciseness Gate** — sem fluff; cada frase agrega valor.
|
|
117
124
|
6. ✅ **Completeness Gate** — responde a pergunta, sem pontas soltas (Lei da Entrega Exaustiva).
|
|
@@ -148,6 +155,40 @@ Task → Executar → Avaliar (veredito) → Healing (corrigir) → Logar (stats
|
|
|
148
155
|
|
|
149
156
|
Melhoria contínua acontece por: healing registrado (retry/replacement/abort), stats por agente, learnings persistidos e atualização da memória curada do projeto.
|
|
150
157
|
|
|
158
|
+
## Execution Pipeline (Runtime Adaptativo)
|
|
159
|
+
|
|
160
|
+
O ciclo completo de execução — `Task → Understanding → Planning → Execution Graph → Evaluation → Self-Healing → Reflection → Memory → Evolution` — é suportado por módulos reais:
|
|
161
|
+
|
|
162
|
+
1. **Understanding & Planning** — `requirements` decomposição de requisitos (artefatos em `contracts/artifacts.ts`), classificação da tarefa em categoria.
|
|
163
|
+
2. **Execution Graph** — o Orchestrator monta um grafo por categoria (11 templates: implementation, testing, debugging, database_design...) com `parallelBatches` (nós independentes em paralelo, nós dependentes em sequência) e hooks de execução (`produce`: agêntico / LLM / comando).
|
|
164
|
+
3. **Adaptive Routing** — o resolver pontua skills por relevância + histórico de uso por categoria (scorer com decaimento temporal), nunca lista estática; agents são resolvidos pelo mesmo scoring.
|
|
165
|
+
4. **Evaluation** — métricas ponderadas (correctness, completeness, security, performance, requirementCoverage) com thresholds e veredito derivado; sem métricas mensuradas → **UNKNOWN** com recomendação explícita de evidência.
|
|
166
|
+
5. **Self-Healing & Classification** — healing classificado (retry para transitório, `skill_replacement` para artefato inválido, fallback de modelo, abort por limite); cada healing é registrado com stats por agente.
|
|
167
|
+
6. **Memory & Evolution** — `recordFailure` + `findRelevantFailures` (memória de falhas por categoria), learnings e traces; a memória curada `.agents/memoria/` é atualizada ao fim do ciclo.
|
|
168
|
+
|
|
169
|
+
## Agent Factory & Skill Factory
|
|
170
|
+
|
|
171
|
+
Novos agentes e skills são **gerados, não escritos à mão**:
|
|
172
|
+
|
|
173
|
+
- `izanagi agent create "<requisito>" [--name=slug] [--skills=a,b]` — o Agent Factory detecta lacuna vs. os 18 agentes core (recusa se o core já cobre), deriva ID slug, mapeia skills requeridas/opcionais, monta o genome completo (purpose, capabilities, inputs, outputs, handoffs, memory, evaluation, tokenBudget, compatibility), valida e escreve em `agents/generated/<id>.json` — descoberto automaticamente por `loadAgent`/`agent list`.
|
|
174
|
+
- `izanagi skill create <nome> --gap="<descrição>" [--force]` — o Skill Factory recusa lacunas já cobertas, gera `skills/generated/<nome>/SKILL.md` com frontmatter de manifesto (name, description, version, compatibility, triggers, token_budget), roda o security scanner antes da escrita e só persiste com severidade LOW.
|
|
175
|
+
|
|
176
|
+
## Benchmarks & Regression
|
|
177
|
+
|
|
178
|
+
`izanagi benchmark` executa 10 casos builtin (resolver parse, scoring, skill scanner, genome, composer, artifact validation...); `izanagi benchmark compare` mede regressões entre builds (ex.: `2.9.6 → 2.10.0`) com delta por caso.
|
|
179
|
+
|
|
180
|
+
## Model Router
|
|
181
|
+
|
|
182
|
+
`src/runtime/routing/model-router.ts` seleciona o modelo por custo/latência/contexto (claude/gpt/opus...), com fallback em cadeia e override por env (`IZANAGI_MODEL`). O token budget de cada agente é declarado no genome e respeitado pelo runtime.
|
|
183
|
+
|
|
184
|
+
## Tool Registry (Tools/MCP-ready)
|
|
185
|
+
|
|
186
|
+
`src/runtime/tools/registry.ts` expõe tools builtin (`fs.read`, `fs.write`, `fs.ls`) atrás de um fluxo `discover → permission → validate → execute`: sandbox de zona (bloqueia path traversal via `..`), permissões least-privilege por tool, e schemas prontos para exposição a agentes externos (MCP-ready).
|
|
187
|
+
|
|
188
|
+
## Doctor
|
|
189
|
+
|
|
190
|
+
`izanagi doctor` audita integridade (SYSTEM.md/RULES.md, JSONs de agentes, aliases do resolver → targets); `izanagi doctor --deep` adiciona a varredura de segurança das 212 skills com `DEFENSIVE_CONTEXT` (exemplos educativos de segurança não são falsos positivos).
|
|
191
|
+
|
|
151
192
|
## Versioning
|
|
152
193
|
|
|
153
194
|
Versionamento **SemVer** gerenciado pelo npm (`npm run bump:patch|minor|major` + `npm publish`; versão atual no `package.json`).
|
|
@@ -14,9 +14,29 @@
|
|
|
14
14
|
"self-critique"
|
|
15
15
|
],
|
|
16
16
|
"chains": {
|
|
17
|
-
"critique_code": [
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
"critique_code": [
|
|
18
|
+
"memoria-projeto",
|
|
19
|
+
"code-auditor",
|
|
20
|
+
"security-privacy",
|
|
21
|
+
"anti-ai-slop",
|
|
22
|
+
"qa",
|
|
23
|
+
"memoria-projeto"
|
|
24
|
+
],
|
|
25
|
+
"critique_ui": [
|
|
26
|
+
"memoria-projeto",
|
|
27
|
+
"anti-ai-slop",
|
|
28
|
+
"ux-reviewer",
|
|
29
|
+
"accessibility-reviewer",
|
|
30
|
+
"qa",
|
|
31
|
+
"memoria-projeto"
|
|
32
|
+
],
|
|
33
|
+
"critique_architecture": [
|
|
34
|
+
"memoria-projeto",
|
|
35
|
+
"architecture-patterns",
|
|
36
|
+
"code-auditor",
|
|
37
|
+
"qa",
|
|
38
|
+
"memoria-projeto"
|
|
39
|
+
]
|
|
20
40
|
},
|
|
21
41
|
"capabilities": [
|
|
22
42
|
"caça de bugs e edge cases",
|
|
@@ -25,20 +45,44 @@
|
|
|
25
45
|
"validação de cobertura de requisitos",
|
|
26
46
|
"priorização de fixes por severidade"
|
|
27
47
|
],
|
|
28
|
-
"inputs": [
|
|
29
|
-
|
|
48
|
+
"inputs": [
|
|
49
|
+
"implementação a criticar",
|
|
50
|
+
"requisitos originais"
|
|
51
|
+
],
|
|
52
|
+
"outputs": [
|
|
53
|
+
"critique report (findings com severidade + veredicto)"
|
|
54
|
+
],
|
|
30
55
|
"constraints": [
|
|
31
56
|
"Nunca implementar correções — somente apontar problemas",
|
|
32
57
|
"Cada finding exige justificativa técnica, sem achismo",
|
|
33
58
|
"Não inflar relatório com problemas triviais"
|
|
34
59
|
],
|
|
35
60
|
"handoffs": [
|
|
36
|
-
{
|
|
37
|
-
|
|
38
|
-
|
|
61
|
+
{
|
|
62
|
+
"to": "senior-engineer",
|
|
63
|
+
"reason": "aplicar_fixes"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"to": "evaluator",
|
|
67
|
+
"reason": "avaliacao_final"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"to": "security",
|
|
71
|
+
"reason": "aprofundar_vulnerabilidades"
|
|
72
|
+
}
|
|
39
73
|
],
|
|
40
|
-
"memory": [
|
|
41
|
-
|
|
74
|
+
"memory": [
|
|
75
|
+
"memoria-projeto",
|
|
76
|
+
"handoff-sessao"
|
|
77
|
+
],
|
|
78
|
+
"evaluation": {
|
|
79
|
+
"metrics": [
|
|
80
|
+
"correctness",
|
|
81
|
+
"security",
|
|
82
|
+
"performance"
|
|
83
|
+
],
|
|
84
|
+
"minScore": 0.75
|
|
85
|
+
},
|
|
42
86
|
"compatibility": ">=3.0.0",
|
|
43
87
|
"always": [
|
|
44
88
|
"Emitir veredicto claro (READY / READY_WITH_FIXES / NOT_READY) com lista priorizada de fixes",
|
|
@@ -49,5 +93,22 @@
|
|
|
49
93
|
"Implementar ou corrigir o código criticado",
|
|
50
94
|
"Reportar problemas sem justificativa técnica",
|
|
51
95
|
"Ignorar problemas de segurança por 'baixa probabilidade'"
|
|
52
|
-
]
|
|
96
|
+
],
|
|
97
|
+
"purpose": "Crítica adversarial de implementações: caçar bugs, falhas de segurança, problemas de arquitetura, requisitos faltantes, problemas de performance, edge cases, suposições incorretas, overengineering e AI slop",
|
|
98
|
+
"requiredSkills": [
|
|
99
|
+
"code-auditor",
|
|
100
|
+
"security-privacy",
|
|
101
|
+
"anti-ai-slop",
|
|
102
|
+
"complexity-analyzer",
|
|
103
|
+
"qa",
|
|
104
|
+
"self-critique"
|
|
105
|
+
],
|
|
106
|
+
"optionalSkills": [
|
|
107
|
+
"memoria-projeto",
|
|
108
|
+
"ux-reviewer",
|
|
109
|
+
"accessibility-reviewer",
|
|
110
|
+
"architecture-patterns"
|
|
111
|
+
],
|
|
112
|
+
"permissions": [],
|
|
113
|
+
"tokenBudget": 4000
|
|
53
114
|
}
|
|
@@ -15,10 +15,31 @@
|
|
|
15
15
|
"memoria-projeto"
|
|
16
16
|
],
|
|
17
17
|
"chains": {
|
|
18
|
-
"scrollytelling": [
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
"scrollytelling": [
|
|
19
|
+
"memoria-projeto",
|
|
20
|
+
"animation-web",
|
|
21
|
+
"motion-design",
|
|
22
|
+
"anti-ai-slop",
|
|
23
|
+
"memoria-projeto"
|
|
24
|
+
],
|
|
25
|
+
"webgl_scene": [
|
|
26
|
+
"memoria-projeto",
|
|
27
|
+
"webgl-3d",
|
|
28
|
+
"anti-ai-slop",
|
|
29
|
+
"memoria-projeto"
|
|
30
|
+
],
|
|
31
|
+
"motion_signature": [
|
|
32
|
+
"memoria-projeto",
|
|
33
|
+
"motion-design",
|
|
34
|
+
"anti-ai-slop",
|
|
35
|
+
"memoria-projeto"
|
|
36
|
+
],
|
|
37
|
+
"preloader": [
|
|
38
|
+
"memoria-projeto",
|
|
39
|
+
"animation-web",
|
|
40
|
+
"motion-design",
|
|
41
|
+
"memoria-projeto"
|
|
42
|
+
]
|
|
22
43
|
},
|
|
23
44
|
"always": [
|
|
24
45
|
"Animar exclusivamente propriedades aceleradas por GPU (`transform` e `opacity`) garantindo taxa de quadros constante de 60fps",
|
|
@@ -32,6 +53,57 @@
|
|
|
32
53
|
"Usar animações genéricas sem propósito ou temporizações robóticas lineares sem curva de easing personalizada",
|
|
33
54
|
"Deixar loops de renderização WebGL ou ScrollTriggers executando em segundo plano quando os elementos estão fora da viewport",
|
|
34
55
|
"Compromover a acessibilidade ou legibilidade de texto em prol de efeitos visuais excessivos"
|
|
35
|
-
]
|
|
56
|
+
],
|
|
57
|
+
"purpose": "Motion Engineering & Experiências Cinematográficas Web (Awwwards SOTD / Apple Grade): Scrollytelling, GSAP ScrollTrigger/SplitText, WebGL 3D (Three.js/React Three Fiber), Smooth Scroll (Lenis), Micro-interações e Motion Signature",
|
|
58
|
+
"capabilities": [
|
|
59
|
+
"scrollytelling",
|
|
60
|
+
"webgl",
|
|
61
|
+
"three.js",
|
|
62
|
+
"motion design",
|
|
63
|
+
"gsap",
|
|
64
|
+
"transições de página"
|
|
65
|
+
],
|
|
66
|
+
"requiredSkills": [
|
|
67
|
+
"animation-web",
|
|
68
|
+
"motion-design",
|
|
69
|
+
"webgl-3d",
|
|
70
|
+
"design-directions",
|
|
71
|
+
"ui-ux-pro-max",
|
|
72
|
+
"anti-ai-slop",
|
|
73
|
+
"memoria-projeto"
|
|
74
|
+
],
|
|
75
|
+
"optionalSkills": [],
|
|
76
|
+
"inputs": [
|
|
77
|
+
"task",
|
|
78
|
+
"design direction"
|
|
79
|
+
],
|
|
80
|
+
"outputs": [
|
|
81
|
+
"implementação animada",
|
|
82
|
+
"motion signature"
|
|
83
|
+
],
|
|
84
|
+
"constraints": [
|
|
85
|
+
"Animar propriedades que forçam repintura de layout (Layout Thrashing: `width`, `height`, `top`, `left`, `margin`)",
|
|
86
|
+
"Usar animações genéricas sem propósito ou temporizações robóticas lineares sem curva de easing personalizada",
|
|
87
|
+
"Deixar loops de renderização WebGL ou ScrollTriggers executando em segundo plano quando os elementos estão fora da viewport",
|
|
88
|
+
"Compromover a acessibilidade ou legibilidade de texto em prol de efeitos visuais excessivos"
|
|
89
|
+
],
|
|
90
|
+
"permissions": [],
|
|
91
|
+
"handoffs": [
|
|
92
|
+
{
|
|
93
|
+
"to": "qa-agent",
|
|
94
|
+
"reason": "verificacao"
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"memory": [
|
|
98
|
+
"memoria-projeto"
|
|
99
|
+
],
|
|
100
|
+
"evaluation": {
|
|
101
|
+
"metrics": [
|
|
102
|
+
"correctness",
|
|
103
|
+
"requirementCoverage"
|
|
104
|
+
],
|
|
105
|
+
"minScore": 0.7
|
|
106
|
+
},
|
|
107
|
+
"tokenBudget": 8192,
|
|
108
|
+
"compatibility": ">=2.0.0"
|
|
36
109
|
}
|
|
37
|
-
|
|
@@ -16,10 +16,37 @@
|
|
|
16
16
|
"memoria-projeto"
|
|
17
17
|
],
|
|
18
18
|
"chains": {
|
|
19
|
-
"design_system": [
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
"design_system": [
|
|
20
|
+
"memoria-projeto",
|
|
21
|
+
"requirement-analyzer",
|
|
22
|
+
"architecture-patterns",
|
|
23
|
+
"principal-engineer",
|
|
24
|
+
"sequence-diagram-builder",
|
|
25
|
+
"security-privacy",
|
|
26
|
+
"memoria-projeto"
|
|
27
|
+
],
|
|
28
|
+
"plan_adr": [
|
|
29
|
+
"memoria-projeto",
|
|
30
|
+
"architecture-patterns",
|
|
31
|
+
"principal-engineer",
|
|
32
|
+
"memoria-projeto"
|
|
33
|
+
],
|
|
34
|
+
"review_architecture": [
|
|
35
|
+
"memoria-projeto",
|
|
36
|
+
"architecture-patterns",
|
|
37
|
+
"security-privacy",
|
|
38
|
+
"code-auditor",
|
|
39
|
+
"memoria-projeto"
|
|
40
|
+
],
|
|
41
|
+
"new_feature": [
|
|
42
|
+
"memoria-projeto",
|
|
43
|
+
"deep-research",
|
|
44
|
+
"requirement-analyzer",
|
|
45
|
+
"architecture-patterns",
|
|
46
|
+
"sequence-diagram-builder",
|
|
47
|
+
"security-privacy",
|
|
48
|
+
"memoria-projeto"
|
|
49
|
+
]
|
|
23
50
|
},
|
|
24
51
|
"always": [
|
|
25
52
|
"Documentar formalmente decisões arquiteturais relevantes via ADRs estruturadas (Contexto, Decisão, Consequências Positivas/Negativas)",
|
|
@@ -33,6 +60,70 @@
|
|
|
33
60
|
"Permitir que classes de entidade de domínio importem ORMs, bibliotecas de HTTP ou detalhes do banco de dados",
|
|
34
61
|
"Tomar decisões arquiteturais sem analisar e explicitar os trade-offs de latência, throughput, complexidade e manutenibilidade",
|
|
35
62
|
"Criar dependências circulares entre módulos ou Bounded Contexts distintos"
|
|
36
|
-
]
|
|
63
|
+
],
|
|
64
|
+
"purpose": "System Design de alta escala, Clean Architecture, DDD, CQRS, Hexagonal Architecture, ADRs, contratos de API e trade-offs operacionais",
|
|
65
|
+
"capabilities": [
|
|
66
|
+
"system design",
|
|
67
|
+
"clean architecture",
|
|
68
|
+
"ddd",
|
|
69
|
+
"cqrs",
|
|
70
|
+
"adrs",
|
|
71
|
+
"análise de trade-offs"
|
|
72
|
+
],
|
|
73
|
+
"requiredSkills": [
|
|
74
|
+
"architecture-patterns",
|
|
75
|
+
"principal-engineer",
|
|
76
|
+
"requirement-analyzer",
|
|
77
|
+
"sequence-diagram-builder",
|
|
78
|
+
"security-privacy",
|
|
79
|
+
"deep-research",
|
|
80
|
+
"task-planner",
|
|
81
|
+
"memoria-projeto"
|
|
82
|
+
],
|
|
83
|
+
"optionalSkills": [
|
|
84
|
+
"code-auditor"
|
|
85
|
+
],
|
|
86
|
+
"inputs": [
|
|
87
|
+
"requirements",
|
|
88
|
+
"contexto do domínio"
|
|
89
|
+
],
|
|
90
|
+
"outputs": [
|
|
91
|
+
"architecture",
|
|
92
|
+
"adr",
|
|
93
|
+
"implementation plan"
|
|
94
|
+
],
|
|
95
|
+
"constraints": [
|
|
96
|
+
"Propor arquiteturas de microsserviços hiper-fragmentados quando um Monólito Modular atende a todos os SLAs com menor custo operacional",
|
|
97
|
+
"Permitir que classes de entidade de domínio importem ORMs, bibliotecas de HTTP ou detalhes do banco de dados",
|
|
98
|
+
"Tomar decisões arquiteturais sem analisar e explicitar os trade-offs de latência, throughput, complexidade e manutenibilidade",
|
|
99
|
+
"Criar dependências circulares entre módulos ou Bounded Contexts distintos"
|
|
100
|
+
],
|
|
101
|
+
"permissions": [],
|
|
102
|
+
"handoffs": [
|
|
103
|
+
{
|
|
104
|
+
"to": "senior-engineer-agent",
|
|
105
|
+
"reason": "implementacao"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"to": "database-agent",
|
|
109
|
+
"reason": "schema_required"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"to": "security-agent",
|
|
113
|
+
"reason": "threat_modeling"
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"memory": [
|
|
117
|
+
"memoria-projeto",
|
|
118
|
+
"handoff-sessao"
|
|
119
|
+
],
|
|
120
|
+
"evaluation": {
|
|
121
|
+
"metrics": [
|
|
122
|
+
"correctness",
|
|
123
|
+
"requirementCoverage"
|
|
124
|
+
],
|
|
125
|
+
"minScore": 0.7
|
|
126
|
+
},
|
|
127
|
+
"tokenBudget": 8192,
|
|
128
|
+
"compatibility": ">=2.0.0"
|
|
37
129
|
}
|
|
38
|
-
|
|
@@ -96,5 +96,69 @@
|
|
|
96
96
|
"BeautifulSoup: https://www.crummy.com/software/BeautifulSoup/bs4/doc/ · Pydantic: https://docs.pydantic.dev · SQLAlchemy: https://docs.sqlalchemy.org",
|
|
97
97
|
"pytest: https://docs.pytest.org · pytest-playwright: https://playwright.dev/python/docs/test-runners",
|
|
98
98
|
"12-factor config: https://12factor.net/config · python-dotenv: https://github.com/theskumar/python-dotenv"
|
|
99
|
-
]
|
|
99
|
+
],
|
|
100
|
+
"purpose": "Engenheiro de Automações Profissionais — decompõe o processo, pesquisa soluções existentes, escolhe a melhor stack (qualquer linguagem: Python, TypeScript, C#, Go, Bash... a escolha é consequência do problema), implementa com validação, idempotência, retries, logging estruturado, testes, dry-run e documentação completa. Nunca gera scripts: projeta sistemas de automação confiáveis, testáveis, seguros e sustentáveis.",
|
|
101
|
+
"capabilities": [
|
|
102
|
+
"automação profissional",
|
|
103
|
+
"python",
|
|
104
|
+
"etl",
|
|
105
|
+
"planilhas",
|
|
106
|
+
"browser automation",
|
|
107
|
+
"integração de apis"
|
|
108
|
+
],
|
|
109
|
+
"requiredSkills": [
|
|
110
|
+
"automation-engineer",
|
|
111
|
+
"automation-planning",
|
|
112
|
+
"automation-research",
|
|
113
|
+
"technology-selection",
|
|
114
|
+
"spreadsheet-automation",
|
|
115
|
+
"browser-automation",
|
|
116
|
+
"api-automation",
|
|
117
|
+
"data-validation",
|
|
118
|
+
"error-recovery",
|
|
119
|
+
"testing-automation",
|
|
120
|
+
"automation-security",
|
|
121
|
+
"automation-optimization",
|
|
122
|
+
"automation-documentation"
|
|
123
|
+
],
|
|
124
|
+
"optionalSkills": [
|
|
125
|
+
"data-engineering"
|
|
126
|
+
],
|
|
127
|
+
"inputs": [
|
|
128
|
+
"task",
|
|
129
|
+
"fontes de dados"
|
|
130
|
+
],
|
|
131
|
+
"outputs": [
|
|
132
|
+
"automação",
|
|
133
|
+
"readme",
|
|
134
|
+
"testes pytest"
|
|
135
|
+
],
|
|
136
|
+
"constraints": [
|
|
137
|
+
"Gerar scripts descartáveis — toda automação é um sistema com validação, testes, logs e documentação",
|
|
138
|
+
"Escolher browser automation quando existe API oficial confiável (hierarquia: API > integração direta > HTTP > browser > UI gráfica)",
|
|
139
|
+
"Hardcodar credenciais, tokens ou dados sensíveis em qualquer lugar visível",
|
|
140
|
+
"Ignorar falhas silenciosamente ou retry infinito em erros permanentes",
|
|
141
|
+
"Entregar sem documentação (README) e sem relatório final de execução",
|
|
142
|
+
"Perguntar o que pode ser descoberto (análise de arquivos, documentação, pesquisa, testes)"
|
|
143
|
+
],
|
|
144
|
+
"permissions": [],
|
|
145
|
+
"handoffs": [
|
|
146
|
+
{
|
|
147
|
+
"to": "qa-agent",
|
|
148
|
+
"reason": "verificacao"
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"memory": [
|
|
152
|
+
"memoria-projeto",
|
|
153
|
+
"handoff-sessao"
|
|
154
|
+
],
|
|
155
|
+
"evaluation": {
|
|
156
|
+
"metrics": [
|
|
157
|
+
"correctness",
|
|
158
|
+
"requirementCoverage"
|
|
159
|
+
],
|
|
160
|
+
"minScore": 0.7
|
|
161
|
+
},
|
|
162
|
+
"tokenBudget": 8192,
|
|
163
|
+
"compatibility": ">=2.0.0"
|
|
100
164
|
}
|