izanagi-ai 2.9.5 → 2.9.6
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/AGENTS.md +9 -5
- package/CHANGELOG.md +19 -0
- package/README.md +32 -77
- package/SYSTEM.md +87 -122
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +113 -17
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/prompts.d.ts.map +1 -1
- package/dist/cli/prompts.js +1 -3
- package/dist/cli/prompts.js.map +1 -1
- package/dist/runtime/benchmarks/runner.d.ts.map +1 -1
- package/dist/runtime/benchmarks/runner.js +6 -15
- package/dist/runtime/benchmarks/runner.js.map +1 -1
- package/dist/runtime/llm/client.d.ts +77 -0
- package/dist/runtime/llm/client.d.ts.map +1 -0
- package/dist/runtime/llm/client.js +225 -0
- package/dist/runtime/llm/client.js.map +1 -0
- package/dist/runtime/orchestration/planner.d.ts.map +1 -1
- package/dist/runtime/orchestration/planner.js +36 -0
- package/dist/runtime/orchestration/planner.js.map +1 -1
- package/dist/runtime/orchestrator.d.ts +2 -0
- package/dist/runtime/orchestrator.d.ts.map +1 -1
- package/dist/runtime/orchestrator.js +34 -19
- package/dist/runtime/orchestrator.js.map +1 -1
- package/dist/runtime/recovery/healing.js +1 -1
- package/dist/runtime/recovery/healing.js.map +1 -1
- package/dist/runtime/security/skill-scanner.d.ts.map +1 -1
- package/dist/runtime/security/skill-scanner.js +9 -3
- package/dist/runtime/security/skill-scanner.js.map +1 -1
- package/dist/runtime/tests/learning.test.d.ts +2 -0
- package/dist/runtime/tests/learning.test.d.ts.map +1 -0
- package/dist/runtime/tests/learning.test.js +74 -0
- package/dist/runtime/tests/learning.test.js.map +1 -0
- package/dist/runtime/tests/llm.test.d.ts +2 -0
- package/dist/runtime/tests/llm.test.d.ts.map +1 -0
- package/dist/runtime/tests/llm.test.js +97 -0
- package/dist/runtime/tests/llm.test.js.map +1 -0
- package/dist/runtime/tests/orchestrator.test.d.ts +2 -0
- package/dist/runtime/tests/orchestrator.test.d.ts.map +1 -0
- package/dist/runtime/tests/orchestrator.test.js +154 -0
- package/dist/runtime/tests/orchestrator.test.js.map +1 -0
- package/dist/runtime/tests/skill-scanner.test.d.ts +2 -0
- package/dist/runtime/tests/skill-scanner.test.d.ts.map +1 -0
- package/dist/runtime/tests/skill-scanner.test.js +90 -0
- package/dist/runtime/tests/skill-scanner.test.js.map +1 -0
- package/package.json +1 -1
- package/skills/alternative-solution-generator/SKILL.md +9 -0
- package/skills/breaking-change-detector/SKILL.md +9 -0
- package/skills/bug-hunter/SKILL.md +9 -0
- package/skills/bug-prevention/SKILL.md +9 -0
- package/skills/clean-code-validator/SKILL.md +9 -0
- package/skills/complexity-analyzer/SKILL.md +9 -0
- package/skills/cto-advisor/SKILL.md +9 -0
- package/skills/debug-specialist/SKILL.md +9 -0
- package/skills/dependency-analyzer/SKILL.md +9 -0
- package/skills/design-pattern-advisor/SKILL.md +9 -0
- package/skills/documentation-writer/SKILL.md +9 -0
- package/skills/dry-kiss-yagni-validator/SKILL.md +9 -0
- package/skills/er-diagram-builder/SKILL.md +9 -0
- package/skills/logging-expert/SKILL.md +9 -0
- package/skills/performance-optimizer/SKILL.md +9 -0
- package/skills/project-manager/SKILL.md +9 -0
- package/skills/refactoring-specialist/SKILL.md +9 -0
- package/skills/release-planner/SKILL.md +9 -0
- package/skills/risk-analyzer/SKILL.md +9 -0
- package/skills/root-cause-analyzer/SKILL.md +9 -0
- package/skills/scalability-expert/SKILL.md +9 -0
- package/skills/senior-code-reviewer/SKILL.md +9 -0
- package/skills/software-architect/SKILL.md +9 -0
- package/skills/solid-validator/SKILL.md +9 -0
- package/skills/technical-debt-analyzer/SKILL.md +9 -0
- package/skills/tradeoff-analyzer/SKILL.md +9 -0
- package/skills/uml-generator/SKILL.md +9 -0
package/.manifest
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "izanagi-ai",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.6",
|
|
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-11T13:30:16.996Z",
|
|
9
9
|
"agents": [
|
|
10
10
|
{
|
|
11
11
|
"id": "adversarial-critic",
|
package/AGENTS.md
CHANGED
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
|
|
9
9
|
## 1. Visão Geral do Framework
|
|
10
10
|
|
|
11
|
-
Izanagi AI é um **framework meta** para engenharia de software autônoma orientada a agentes: arquitetura em camadas (
|
|
11
|
+
Izanagi AI é um **framework meta** para engenharia de software autônoma orientada a agentes: arquitetura em camadas (Routing → Orchestration → Evaluation → Healing → Memory), biblioteca de skills especializadas, **Skill Composer** (15 composições de skills encadeadas por domínio), **18 agentes especializados**, **Memória Persistente Anti-Repetição** (`.agents/memoria/`), **Curadoria de Referências** (`references/`), **Checkpoint & Self-Healing Swarm Engine**, e uma **CLI executável (`izanagi`)** publicada no npm (`izanagi-ai`). Este repositório É o framework (não um app que o usa).
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
-
## 2. Os
|
|
15
|
+
## 2. Os 18 Agentes & Comandos Opencode (`/`)
|
|
16
16
|
|
|
17
|
-
O framework conta com **
|
|
17
|
+
O framework conta com **18 agentes especializados** em `agents/*.json` + orquestrador `/agents` (`.opencode/agent/agents.md`). Por padrão, tarefas complexas ativam o **Multi-Agent Swarm Mode** (execução paralela concorrente de múltiplos especialistas).
|
|
18
18
|
|
|
19
19
|
| Comando | Arquivo | Papel & Especialidade |
|
|
20
20
|
|---|---|---|
|
|
@@ -33,6 +33,10 @@ O framework conta com **14 agentes especializados** em `agents/*.json` + orquest
|
|
|
33
33
|
| `/docs` | `agents/docs-agent.json` | Docs técnicos, READMEs, diagramas |
|
|
34
34
|
| `/pm` | `agents/pm-agent.json` | Sprints, milestones, riscos |
|
|
35
35
|
| `/professor` | `agents/professor-agent.json` | Ensino adaptativo, explicações |
|
|
36
|
+
| `/researcher` | `agents/researcher-agent.json` | Investigação aprofundada, síntese de fontes |
|
|
37
|
+
| `/evaluator` | `agents/evaluator-agent.json` | Critério técnico, avaliação objetiva de entregas |
|
|
38
|
+
| `/adversarial-critic` | `agents/adversarial-critic-agent.json` | Crítica destrutiva-construtiva, pontos cegos |
|
|
39
|
+
| `/form-engineer` | `agents/form-engineer-agent.json` | Formulários high-craft: validação, wizard, acessibilidade |
|
|
36
40
|
|
|
37
41
|
---
|
|
38
42
|
|
|
@@ -58,8 +62,8 @@ npm publish # prepublishOnly roda build; depois: git push
|
|
|
58
62
|
## 4. Estrutura do Framework
|
|
59
63
|
|
|
60
64
|
- `core/` — 10 engines (.md, incluindo `skill-composer.md` e `checkpoint-healing-engine.md`) + **`skill-resolver.json`** (mapa alias → target + seção `compositions`)
|
|
61
|
-
- `agents/` —
|
|
62
|
-
- `skills/` —
|
|
65
|
+
- `agents/` — 18 definições de agentes em JSON (fonte da verdade para os comandos) com `chains` compostas
|
|
66
|
+
- `skills/` — 212 skills em `skills/<name>/SKILL.md` (+ `references.md` opcional), incluindo `design-directions` (Style Selector por indústria), `ui-ux-pro-max` (design system com motor BM25 offline em Node) e `anti-ai-slop` (auditoria zero "cara de IA")
|
|
63
67
|
- `references/` — curadoria de referências reais por domínio (webgl-3d, scrollytelling, ui-design-systems, stack-2026, performance-seo)
|
|
64
68
|
- `.agents/memoria/` — memória persistente anti-repetição: `contexto.md`, `decisoes.md`, `erros-corrigidos.md`, `learnings.md`
|
|
65
69
|
- `.opencode/agent/` — comandos slash do Opencode; adapters equivalentes gerados sob demanda em `.claude/`, `.codex/`, `.cursor/`, `.github/`, `.kimi/`
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,25 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [2.9.6] — 2026-08-11
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
- **Healing Engine**: skill_replacement agora aplica de fato a substituicao de skill no no (reescreve node.skills com a skill de fallback) em vez de apenas registrar a intencao; validacao usa validateArtifact em PT-BR com healing por artefato invalido.
|
|
11
|
+
- **Orchestrator**: avaliacao final consome o artefato test-results para reportar regressoes (testes falhando -> FAIL/BLOCKED com recomendacao); healing de validacao respeita retryNow com tentativas limitadas.
|
|
12
|
+
- **Skill Scanner**: regras reais funcionando — DNG-001 (comando destrutivo), PER-001 (permissoes wildcard), SCR-001 (scripts no frontmatter), NET-001/002, SEC-001, INJ-001/003, DNG-002/003/004.
|
|
13
|
+
- **LLM Executor**: adapters reais OpenAI/Anthropic/OpenRouter com validacao de env key, timeout e propagacao de erro HTTP (antes: stub inerte).
|
|
14
|
+
- **Memory/Trace**: agent stats persistidos e traces JSONL com load/list/retry de escrita.
|
|
15
|
+
- **Documentacao**: SYSTEM.md reescrito com a arquitetura real do runtime, AGENTS.md atualizado para 18 agentes / 212 skills / 15 composicoes, README.md reescrito.
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
- **122 testes de runtime** (node --test dist/runtime/tests/*.test.js): orchestrator (ciclo completo, retry, abort, skill_replacement, regressoes), evaluation, artifact contracts, resolver, scanner, memory, tracer, llm.
|
|
19
|
+
- **Frontmatter de metadados** (name, description, version, compatibility, triggers, token_budget) em 27 skills que nao declaravam.
|
|
20
|
+
|
|
21
|
+
### Enhanced
|
|
22
|
+
- Composicoes do resolver mapeadas por categoria de runtime (implementation, testing, debugging, database_design).
|
|
23
|
+
- .agents/memoria/ sincronizada com os aprendizados reais da sessao.
|
|
24
|
+
|
|
25
|
+
---
|
|
7
26
|
## [2.8.0] — 2026-08-10
|
|
8
27
|
|
|
9
28
|
### Added
|
package/README.md
CHANGED
|
@@ -1,50 +1,20 @@
|
|
|
1
1
|
# Izanagi AI
|
|
2
2
|
|
|
3
|
-
Framework modular
|
|
3
|
+
Framework **meta** modular e skill-oriented para engenharia de software autônoma orientada a agentes: routing → orquestração → avaliação → healing → memória, com 18 agentes especializados, 212 skills e uma CLI executável publicada no npm (`izanagi-ai`).
|
|
4
4
|
|
|
5
|
-
> **Filosofia:** Arquitetura primeiro. Código depois. Qualidade medida. Evolução contínua.
|
|
5
|
+
> **Filosofia:** Arquitetura primeiro. Código depois. Qualidade medida. Evolução contínua. Zero "cara de IA".
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## Instalação
|
|
10
10
|
|
|
11
|
-
O Izanagi AI possui uma **CLI executável** que pode ser instalada globalmente ou usada via `npx`.
|
|
12
|
-
|
|
13
11
|
```bash
|
|
14
|
-
#
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
# Ou execução direta via npx (sem instalar)
|
|
18
|
-
npx izanagi <comando>
|
|
19
|
-
|
|
20
|
-
# Agora use diretamente os comandos izanagi / izanagi-ai
|
|
12
|
+
npm install -g izanagi-ai # instalação global
|
|
13
|
+
npx izanagi <comando> # ou execução direta sem instalar
|
|
21
14
|
izanagi --version
|
|
22
15
|
```
|
|
23
16
|
|
|
24
|
-
>
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Iniciando um projeto
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
# Cria o projeto com seleção interativa de packs de skills (.agents/)
|
|
32
|
-
izanagi init my-project
|
|
33
|
-
|
|
34
|
-
# Ou especifique os packs diretamente (core é sempre incluído)
|
|
35
|
-
izanagi init my-project --packs core,agents,coding,database
|
|
36
|
-
|
|
37
|
-
# Entre no projeto e comece a usar
|
|
38
|
-
cd my-project
|
|
39
|
-
izanagi run "Create a login page"
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
O `init` cria:
|
|
43
|
-
- `.agents/` — skills, agentes e engines selecionados
|
|
44
|
-
- `.izanagi/izanagi.config.json` — configuração local do projeto
|
|
45
|
-
- `opencode.json` — auto-carrega o framework quando o opencode abre o projeto
|
|
46
|
-
|
|
47
|
-
**Packs disponíveis:** `core` (obrigatório), `agents`, `skills`, `architecture`, `coding`, `database`, `devops`, `security`, `testing`, `memory`, `optimization`, `teaching`.
|
|
17
|
+
> O pacote é publicado como `izanagi-ai`; bins: `izanagi` e `izanagi-ai`.
|
|
48
18
|
|
|
49
19
|
---
|
|
50
20
|
|
|
@@ -53,67 +23,49 @@ O `init` cria:
|
|
|
53
23
|
| Comando | Descrição |
|
|
54
24
|
|---|---|
|
|
55
25
|
| `izanagi init [dir] [--packs a,b,c]` | Cria projeto com `.agents/` e seleção de packs de skills. |
|
|
56
|
-
| `izanagi run [agent] --task "<task>"` | Analisa a tarefa, seleciona o agente ideal e resolve a
|
|
57
|
-
| `izanagi create <agent\|skill> <name>` | Cria scaffold de agente (JSON) ou skill (SKILL.md)
|
|
26
|
+
| `izanagi run [agent] --task "<task>"` | Analisa a tarefa, seleciona o agente ideal e resolve a cadeia de skills. |
|
|
27
|
+
| `izanagi create <agent\|skill> <name>` | Cria scaffold de agente (JSON) ou skill (SKILL.md). |
|
|
58
28
|
| `izanagi compile <agente> [arquivo]` | Compila um System Prompt completo do agente + fundação do sistema. |
|
|
59
|
-
| `izanagi list [skills\|agents]` | Lista
|
|
60
|
-
| `izanagi doctor` |
|
|
29
|
+
| `izanagi list [skills\|agents]` | Lista skills e agentes registrados com aliases. |
|
|
30
|
+
| `izanagi doctor` | Auditoria de integridade: SYSTEM/RULES, JSONs de agentes, aliases → targets. |
|
|
31
|
+
| `izanagi export --cli <cli>` | Regenera adapters multi-CLI (claude, codex, cursor, copilot, kimi, all). |
|
|
61
32
|
| `izanagi --version` | Exibe a versão da CLI. |
|
|
62
33
|
|
|
63
34
|
### Exemplos
|
|
64
35
|
|
|
65
36
|
```bash
|
|
66
|
-
|
|
67
|
-
izanagi run "Create a login page"
|
|
68
|
-
|
|
69
|
-
# Agente específico com task explícita
|
|
37
|
+
izanagi run "Criar uma landing page de um SaaS de analytics"
|
|
70
38
|
izanagi run architect --task "Design a microservices architecture"
|
|
71
|
-
|
|
72
|
-
# Agente customizado criado no projeto
|
|
73
|
-
izanagi create agent my-agent
|
|
74
|
-
izanagi run my-agent --task "Create a login page"
|
|
75
|
-
|
|
76
|
-
# Compilar system prompt completo para um agente
|
|
39
|
+
izanagi create skill meu-fluxo
|
|
77
40
|
izanagi compile architect prompt_arquiteto.md
|
|
78
|
-
|
|
79
|
-
# Listar e validar
|
|
80
41
|
izanagi list skills
|
|
81
42
|
izanagi doctor
|
|
82
43
|
```
|
|
83
44
|
|
|
84
45
|
---
|
|
85
46
|
|
|
86
|
-
## Estrutura do
|
|
47
|
+
## Estrutura do Repositório
|
|
87
48
|
|
|
88
49
|
```
|
|
89
50
|
izanagi-ai/
|
|
90
|
-
├── bin/
|
|
91
|
-
├── src/
|
|
92
|
-
├── core/
|
|
93
|
-
├── agents/
|
|
94
|
-
├── skills/
|
|
95
|
-
├──
|
|
96
|
-
├──
|
|
97
|
-
├──
|
|
98
|
-
├──
|
|
99
|
-
├──
|
|
100
|
-
|
|
101
|
-
├── testing/ Testes unitários, integração, E2E
|
|
102
|
-
├── devops/ Docker, CI/CD, infraestrutura
|
|
103
|
-
├── database/ SQL, NoSQL, otimização
|
|
104
|
-
├── frontend/ Skills de frontend
|
|
105
|
-
├── backend/ Skills de backend
|
|
106
|
-
├── package.json Configuração NPM para publicação CLI
|
|
107
|
-
├── README.md Documentação principal
|
|
108
|
-
├── SYSTEM.md Fundação do sistema
|
|
109
|
-
└── RULES.md Regras operacionais
|
|
51
|
+
├── bin/ Executável da CLI (bin/izanagi.js → dist/cli)
|
|
52
|
+
├── src/ Runtime real em TypeScript (orchestrator, evaluation, resolver, scanner, tracer, llm, cli)
|
|
53
|
+
├── core/ Engines (.md) + skill-resolver.json (aliases → targets + compositions)
|
|
54
|
+
├── agents/ 18 definições de agentes em JSON (fonte da verdade dos comandos)
|
|
55
|
+
├── skills/ 212 skills em skills/<name>/SKILL.md (+ references.md opcional)
|
|
56
|
+
├── references/ Curadoria de referências reais por domínio (webgl-3d, scrollytelling, stack-2026...)
|
|
57
|
+
├── .agents/memoria/ Memória persistente anti-repetição (contexto, decisoes, erros-corrigidos, learnings)
|
|
58
|
+
├── .opencode/ Comandos slash do Opencode (adapters em .claude/, .codex/, .cursor/...)
|
|
59
|
+
├── AGENTS.md Instruções de operação do framework
|
|
60
|
+
├── SYSTEM.md Fundação do sistema (arquitetura real do runtime)
|
|
61
|
+
└── RULES.md Regras operacionais (Anti-Generic High-Craft & Cinematic UI)
|
|
110
62
|
```
|
|
111
63
|
|
|
112
64
|
---
|
|
113
65
|
|
|
114
66
|
## Agentes e Skills
|
|
115
67
|
|
|
116
|
-
O framework possui **
|
|
68
|
+
O framework possui **18 agentes especializados** (`/discovery`, `/architect`, `/senior-engineer`, `/techlead`, `/automation-engineer`, `/security`, `/devops`, `/database`, `/qa`, `/bug-hunter`, `/docs`, `/pm`, `/professor`, `/researcher`, `/evaluator`, `/adversarial-critic`, `/form-engineer`, `/animation`) e **212 skills** encadeadas por domínio via `compositions` do `core/skill-resolver.json` (248 aliases, 15 composições). Ver `AGENTS.md` para a tabela completa.
|
|
117
69
|
|
|
118
70
|
---
|
|
119
71
|
|
|
@@ -121,16 +73,19 @@ O framework possui **111+ skills** e **10 agentes especializados** encadeados di
|
|
|
121
73
|
|
|
122
74
|
```bash
|
|
123
75
|
npm install # instala dependências
|
|
124
|
-
npm run build #
|
|
125
|
-
npm run doctor #
|
|
126
|
-
|
|
76
|
+
npm run build # tsc && regenera .manifest
|
|
77
|
+
npm run doctor # auditoria de integridade
|
|
78
|
+
node --test dist/runtime/tests/*.test.js # 122 testes do runtime
|
|
79
|
+
npm run verify # build + teste de instalação em sandbox
|
|
127
80
|
```
|
|
128
81
|
|
|
82
|
+
> **Gotcha:** `dist/` é gitignored e `bin/izanagi.js` importa de `../dist/cli/index.js` — rode `npm run build` antes de qualquer comando CLI local.
|
|
83
|
+
|
|
129
84
|
### Publicando no NPM
|
|
130
85
|
|
|
131
86
|
```bash
|
|
132
87
|
npm run bump:patch # ou bump:minor / bump:major
|
|
133
|
-
npm publish
|
|
88
|
+
npm publish # prepublishOnly roda o build automaticamente
|
|
134
89
|
```
|
|
135
90
|
|
|
136
91
|
---
|
package/SYSTEM.md
CHANGED
|
@@ -36,173 +36,138 @@ Every decision, every line of code, every interaction passes through a layered e
|
|
|
36
36
|
## Architecture Overview
|
|
37
37
|
|
|
38
38
|
```
|
|
39
|
-
User Input
|
|
39
|
+
User Input / Comando CLI
|
|
40
40
|
│
|
|
41
41
|
▼
|
|
42
|
-
|
|
43
|
-
│
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
│
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
└─────────────────────┘
|
|
70
|
-
│
|
|
71
|
-
▼
|
|
72
|
-
Output
|
|
42
|
+
┌────────────────────────────┐
|
|
43
|
+
│ Skill Resolver │ ← aliases → paths, frontmatter, scoring,
|
|
44
|
+
│ (core/skill-resolver.json)│ composições por domínio
|
|
45
|
+
└─────────────┬──────────────┘
|
|
46
|
+
▼
|
|
47
|
+
┌────────────────────────────┐
|
|
48
|
+
│ Orchestrator Runtime │ ← template de grafo por categoria,
|
|
49
|
+
│ (src/runtime/) │ executeBatches, hooks de execução
|
|
50
|
+
│ │ (produce: agêntico / LLM / comando)
|
|
51
|
+
└─────────────┬──────────────┘
|
|
52
|
+
▼
|
|
53
|
+
┌────────────────────────────┐
|
|
54
|
+
│ Evaluation Engine │ ← métricas ponderadas, veredito
|
|
55
|
+
│ (artifacts + thresholds) │ PASS / PASS_WITH_WARNINGS / FAIL / BLOCKED
|
|
56
|
+
└─────────────┬──────────────┘
|
|
57
|
+
▼
|
|
58
|
+
┌────────────────────────────┐
|
|
59
|
+
│ Healing & Learning │ ← retry, skill_replacement, fallback,
|
|
60
|
+
│ (checkpoint-healing) │ abort; stats por agente + learnings
|
|
61
|
+
└─────────────┬──────────────┘
|
|
62
|
+
▼
|
|
63
|
+
┌────────────────────────────┐
|
|
64
|
+
│ Memory & Observability │ ← MemoryStore (JSON), TraceStore (JSONL),
|
|
65
|
+
│ │ .agents/memoria/ persistente
|
|
66
|
+
└─────────────┬──────────────┘
|
|
67
|
+
▼
|
|
68
|
+
Output / Relatório
|
|
73
69
|
```
|
|
74
70
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
## Core Modules
|
|
71
|
+
## Core Modules (runtime real em `src/runtime/`)
|
|
78
72
|
|
|
79
73
|
| Module | Responsibility |
|
|
80
74
|
|--------|---------------|
|
|
81
|
-
| **
|
|
82
|
-
| **
|
|
83
|
-
| **
|
|
84
|
-
| **
|
|
85
|
-
| **
|
|
86
|
-
| **
|
|
87
|
-
| **
|
|
88
|
-
| **
|
|
75
|
+
| **Orchestrator** (`orchestrator.ts`) | Executa grafos por categoria (implementation, debugging, testing, database_design, etc.), batches, retry e healing. |
|
|
76
|
+
| **Evaluation Engine** (`evaluation/`) | Métricas ponderadas (correctness, completeness, security, etc.), veredito derivado, relatório com regressões e recomendações. |
|
|
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 allowlist. |
|
|
80
|
+
| **Healing Engine** | `retry` (transitório), `skill_replacement` (artefato inválido), `fallback`, `abort` (limite de tentativas). |
|
|
81
|
+
| **Memory Store** (`memory/store.ts`) | Stats por agente, learnings, histórico de runs (JSON em disco). |
|
|
82
|
+
| **Trace Store** (`observability/tracer.ts`) | Traces de execução em JSONL com spans, load/close e retry de escrita. |
|
|
83
|
+
| **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, run...). |
|
|
89
85
|
|
|
90
|
-
|
|
86
|
+
## Routing — Classificação por Categoria
|
|
91
87
|
|
|
92
|
-
|
|
88
|
+
O runtime mapeia a categoria da tarefa para um template de grafo + cadeia de skills (compositions em `core/skill-resolver.json`):
|
|
93
89
|
|
|
94
90
|
```
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
chain = [Debug, RootCause, Fix, Test, Reflect]
|
|
100
|
-
|
|
101
|
-
elif task == "refactor":
|
|
102
|
-
chain = [Architecture, Complexity, Refactor, Test, Validate]
|
|
103
|
-
|
|
104
|
-
elif task == "review":
|
|
105
|
-
chain = [Reviewer, Security, Performance, Quality, Feedback]
|
|
106
|
-
|
|
107
|
-
elif task == "question" or task == "explain":
|
|
108
|
-
chain = [Professor, Mentor, Examples, Exercises]
|
|
109
|
-
|
|
110
|
-
elif task == "security_audit":
|
|
111
|
-
chain = [OWASP, Pentest, Auth, Secrets, Report]
|
|
112
|
-
|
|
113
|
-
else:
|
|
114
|
-
chain = [Analyze, Plan, Execute, Review, Reflect]
|
|
91
|
+
implementation → [requirements, architecture, schema, optimize, implementation-plan, evaluation]
|
|
92
|
+
testing → [test-plan, execution, critic, evaluation]
|
|
93
|
+
debugging → [reproduce, isolate, hypothesis, fix, verify, prevent, evaluation]
|
|
94
|
+
database_design→ [requirements, schema, optimize, review, evaluation]
|
|
115
95
|
```
|
|
116
96
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
## Token Budget Rules
|
|
97
|
+
Categorias sem template específico usam o fluxo genérico (analisar → planejar → executar → avaliar). A cadeia completa de skills de cada domínio é definida pelas `compositions` do resolver.
|
|
120
98
|
|
|
121
|
-
|
|
122
|
-
|-------|-------|
|
|
123
|
-
| Per-response (soft) | 2048 tokens |
|
|
124
|
-
| Per-response (hard) | 4096 tokens |
|
|
125
|
-
| Context window (max) | 8192 tokens |
|
|
126
|
-
| Memory load per task | 1024 tokens |
|
|
127
|
-
| Compression trigger | >70% of budget used |
|
|
99
|
+
## Token Economy
|
|
128
100
|
|
|
129
|
-
|
|
101
|
+
Não há "compression engine" mágico: a economia de tokens é uma **skill operacional** (`skills/economia-tokens`) aplicada a toda sessão:
|
|
130
102
|
|
|
131
|
-
|
|
103
|
+
- contexto mínimo: carregar só o que mudou; trechos/diffs em vez de arquivos completos;
|
|
104
|
+
- prompt caching (conteúdo estático primeiro, dinâmico por último);
|
|
105
|
+
- coordenação entre agentes por **artefatos em disco**, nunca payloads gigantes em contexto;
|
|
106
|
+
- zero releituras. Economia vale para contexto inútil — nunca para o entregável.
|
|
132
107
|
|
|
133
108
|
## Quality Gates — Every Output
|
|
134
109
|
|
|
135
|
-
|
|
110
|
+
Todo output passa por gates reais antes de ser considerado entregue:
|
|
136
111
|
|
|
137
|
-
1. ✅ **Security Gate** —
|
|
138
|
-
2. ✅ **
|
|
139
|
-
3. ✅ **
|
|
140
|
-
4. ✅ **
|
|
141
|
-
5. ✅ **
|
|
142
|
-
|
|
143
|
-
---
|
|
112
|
+
1. ✅ **Security Gate** — sem segredos no código; `skill-scanner` varre skills por injeção, comandos destrutivos, exfiltração e hardcode (11 regras).
|
|
113
|
+
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.
|
|
115
|
+
4. ✅ **Style Gate** — segue `RULES.md`: anti-"cara de IA", design directions, high-craft.
|
|
116
|
+
5. ✅ **Clarity & Conciseness Gate** — sem fluff; cada frase agrega valor.
|
|
117
|
+
6. ✅ **Completeness Gate** — responde a pergunta, sem pontas soltas (Lei da Entrega Exaustiva).
|
|
144
118
|
|
|
145
119
|
## Memory Architecture
|
|
146
120
|
|
|
147
121
|
```
|
|
148
122
|
┌────────────────────────────────────────────┐
|
|
149
|
-
│ Memory
|
|
150
|
-
│ │
|
|
123
|
+
│ Memory Store (runtime) │
|
|
151
124
|
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
152
|
-
│ │
|
|
153
|
-
│ │
|
|
125
|
+
│ │ Agent │ │Learnings │ │ Runs/ │ │
|
|
126
|
+
│ │ Stats │ │ (erros │ │ Trace │ │
|
|
127
|
+
│ │ (JSON) │ │ evitados)│ │ (JSONL) │ │
|
|
154
128
|
│ └──────────┘ └──────────┘ └──────────┘ │
|
|
155
|
-
│ │
|
|
156
|
-
│
|
|
157
|
-
│
|
|
158
|
-
│
|
|
159
|
-
│
|
|
160
|
-
│
|
|
161
|
-
│
|
|
162
|
-
│ ┌──────────────────────────────────────┐ │
|
|
163
|
-
│ │ Recall Engine │ │
|
|
164
|
-
│ └──────────────────────────────────────┘ │
|
|
129
|
+
│ └──────────────┬──────────────────┘ │
|
|
130
|
+
│ ▼ │
|
|
131
|
+
│ ┌─────────────────────────────┐ │
|
|
132
|
+
│ │ .agents/memoria/ (projeto) │ │
|
|
133
|
+
│ │ contexto · decisoes · │ │
|
|
134
|
+
│ │ erros-corrigidos · learnings│ │
|
|
135
|
+
│ └─────────────────────────────┘ │
|
|
165
136
|
└────────────────────────────────────────────┘
|
|
166
137
|
```
|
|
167
138
|
|
|
168
|
-
|
|
139
|
+
Memória entre sessões vive em `.agents/memoria/` (markdown curado). Memória de execução (stats, traces, learnings) vive no runtime (JSON/JSONL) — consulte `MemoryStore` e `TraceStore`.
|
|
169
140
|
|
|
170
141
|
## Evolution Cycle
|
|
171
142
|
|
|
172
143
|
```
|
|
173
|
-
Task →
|
|
174
|
-
↑
|
|
175
|
-
|
|
176
|
-
(feedback loop)
|
|
144
|
+
Task → Executar → Avaliar (veredito) → Healing (corrigir) → Logar (stats/learning) → Próxima Task
|
|
145
|
+
↑ │
|
|
146
|
+
└────────── (.agents/memoria/ atualizada) ─────┘
|
|
177
147
|
```
|
|
178
148
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
---
|
|
149
|
+
Melhoria contínua acontece por: healing registrado (retry/replacement/abort), stats por agente, learnings persistidos e atualização da memória curada do projeto.
|
|
182
150
|
|
|
183
151
|
## Versioning
|
|
184
152
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
- **Major**: Breaking changes to skill interface or engine.
|
|
188
|
-
- **Minor**: New skills, new modules, backward compatible.
|
|
189
|
-
- **Patch**: Bug fixes, compression improvements, documentation.
|
|
153
|
+
Versionamento **SemVer** gerenciado pelo npm (`npm run bump:patch|minor|major` + `npm publish`; versão atual no `package.json`).
|
|
190
154
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
155
|
+
- **Major**: quebra de contrato de skills, agentes ou runtime.
|
|
156
|
+
- **Minor**: novas skills, agentes, módulos — compatível com versões anteriores.
|
|
157
|
+
- **Patch**: correções, otimização, documentação.
|
|
194
158
|
|
|
195
|
-
## Compatibility
|
|
159
|
+
## Frontmatter de Skills (Compatibility)
|
|
196
160
|
|
|
197
|
-
|
|
161
|
+
Skills com `SKILL.md` declararam (quando aplicável) metadados no frontmatter:
|
|
198
162
|
|
|
163
|
+
- `name`
|
|
164
|
+
- `description` (usado no scoring/resolução)
|
|
199
165
|
- `version`
|
|
200
|
-
- `
|
|
201
|
-
- `
|
|
202
|
-
- `
|
|
203
|
-
- `token_budget` (estimated tokens per execution)
|
|
166
|
+
- `compatibility` (versão mínima do framework)
|
|
167
|
+
- `triggers`
|
|
168
|
+
- `token_budget`
|
|
204
169
|
|
|
205
|
-
|
|
170
|
+
O resolver **tolera** skills sem frontmatter (parse devolve `{}` e segue resolvendo pelo alias); metadados apenas aumentam a qualidade do scoring.
|
|
206
171
|
|
|
207
172
|
---
|
|
208
173
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAuDA,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CA2D7D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAY9E;AAkBD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA6KhE"}
|