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.
Files changed (74) hide show
  1. package/.manifest +2 -2
  2. package/AGENTS.md +9 -5
  3. package/CHANGELOG.md +19 -0
  4. package/README.md +32 -77
  5. package/SYSTEM.md +87 -122
  6. package/dist/cli/commands/run.d.ts.map +1 -1
  7. package/dist/cli/commands/run.js +113 -17
  8. package/dist/cli/commands/run.js.map +1 -1
  9. package/dist/cli/prompts.d.ts.map +1 -1
  10. package/dist/cli/prompts.js +1 -3
  11. package/dist/cli/prompts.js.map +1 -1
  12. package/dist/runtime/benchmarks/runner.d.ts.map +1 -1
  13. package/dist/runtime/benchmarks/runner.js +6 -15
  14. package/dist/runtime/benchmarks/runner.js.map +1 -1
  15. package/dist/runtime/llm/client.d.ts +77 -0
  16. package/dist/runtime/llm/client.d.ts.map +1 -0
  17. package/dist/runtime/llm/client.js +225 -0
  18. package/dist/runtime/llm/client.js.map +1 -0
  19. package/dist/runtime/orchestration/planner.d.ts.map +1 -1
  20. package/dist/runtime/orchestration/planner.js +36 -0
  21. package/dist/runtime/orchestration/planner.js.map +1 -1
  22. package/dist/runtime/orchestrator.d.ts +2 -0
  23. package/dist/runtime/orchestrator.d.ts.map +1 -1
  24. package/dist/runtime/orchestrator.js +34 -19
  25. package/dist/runtime/orchestrator.js.map +1 -1
  26. package/dist/runtime/recovery/healing.js +1 -1
  27. package/dist/runtime/recovery/healing.js.map +1 -1
  28. package/dist/runtime/security/skill-scanner.d.ts.map +1 -1
  29. package/dist/runtime/security/skill-scanner.js +9 -3
  30. package/dist/runtime/security/skill-scanner.js.map +1 -1
  31. package/dist/runtime/tests/learning.test.d.ts +2 -0
  32. package/dist/runtime/tests/learning.test.d.ts.map +1 -0
  33. package/dist/runtime/tests/learning.test.js +74 -0
  34. package/dist/runtime/tests/learning.test.js.map +1 -0
  35. package/dist/runtime/tests/llm.test.d.ts +2 -0
  36. package/dist/runtime/tests/llm.test.d.ts.map +1 -0
  37. package/dist/runtime/tests/llm.test.js +97 -0
  38. package/dist/runtime/tests/llm.test.js.map +1 -0
  39. package/dist/runtime/tests/orchestrator.test.d.ts +2 -0
  40. package/dist/runtime/tests/orchestrator.test.d.ts.map +1 -0
  41. package/dist/runtime/tests/orchestrator.test.js +154 -0
  42. package/dist/runtime/tests/orchestrator.test.js.map +1 -0
  43. package/dist/runtime/tests/skill-scanner.test.d.ts +2 -0
  44. package/dist/runtime/tests/skill-scanner.test.d.ts.map +1 -0
  45. package/dist/runtime/tests/skill-scanner.test.js +90 -0
  46. package/dist/runtime/tests/skill-scanner.test.js.map +1 -0
  47. package/package.json +1 -1
  48. package/skills/alternative-solution-generator/SKILL.md +9 -0
  49. package/skills/breaking-change-detector/SKILL.md +9 -0
  50. package/skills/bug-hunter/SKILL.md +9 -0
  51. package/skills/bug-prevention/SKILL.md +9 -0
  52. package/skills/clean-code-validator/SKILL.md +9 -0
  53. package/skills/complexity-analyzer/SKILL.md +9 -0
  54. package/skills/cto-advisor/SKILL.md +9 -0
  55. package/skills/debug-specialist/SKILL.md +9 -0
  56. package/skills/dependency-analyzer/SKILL.md +9 -0
  57. package/skills/design-pattern-advisor/SKILL.md +9 -0
  58. package/skills/documentation-writer/SKILL.md +9 -0
  59. package/skills/dry-kiss-yagni-validator/SKILL.md +9 -0
  60. package/skills/er-diagram-builder/SKILL.md +9 -0
  61. package/skills/logging-expert/SKILL.md +9 -0
  62. package/skills/performance-optimizer/SKILL.md +9 -0
  63. package/skills/project-manager/SKILL.md +9 -0
  64. package/skills/refactoring-specialist/SKILL.md +9 -0
  65. package/skills/release-planner/SKILL.md +9 -0
  66. package/skills/risk-analyzer/SKILL.md +9 -0
  67. package/skills/root-cause-analyzer/SKILL.md +9 -0
  68. package/skills/scalability-expert/SKILL.md +9 -0
  69. package/skills/senior-code-reviewer/SKILL.md +9 -0
  70. package/skills/software-architect/SKILL.md +9 -0
  71. package/skills/solid-validator/SKILL.md +9 -0
  72. package/skills/technical-debt-analyzer/SKILL.md +9 -0
  73. package/skills/tradeoff-analyzer/SKILL.md +9 -0
  74. 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.5",
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-11T12:46:08.320Z",
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 (Decision → Context → Skill → Quality → Reflection → Memory), biblioteca de skills especializadas, **Skill Composer** (12 composições de skills encadeadas que se conversam), **14 agentes especializados** (incluindo o novo agente `/qa`), **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).
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 14 Agentes & Comandos Opencode (`/`)
15
+ ## 2. Os 18 Agentes & Comandos Opencode (`/`)
16
16
 
17
- O framework conta com **14 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).
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/` — 13 definições de agentes em JSON (fonte da verdade para os comandos) com `chains` compostas
62
- - `skills/` — 207 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")
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, skill-oriented para agentes de IA especializados em desenvolvimento de software e automação.
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
- # Instalação global
15
- npm install -g izanagi-ai
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
- > **Nota:** o pacote é publicado como `izanagi-ai` e os bins disponíveis são `izanagi` e `izanagi-ai`.
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 corrente de skills. |
57
- | `izanagi create <agent\|skill> <name>` | Cria scaffold de agente (JSON) ou skill (SKILL.md) no projeto atual. |
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 todas as skills e agentes registrados com seus aliases. |
60
- | `izanagi doctor` | Valida integridade do framework, JSONs de agentes e mapeamentos de aliases. |
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
- # Task simples (auto-classificação)
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 Projeto
47
+ ## Estrutura do Repositório
87
48
 
88
49
  ```
89
50
  izanagi-ai/
90
- ├── bin/ Executável da CLI (bin/izanagi.js)
91
- ├── src/cli/ Código fonte dos comandos CLI
92
- ├── core/ Motor central (decisão, contexto, reflexão, skill-resolver)
93
- ├── agents/ Definições de Agentes de IA em JSON
94
- ├── skills/ Skill base (111 skills especializadas em Markdown)
95
- ├── memory/ Gerenciamento de memória e compressão
96
- ├── optimization/ Redução de tokens e custos
97
- ├── teaching/ Modo professor e aprendizado adaptativo
98
- ├── architecture/ Padrões arquiteturais e design
99
- ├── coding/ Skills de engenharia de software
100
- ├── security/ OWASP, autenticação, auditoria
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 **111+ skills** e **10 agentes especializados** encadeados dinamicamente via `core/skill-resolver.json`.
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 # compila TypeScript → dist/
125
- npm run doctor # roda o doctor localmente
126
- npm pack # gera o tarball do pacote
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 --access public # prepublishOnly roda o build automaticamente
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
- │ Decision Engine │ ← Classifies task, routes to skills
44
- └─────────┬───────────┘
45
- │
46
- ▼
47
- ┌─────────────────────┐
48
- │ Context Engine │ ← Builds context window, loads memory
49
- └─────────┬───────────┘
50
- │
51
- ▼
52
- ┌─────────────────────┐
53
- │ Skill Executor │ ← Activates skill chain (DAG)
54
- └─────────┬───────────┘
55
- │
56
- ▼
57
- ┌─────────────────────┐
58
- │ Quality Gates │ ← Validates output (security, style, etc.)
59
- └─────────┬───────────┘
60
- │
61
- ▼
62
- ┌─────────────────────┐
63
- │ Reflection Engine │ ← Self-review, logs, evolution
64
- └─────────┬───────────┘
65
- │
66
- ▼
67
- ┌─────────────────────┐
68
- │ Memory Manager │ ← Compresses, stores, updates knowledge
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
- | **Decision Engine** | Classifies task type, priority, urgency. Selects skill chain. |
82
- | **Context Engine** | Builds minimal context window. Loads relevant memory. |
83
- | **Skill Executor** | Executes ordered skill chain with dependency resolution. |
84
- | **Token Manager** | Monitors token budget. Triggers compression when needed. |
85
- | **Memory Manager** | Short-term, long-term, project memory. Compression and recall. |
86
- | **Quality Gates** | Validates every output before delivery. |
87
- | **Reflection Engine** | Post-task self-review. Logs improvements. |
88
- | **Evolution Engine** | Updates skills based on reflection data. |
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
- ## Decision Engine — Classification
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
- if task == "new_project" or task == "new_feature":
96
- chain = [Planning, Architecture, Requirements, Risks, Code]
97
-
98
- elif task == "bug":
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
- | Scope | Limit |
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
- When budget is exceeded, `Compression Engine` activates automatically.
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
- All outputs **must** pass these gates before delivery:
110
+ Todo output passa por gates reais antes de ser considerado entregue:
136
111
 
137
- 1. ✅ **Security Gate** — No secrets, no injection vectors, no hardcoded credentials.
138
- 2. ✅ **Style Gate** — Follows project conventions. Clean code.
139
- 3. ✅ **Clarity Gate** — Output is understandable by the intended audience.
140
- 4. ✅ **Conciseness Gate** — No fluff. Every sentence adds value.
141
- 5. ✅ **Completeness Gate** — Answers the question. Does not leave loose ends.
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 Manager │
150
- │ │
123
+ │ Memory Store (runtime) │
151
124
  │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
152
- │ │ Session │ │ Project │ │ Long │ │
153
- │ │ Memory │ │ Memory │ │ Term │ │
125
+ │ │ Agent │ │Learnings │ │ Runs/ │ │
126
+ │ │ Stats │ │ (erros │ │ Trace │ │
127
+ │ │ (JSON) │ │ evitados)│ │ (JSONL) │ │
154
128
  │ └──────────┘ └──────────┘ └──────────┘ │
155
- │ │ │ │ │
156
- │ ▼ ▼ ▼ │
157
- │ ┌──────────────────────────────────────┐ │
158
- │ │ Knowledge Graph │ │
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 → Execute → Reflect → Log → Update Skills → Next 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
- Every task updates the skill base. The agent gets better over time.
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
- This framework uses **SemVer**.
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
- Current version: **2.0.0**
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
- All skills must declare:
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
- - `dependencies` (list of required modules/skills)
201
- - `compatibility` (minimum SYSTEM version)
202
- - `triggers` (what activates this skill)
203
- - `token_budget` (estimated tokens per execution)
166
+ - `compatibility` (versão mínima do framework)
167
+ - `triggers`
168
+ - `token_budget`
204
169
 
205
- Skills that do not declare these fields are rejected by the engine.
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":"AAmDA,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,CAqKhE"}
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"}