izanagi-ai 3.10.0 → 3.11.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/.github/workflows/polyglot.yml +17 -17
- package/.github/workflows/publish.yml +11 -11
- package/.manifest +3 -3
- package/CHANGELOG.md +65 -0
- package/README.md +140 -43
- package/ROADMAP.md +2 -2
- package/RULES.md +11 -1
- package/SYSTEM.md +6 -6
- package/core/decision-engine.md +0 -3
- package/core/quality-gates.md +2 -2
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +15 -6
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/runtime/llm/client.d.ts +46 -2
- package/dist/runtime/llm/client.d.ts.map +1 -1
- package/dist/runtime/llm/client.js +81 -13
- package/dist/runtime/llm/client.js.map +1 -1
- package/dist/runtime/llm/prompt-cache.d.ts +68 -0
- package/dist/runtime/llm/prompt-cache.d.ts.map +1 -0
- package/dist/runtime/llm/prompt-cache.js +80 -0
- package/dist/runtime/llm/prompt-cache.js.map +1 -0
- package/dist/runtime/llm/session-diet.d.ts +83 -0
- package/dist/runtime/llm/session-diet.d.ts.map +1 -0
- package/dist/runtime/llm/session-diet.js +108 -0
- package/dist/runtime/llm/session-diet.js.map +1 -0
- package/dist/runtime/tests/prompt-cache.test.d.ts +2 -0
- package/dist/runtime/tests/prompt-cache.test.d.ts.map +1 -0
- package/dist/runtime/tests/prompt-cache.test.js +227 -0
- package/dist/runtime/tests/prompt-cache.test.js.map +1 -0
- package/dist/runtime/tests/run-skill-disclosure.test.d.ts +2 -0
- package/dist/runtime/tests/run-skill-disclosure.test.d.ts.map +1 -0
- package/dist/runtime/tests/run-skill-disclosure.test.js +241 -0
- package/dist/runtime/tests/run-skill-disclosure.test.js.map +1 -0
- package/dist/runtime/tests/session-diet.test.d.ts +2 -0
- package/dist/runtime/tests/session-diet.test.d.ts.map +1 -0
- package/dist/runtime/tests/session-diet.test.js +188 -0
- package/dist/runtime/tests/session-diet.test.js.map +1 -0
- package/dist/runtime/text/frontmatter.d.ts +62 -0
- package/dist/runtime/text/frontmatter.d.ts.map +1 -0
- package/dist/runtime/text/frontmatter.js +270 -0
- package/dist/runtime/text/frontmatter.js.map +1 -0
- package/package.json +1 -1
- package/skills/economia-tokens/SKILL.md +21 -2
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
# inteiro => fail-fast global. Pipeline apenas de integracao; sem deploy.
|
|
6
6
|
#
|
|
7
7
|
# Supply chain: TODAS as actions de terceiros fixadas por SHA de commit
|
|
8
|
-
# completo (imutavel), resolvidos ao vivo na GitHub API em 2026-08-
|
|
8
|
+
# completo (imutavel), resolvidos ao vivo na GitHub API em 2026-08-23.
|
|
9
9
|
# A tag major fica no comentario acima de cada "uses". Nunca referenciar
|
|
10
10
|
# tags mutaveis (@v4/@main/@latest) diretamente.
|
|
11
11
|
#
|
|
@@ -41,11 +41,11 @@ jobs:
|
|
|
41
41
|
runs-on: ubuntu-latest
|
|
42
42
|
timeout-minutes: 15
|
|
43
43
|
steps:
|
|
44
|
-
# actions/checkout@
|
|
45
|
-
- uses: actions/checkout@
|
|
46
|
-
# actions/setup-node@
|
|
44
|
+
# actions/checkout@v7
|
|
45
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
46
|
+
# actions/setup-node@v6 - Node 24 por paridade com dev local (v24.18.0);
|
|
47
47
|
# engines: raiz declara >=18, pacotes poliglotas (sdk/cli) declaram >=22.
|
|
48
|
-
- uses: actions/setup-node@
|
|
48
|
+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f
|
|
49
49
|
with:
|
|
50
50
|
node-version: '24'
|
|
51
51
|
cache: npm # usa o package-lock.json commitado na raiz
|
|
@@ -77,8 +77,8 @@ jobs:
|
|
|
77
77
|
runs-on: ubuntu-latest
|
|
78
78
|
timeout-minutes: 20
|
|
79
79
|
steps:
|
|
80
|
-
# actions/checkout@
|
|
81
|
-
- uses: actions/checkout@
|
|
80
|
+
# actions/checkout@v7
|
|
81
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
82
82
|
# dtolnay/rust-toolchain@stable (branch mutavel por design do autor;
|
|
83
83
|
# o SHA congela o CODIGO da action, nao a versao do Rust instalada)
|
|
84
84
|
- uses: dtolnay/rust-toolchain@4360b52568e2003a75bf9bc1d59f33a8e3fc893c
|
|
@@ -127,8 +127,8 @@ jobs:
|
|
|
127
127
|
runs-on: ubuntu-latest
|
|
128
128
|
timeout-minutes: 20
|
|
129
129
|
steps:
|
|
130
|
-
# actions/checkout@
|
|
131
|
-
- uses: actions/checkout@
|
|
130
|
+
# actions/checkout@v7
|
|
131
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
132
132
|
# dtolnay/rust-toolchain@stable - "targets" instala o target cross junto
|
|
133
133
|
- uses: dtolnay/rust-toolchain@4360b52568e2003a75bf9bc1d59f33a8e3fc893c
|
|
134
134
|
with:
|
|
@@ -167,8 +167,8 @@ jobs:
|
|
|
167
167
|
runs-on: ubuntu-latest
|
|
168
168
|
timeout-minutes: 10
|
|
169
169
|
steps:
|
|
170
|
-
# actions/checkout@
|
|
171
|
-
- uses: actions/checkout@
|
|
170
|
+
# actions/checkout@v7
|
|
171
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
172
172
|
# actions/setup-go@v5
|
|
173
173
|
- uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff
|
|
174
174
|
with:
|
|
@@ -200,8 +200,8 @@ jobs:
|
|
|
200
200
|
runs-on: ubuntu-latest
|
|
201
201
|
timeout-minutes: 10
|
|
202
202
|
steps:
|
|
203
|
-
# actions/checkout@
|
|
204
|
-
- uses: actions/checkout@
|
|
203
|
+
# actions/checkout@v7
|
|
204
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
205
205
|
# actions/setup-python@v5
|
|
206
206
|
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
|
|
207
207
|
with:
|
|
@@ -244,10 +244,10 @@ jobs:
|
|
|
244
244
|
- package: cli
|
|
245
245
|
script: build # npm run build = tsc -p tsconfig.json
|
|
246
246
|
steps:
|
|
247
|
-
# actions/checkout@
|
|
248
|
-
- uses: actions/checkout@
|
|
249
|
-
# actions/setup-node@
|
|
250
|
-
- uses: actions/setup-node@
|
|
247
|
+
# actions/checkout@v7
|
|
248
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
249
|
+
# actions/setup-node@v6 - cache por lockfile do pacote da matriz
|
|
250
|
+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f
|
|
251
251
|
with:
|
|
252
252
|
node-version: '24'
|
|
253
253
|
cache: npm
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
# desta frente.
|
|
28
28
|
#
|
|
29
29
|
# 2) SUPPLY CHAIN: actions fixadas por SHA de commit completo (imutável).
|
|
30
|
-
# SHAs conferidos
|
|
31
|
-
# - actions/checkout@
|
|
32
|
-
# - actions/setup-node@
|
|
30
|
+
# SHAs conferidos na GitHub API em 2026-08-23 (tags = commits):
|
|
31
|
+
# - actions/checkout@v7.0.1 => 3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
32
|
+
# - actions/setup-node@v6.1.0 => 395ad3262231945c25e8478fd5baf05154b1d79f
|
|
33
33
|
# Nunca referenciar tags mutáveis (@v4/@main) diretamente.
|
|
34
34
|
#
|
|
35
35
|
# 3) LEAST PRIVILEGE:
|
|
@@ -77,10 +77,10 @@ jobs:
|
|
|
77
77
|
runs-on: ubuntu-latest
|
|
78
78
|
timeout-minutes: 15
|
|
79
79
|
steps:
|
|
80
|
-
# actions/checkout@
|
|
81
|
-
- uses: actions/checkout@
|
|
82
|
-
# actions/setup-node@
|
|
83
|
-
- uses: actions/setup-node@
|
|
80
|
+
# actions/checkout@v7
|
|
81
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
82
|
+
# actions/setup-node@v6 - SEM registry-url/token: job não publica nada.
|
|
83
|
+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f
|
|
84
84
|
with:
|
|
85
85
|
node-version: '24'
|
|
86
86
|
cache: npm
|
|
@@ -105,11 +105,11 @@ jobs:
|
|
|
105
105
|
contents: read
|
|
106
106
|
id-token: write
|
|
107
107
|
steps:
|
|
108
|
-
# actions/checkout@
|
|
109
|
-
- uses: actions/checkout@
|
|
110
|
-
# actions/setup-node@
|
|
108
|
+
# actions/checkout@v7
|
|
109
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
|
|
110
|
+
# actions/setup-node@v6 - registry-url apenas aqui: gera o .npmrc com
|
|
111
111
|
# NODE_AUTH_TOKEN injetado pelo setup-node SOMENTE neste job.
|
|
112
|
-
- uses: actions/setup-node@
|
|
112
|
+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f
|
|
113
113
|
with:
|
|
114
114
|
node-version: '24'
|
|
115
115
|
cache: npm
|
package/.manifest
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "izanagi-ai",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.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-23T19:30:19.466Z",
|
|
9
9
|
"agents": [
|
|
10
10
|
{
|
|
11
11
|
"id": "adversarial-critic",
|
|
@@ -787,7 +787,7 @@
|
|
|
787
787
|
},
|
|
788
788
|
{
|
|
789
789
|
"id": "economia-tokens",
|
|
790
|
-
"name": "
|
|
790
|
+
"name": "economia-tokens",
|
|
791
791
|
"version": "1.0.0",
|
|
792
792
|
"path": "skills/economia-tokens/SKILL.md"
|
|
793
793
|
},
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,71 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [3.10.1]: 2026-08-23
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- **Documentação auditada para a era poliglota**: README reescrito em torno da topologia poliglota (instalação, variáveis de ambiente e comandos de teste por núcleo), `docs/POLYGLOT.md` sincronizada com as medições atuais, SYSTEM/RULES/CONTRIBUTING/ROADMAP e `core/*.md` revisados contra a realidade do repositório.
|
|
11
|
+
- **Actions do CI unificadas e pinadas por SHA**: `actions/checkout@v7.0.1` e `actions/setup-node@v6.1.0` em todos os workflows, eliminando o warning de deprecação do Node 20 nos runners.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## [3.10.0]: 2026-08-23
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
- **Progressive disclosure nas skills v2**: front-matter `references:` declara os arquivos de apoio de cada skill em `.skills/<name>/`; `izanagi-next skill show <name> [--ref <arquivo>]` exibe skill e references sob demanda; `skill-migrator --check` valida a sincronia sem escrever.
|
|
19
|
+
- **Gate anti-racionalização na fase 4 do `izanagi-next run`**: o artefato final passa pelo Anti-Rationalization Engine antes da entrega. Blocker reprova o gate e dispara auto-heal (N=2); Major/Minor são advisory; `rust-core` ausente degrada o gate para advisory com exit 0.
|
|
20
|
+
- **Provenance OIDC no publish npm**: `publish.yml` ganha `id-token: write` escopado ao job e publica com `--provenance` (fail-closed); attestation SLSA v1 verificável no registry.
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
- **Rodapé de proveniência determinístico nos exporters**: os adapters gerados por `izanagi export` incluem um rodapé gerado deterministicamente, idempotente byte-a-byte entre máquinas (elimina diffs falsos entre execuções/regenerações).
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## [3.9.0]: 2026-08-23
|
|
28
|
+
|
|
29
|
+
### Added
|
|
30
|
+
- **Anti-Rationalization Engine em Rust** (`crates/izanagi_core`): scanner determinístico regex-free de racionalizações (33 padrões / 8 categorias), exposto como operação NDJSON `scan-rationalizations` com subcomandos `--file=<path>`/`--stdin` e flags `--version`/`--help`; exposto nos bindings WASM; 30 testes novos.
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
- **Consolidação CI/CD (ADR-006)**: `publish.yml` vira CD exclusivo de tag `v*`/release (guard idempotente, least privilege) e o pipeline poliglota (`polyglot.yml`) absorve o teste sandbox do `npm run verify`.
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
- Higiene de repositório: `.gitignore` cobre os artefatos de build poliglotas; comentário de `engines` corrigido no workflow legado; removida a negação órfã de `agents/generated/c-systems-engineer.json` (arquivo não existe desde a 2.13.0).
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## [3.8.0]: 2026-08-23
|
|
41
|
+
|
|
42
|
+
### Added
|
|
43
|
+
- **`izanagi polyglot status [--json|--strict]`**: auditoria de saúde dos 7 componentes poliglotas (binários Rust, orquestrador Go, engine Python, pacotes TS); `--strict` sai com exit 1 se algo estiver ausente.
|
|
44
|
+
- **`docs/POLYGLOT.md`**: referência canônica da topologia poliglota — contratos IPC, error codes (-32001..-32005), tabela de variáveis de ambiente, gaps conhecidos e resumo dos ADRs.
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
- **Gates de qualidade Rust ativados no CI**: `cargo fmt` aplicado integralmente + 4 fixes semânticos do clippy (zero `#[allow]`); `fmt-check` e `clippy -D warnings` agora bloqueiam o pipeline; guard de idempotência e least privilege também reforçados no workflow legado.
|
|
48
|
+
|
|
49
|
+
### Fixed
|
|
50
|
+
- **postinstall tolerante a checkout sem `dist/`** (bug de CI): a auto-ativação do `izanagi-ai` não falha mais quando executada a partir de um checkout recém-clonado sem build prévio.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## [3.7.0]: 2026-08-23
|
|
55
|
+
|
|
56
|
+
### Added
|
|
57
|
+
- **Topologia poliglota ao lado do runtime npm legado** (Strangler Fig, ADR-001):
|
|
58
|
+
- `crates/izanagi_core` (Rust): quality engine com 7 heurísticas anti-slop sobre TS/Python/Go, protocolo NDJSON stdin/stdout (`validate`/`rules`/`version`) e bindings WASM feature-gated.
|
|
59
|
+
- `crates/izanagi_mcp` (Rust): cliente MCP JSON-RPC 2.0 sobre stdio (discovery + invocação pontual), agora com subcomando `call --tool=<name>` coberto por testes E2E.
|
|
60
|
+
- `go-services/swarm_orchestrator` (Go): orquestrador de swarm (Uber Fx) com pipeline architect→engineer→qa→security via JSON-RPC 2.0 sobre UDS e event push.
|
|
61
|
+
- `python-engine/ast_analyzer` (Python ≥3.10): análise semântica multilíngue (símbolos, complexidade ciclomática, imports) com tree-sitter + fallback estrutural.
|
|
62
|
+
- `packages/sdk` (`@izanagi/sdk`, clientes tipados strict para os 4 núcleos + catálogo de skills) e `packages/cli` (binário `izanagi-next`, run em 4 fases com auto-heal N=2), mais o `skill-migrator` determinístico (skills v1→v2).
|
|
63
|
+
- **Catálogo de skills v2 (`.skills/<name>/SKILL.md`)**: 106 módulos migrados deterministicamente do legado `skills/` com seções Triggering Criteria / Step-by-Step Workflow / Verification Steps / Common Rationalizations / Red Flags (ADR-004).
|
|
64
|
+
- **CI poliglota GitHub Actions** (`.github/workflows/polyglot.yml`): jobs paralelos para npm legado, Rust+WASM, Go, Python e pacotes TS, com `requirements-dev.txt` pinado.
|
|
65
|
+
- **Topologia `.agents/agents/*.yaml` via `agent-migrator`**: os 22 agentes derivados JSON→YAML por migrador determinístico idempotente (ADR-005); `--check` detecta drift YAML↔JSON.
|
|
66
|
+
|
|
67
|
+
### Fixed
|
|
68
|
+
- **`doctor`**: a heurística de raiz não confunde mais os YAMLs derivados (`.agents/agents/*.yaml`) com uma instalação completa (que exige agentes em JSON); regressão coberta por testes.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
7
72
|
## [3.6.0]: 2026-08-18
|
|
8
73
|
|
|
9
74
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
# Izanagi AI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **v3.10.0** · Framework **meta** para engenharia de software autônoma orientada a agentes: routing → orquestração → avaliação → healing → memória, com 22 agentes especializados, catálogo de skills v2, Adaptive Runtime com execution graph e self-healing, CLI publicada no npm (`izanagi-ai`) e **topologia poliglota** (Rust · Go · Python · TypeScript) orquestrada ao lado do runtime legado.
|
|
4
4
|
|
|
5
|
-
|
|
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
|
+
Requisito: Node.js ≥ 18.
|
|
12
|
+
|
|
11
13
|
```bash
|
|
12
14
|
npm install -g izanagi-ai # instalação global
|
|
13
15
|
npx izanagi <comando> # ou execução direta sem instalar
|
|
@@ -18,94 +20,189 @@ izanagi --version
|
|
|
18
20
|
|
|
19
21
|
---
|
|
20
22
|
|
|
23
|
+
## Quick Start
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# 1. Inicializa um projeto com .agents/ e seleção interativa de packs de skills
|
|
27
|
+
izanagi init my-project
|
|
28
|
+
# ou sem interação: izanagi init my-project --packs core,agents,coding,database
|
|
29
|
+
|
|
30
|
+
# 2. Executa uma tarefa via Adaptive Runtime
|
|
31
|
+
izanagi run "Criar uma landing page de um SaaS de analytics"
|
|
32
|
+
|
|
33
|
+
# 3. Observabilidade e auditoria
|
|
34
|
+
izanagi trace # spans, healing, graph, avaliação
|
|
35
|
+
izanagi explain <run-id> # por que o Izanagi decidiu o que decidiu
|
|
36
|
+
izanagi doctor # integridade da instalação (--deep inclui security scan das skills)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
O caminho único de execução é o Adaptive Runtime: graph + adaptive routing + evaluation engine + self-healing + memory. Com `--prompt-only`, apenas compila `izanagi-prompt.md` para colar manualmente em outra ferramenta, sem executar nada. Nós de aprovação (`human-in-the-loop`) pausam a execução até `izanagi approve <run-id>`.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Arquitetura Poliglota
|
|
44
|
+
|
|
45
|
+
Desde as Waves 1–5, o crescimento novo vive numa topologia poliglota que coexiste com o runtime npm legado em padrão Strangler Fig (ADR-001): contratos IPC, error codes e env vars canônicos em [`docs/POLYGLOT.md`](docs/POLYGLOT.md).
|
|
46
|
+
|
|
47
|
+
| Componente | Linguagem | O que faz | Como testar |
|
|
48
|
+
|---|---|---|---|
|
|
49
|
+
| `crates/izanagi_core` | Rust | Quality engine: 7 heurísticas anti-slop sobre TS/Python/Go; protocolo NDJSON stdin/stdout (`validate`/`rules`/`version`) + op `scan-rationalizations`; bindings WASM feature-gated | `cargo test --workspace` (111 testes) |
|
|
50
|
+
| `crates/izanagi_mcp` | Rust | Cliente MCP JSON-RPC 2.0 sobre stdio: discovery + invocação pontual (`izanagi-mcp call --tool=<name>`) | incluso no `cargo test --workspace` |
|
|
51
|
+
| `go-services/swarm_orchestrator` | Go | Orquestrador de swarm (Uber Fx): pipeline architect→engineer→qa→security via JSON-RPC 2.0 sobre UDS com event push | `go build ./... && go vet ./... && go test ./...` |
|
|
52
|
+
| `python-engine/ast_analyzer` | Python ≥ 3.10 | Análise semântica multilíngue: símbolos, complexidade ciclomática, imports (tree-sitter + fallback estrutural) | `.venv/bin/python -m pytest tests/ -q` (70 testes) |
|
|
53
|
+
| `packages/sdk` (`@izanagi/sdk`) | TypeScript | Clientes tipados strict para os 4 núcleos + catálogo de skills; zero dependências de runtime | `npm test` dentro de `packages/sdk` (42 testes) |
|
|
54
|
+
| `packages/cli` (`izanagi-next`) | TypeScript | CLI de nova geração: run em 4 fases com auto-heal (N=2) + gate anti-racionalização; `agent list`, `skill list/show --ref`, `gates check` | `npm test` dentro de `packages/cli` (13 testes) |
|
|
55
|
+
|
|
56
|
+
Diagnóstico rápido de todos os componentes:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
izanagi polyglot status # saúde dos núcleos poliglotas (--json | --strict)
|
|
60
|
+
node packages/agent-migrator/cli.mjs --check # drift YAML ↔ JSON dos agentes
|
|
61
|
+
node packages/skill-migrator/cli.mjs --dry-run # valida migração skills v1 → v2 sem escrever
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Estrutura do Repositório
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
izanagi-ai/
|
|
68
|
+
├── bin/ Executável da CLI legado (bin/izanagi.js → dist/cli)
|
|
69
|
+
├── src/ Runtime real em TypeScript (orchestrator, evaluation, resolver, scanner, factories, tools, tracer, llm, cli)
|
|
70
|
+
├── core/ Engines (.md) + skill-resolver.json (aliases → targets + compositions)
|
|
71
|
+
├── agents/ 22 definições de agentes em JSON (fonte da verdade dos comandos)
|
|
72
|
+
├── skills/ Skills legado v1 (skills/<name>/SKILL.md + references.md opcional)
|
|
73
|
+
├── .skills/ Catálogo ativo v2 (.skills/<name>/SKILL.md + references/)
|
|
74
|
+
├── crates/ Rust: izanagi_core (quality engine + WASM) e izanagi_mcp (cliente MCP stdio)
|
|
75
|
+
├── go-services/swarm_orchestrator/ Orquestrador de swarm em Go (Uber Fx, JSON-RPC 2.0 sobre UDS)
|
|
76
|
+
├── python-engine/ Analisador AST multilíngue (tree-sitter + fallback estrutural)
|
|
77
|
+
├── packages/ sdk (@izanagi/sdk) · cli (izanagi-next) · agent-migrator · skill-migrator
|
|
78
|
+
├── references/ Curadoria de referências reais por domínio (webgl-3d, scrollytelling, stack-2026...)
|
|
79
|
+
├── .agents/memoria/ Memória persistente anti-repetição (contexto, decisoes, erros-corrigidos, learnings)
|
|
80
|
+
├── .opencode/ Comandos slash do Opencode (adapters em .claude/, .codex/, .cursor/...)
|
|
81
|
+
├── docs/POLYGLOT.md Contratos IPC, error codes, env vars e resumo dos ADRs
|
|
82
|
+
├── AGENTS.md Instruções de operação do framework
|
|
83
|
+
├── ARCHITECTURE.md Visão arquitetural
|
|
84
|
+
├── SYSTEM.md Fundação do sistema (arquitetura real do runtime)
|
|
85
|
+
└── RULES.md Regras operacionais (Anti-Generic High-Craft & Cinematic UI)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
21
90
|
## Comandos Principais da CLI
|
|
22
91
|
|
|
92
|
+
CLI legado (`izanagi`, publicada no npm):
|
|
93
|
+
|
|
23
94
|
| Comando | Descrição |
|
|
24
95
|
|---|---|
|
|
25
96
|
| `izanagi init [dir] [--packs a,b,c]` | Cria projeto com `.agents/` e seleção de packs de skills. |
|
|
26
97
|
| `izanagi run [agent] --task "<task>"` | Analisa a tarefa, seleciona o agente ideal e executa via Adaptive Runtime (graph + adaptive routing + evaluation + trace + self-healing + memory): caminho único, sem modo estático paralelo. `--prompt-only` só compila `izanagi-prompt.md` para colar manualmente em outra ferramenta, sem executar nada. |
|
|
98
|
+
| `izanagi chat` | REPL interativo da CLI. |
|
|
99
|
+
| `izanagi dashboard [--port N]` | Dashboard local (Run Explorer, Arena, Memory). |
|
|
27
100
|
| `izanagi agent create "<requisito>" [--name=slug] [--skills=a,b]` | Agent Factory: gera agente com genome completo em `agents/generated/` (detecta lacuna vs. 22 core). |
|
|
28
101
|
| `izanagi agent list \| inspect <name>` | Lista/inspeta agentes (inclui `agents/generated/`) com genome. |
|
|
29
102
|
| `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> \|
|
|
31
|
-
| `izanagi create <agent\|skill> <name>` | Cria scaffold de agente (JSON) ou skill (SKILL.md). |
|
|
103
|
+
| `izanagi skill list \| search <q> \| show <name>` | Lista, busca e detalha skills (catálogo v2, com progressive disclosure). |
|
|
104
|
+
| `izanagi create <agent\|skill> <name>` | Cria scaffold cru de agente (JSON) ou skill (SKILL.md), sem validação. |
|
|
32
105
|
| `izanagi compile <agente> [arquivo]` | Compila um System Prompt completo do agente + fundação do sistema. |
|
|
33
106
|
| `izanagi workflow list \| inspect <template>` | Templates de grafo de execução por categoria (11). |
|
|
34
107
|
| `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. |
|
|
108
|
+
| `izanagi benchmark [compare]` | 10 benchmarks builtin + comparação de regressões entre builds. Alias histórico: `arena`. |
|
|
36
109
|
| `izanagi trace [run-id]` | Traces de execução (spans, healing, graph, avaliação). |
|
|
37
110
|
| `izanagi memory inspect \| search <q>` | Estado da memória de execução e busca em `.agents/memoria/`. |
|
|
38
|
-
| `izanagi
|
|
111
|
+
| `izanagi polyglot status [--json\|--strict]` | Saúde dos núcleos poliglotas (Rust, Go, Python, packages TS): checagens de existência + probes baratos; `--strict` sai com código 1 se algo estiver ausente. |
|
|
112
|
+
| `izanagi doctor [--deep]` | Auditoria de integridade; `--deep` adiciona security scan das skills. |
|
|
39
113
|
| `izanagi diagnose` | Diagnóstico profundo do runtime (state, agent genome, contratos de artifact). |
|
|
40
114
|
| `izanagi resume <run-id>` | Retoma execução interrompida (crash) ou pausada a partir do checkpoint: sem replanejar nem reexecutar nós concluídos. |
|
|
41
115
|
| `izanagi approve <run-id> [node-id]` | Aprova uma ação de alto risco pausada (nó `kind: 'approval'`) e retoma. |
|
|
42
116
|
| `izanagi reject <run-id> [node-id] [--reason]` | Rejeita a ação pausada (o nó falha com o motivo) e retoma: self-healing/abort seguem normalmente. |
|
|
43
117
|
| `izanagi explain <run-id>` | Por que o Izanagi decidiu isso: decisões (Decision Journal) + self-healing + veredito, sem chain-of-thought. |
|
|
44
|
-
| `izanagi export --cli <cli>` | Regenera adapters multi-CLI (opencode, claude, codex, cursor, copilot, kimi, all). |
|
|
118
|
+
| `izanagi export --cli <cli>` | Regenera adapters multi-CLI (opencode, claude, codex, cursor, copilot, kimi, all). Idempotente. |
|
|
45
119
|
| `izanagi --version` | Exibe a versão da CLI. |
|
|
46
120
|
|
|
47
|
-
|
|
121
|
+
CLI de nova geração (`izanagi-next`, em `packages/cli`, requer Node ≥ 22): pipeline de agentes sobre os núcleos poliglotas, com gate anti-racionalização via Rust core e auto-heal (N=2 tentativas) no run em 4 fases.
|
|
48
122
|
|
|
49
123
|
```bash
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
izanagi skill create rabbitmq-orchestrator --gap="Orquestração de mensageria RabbitMQ"
|
|
57
|
-
izanagi workflow inspect fullstack
|
|
58
|
-
izanagi eval --metrics correctness=0.9,security=0.8
|
|
59
|
-
izanagi benchmark compare
|
|
60
|
-
izanagi doctor --deep
|
|
124
|
+
cd packages/cli && npm install && npm run build
|
|
125
|
+
node dist/cli/src/index.js run --agent=architect --task="Design a caching layer"
|
|
126
|
+
node dist/cli/src/index.js agent list
|
|
127
|
+
node dist/cli/src/index.js skill list --category=rust # ou --search=<termo>
|
|
128
|
+
node dist/cli/src/index.js skill show <nome> --ref=<arquivo>
|
|
129
|
+
node dist/cli/src/index.js gates check <file>
|
|
61
130
|
```
|
|
62
131
|
|
|
63
132
|
---
|
|
64
133
|
|
|
65
|
-
##
|
|
134
|
+
## Skills & Agentes
|
|
66
135
|
|
|
67
|
-
|
|
68
|
-
izanagi-ai/
|
|
69
|
-
├── bin/ Executável da CLI (bin/izanagi.js → dist/cli)
|
|
70
|
-
├── src/ Runtime real em TypeScript (orchestrator, evaluation, resolver, scanner, factories, tools, tracer, llm, cli)
|
|
71
|
-
├── core/ Engines (.md) + skill-resolver.json (aliases → targets + compositions)
|
|
72
|
-
├── agents/ 22 definições de agentes em JSON (fonte da verdade dos comandos)
|
|
73
|
-
├── skills/ 106 skills em skills/<name>/SKILL.md (+ references.md opcional)
|
|
74
|
-
├── references/ Curadoria de referências reais por domínio (webgl-3d, scrollytelling, stack-2026...)
|
|
75
|
-
├── .agents/memoria/ Memória persistente anti-repetição (contexto, decisoes, erros-corrigidos, learnings)
|
|
76
|
-
├── .opencode/ Comandos slash do Opencode (adapters em .claude/, .codex/, .cursor/...)
|
|
77
|
-
├── AGENTS.md Instruções de operação do framework
|
|
78
|
-
├── SYSTEM.md Fundação do sistema (arquitetura real do runtime)
|
|
79
|
-
└── RULES.md Regras operacionais (Anti-Generic High-Craft & Cinematic UI)
|
|
80
|
-
```
|
|
136
|
+
**22 agentes especializados** (`agents/*.json`, fonte da verdade): `/discovery`, `/product-reasoner`, `/architect`, `/senior-engineer`, `/ai-engineer`, `/techlead`, `/automation-engineer`, `/security`, `/devops`, `/database`, `/qa`, `/bug-hunter`, `/docs`, `/pm`, `/professor`, `/researcher`, `/evaluator`, `/adversarial-critic`, `/form-engineer`, `/animation`, `/agent-architect`, `/skill-architect`. Cada um carrega um Agent Genome de 13 campos e chains compostas; a tabela completa com papéis está em [`AGENTS.md`](AGENTS.md).
|
|
81
137
|
|
|
82
|
-
|
|
138
|
+
**Skills**: 106 módulos legado v1 (`skills/`) e o catálogo ativo **v2** (`.skills/<name>/SKILL.md`), ambos distribuídos no pacote npm. O formato v2 usa front-matter estruturado:
|
|
83
139
|
|
|
84
|
-
|
|
140
|
+
```yaml
|
|
141
|
+
---
|
|
142
|
+
name: "anti-ai-slop"
|
|
143
|
+
description: "Detecta e corrige design 'cara de IA'..."
|
|
144
|
+
version: 2.0.0
|
|
145
|
+
category: design
|
|
146
|
+
tools:
|
|
147
|
+
mcp:
|
|
148
|
+
- mcp:fs_read
|
|
149
|
+
references:
|
|
150
|
+
- "references.md"
|
|
151
|
+
---
|
|
152
|
+
```
|
|
85
153
|
|
|
86
|
-
|
|
154
|
+
Seguido de seções fixas: *Triggering Criteria*, *Step-by-Step Workflow*, *Verification Steps*, *Common Rationalizations* e *Red Flags*. O consumo é por **progressive disclosure** (`skill show` carrega só o módulo necessário); skills nunca rodam isoladas — encadeiam via `compositions` do `core/skill-resolver.json` (258 aliases, 16 composições).
|
|
87
155
|
|
|
88
156
|
---
|
|
89
157
|
|
|
90
158
|
## Desenvolvimento
|
|
91
159
|
|
|
160
|
+
Ordem importa: `dist/` é gitignored e `bin/izanagi.js` importa de `../dist/cli/index.js` — rode `npm run build` antes de qualquer comando CLI local (`doctor`, `polyglot status`, `export`...), senão roda código obsoleto ou quebra. O mesmo vale para `packages/*/dist`.
|
|
161
|
+
|
|
92
162
|
```bash
|
|
93
|
-
|
|
94
|
-
npm
|
|
95
|
-
npm run
|
|
96
|
-
node --test dist/runtime/tests/*.test.js
|
|
97
|
-
npm run verify
|
|
163
|
+
# Legado npm (raiz)
|
|
164
|
+
npm install
|
|
165
|
+
npm run build # tsc && node dist/scripts/generate-manifest.js
|
|
166
|
+
npm test # build + node --test dist/runtime/tests/*.test.js (288 testes)
|
|
167
|
+
npm run verify # build + teste de instalação em sandbox (passa todos os pack IDs)
|
|
168
|
+
npm run doctor # node bin/izanagi.js doctor [--deep]
|
|
169
|
+
|
|
170
|
+
# Núcleos poliglotas
|
|
171
|
+
cargo test --workspace # Rust: core + mcp (111 testes)
|
|
172
|
+
cargo check -p izanagi_core --features wasm # type-check dos bindings WASM
|
|
173
|
+
(cd go-services/swarm_orchestrator && go build ./... && go vet ./... && go test ./...)
|
|
174
|
+
(cd python-engine && .venv/bin/python -m pytest tests/ -q) # 70 testes
|
|
175
|
+
(cd packages/sdk && npm install && npm test) # 42 testes
|
|
176
|
+
(cd packages/cli && npm install && npm test) # 13 testes
|
|
98
177
|
```
|
|
99
178
|
|
|
100
|
-
|
|
179
|
+
Requisitos por componente: Node ≥ 18 (raiz) e ≥ 22 nos pacotes novos, Rust stable, Go 1.26, Python ≥ 3.10.
|
|
101
180
|
|
|
102
181
|
### Publicando no NPM
|
|
103
182
|
|
|
183
|
+
CD exclusivo de tag `v*` (`.github/workflows/publish.yml`): bump → commit → tag → push; o workflow publica com provenance OIDC (SLSA v1). Localmente, o fluxo manual permanece:
|
|
184
|
+
|
|
104
185
|
```bash
|
|
105
186
|
npm run bump:patch # ou bump:minor / bump:major
|
|
106
187
|
npm publish # prepublishOnly roda o build automaticamente
|
|
107
188
|
```
|
|
108
189
|
|
|
190
|
+
CI (`.github/workflows/polyglot.yml`): 7 jobs paralelos em push/PR para `main` — legacy-npm, rust (clippy+test+wasm check), wasm-build E2E, go, python, ts-packages.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Documentação
|
|
195
|
+
|
|
196
|
+
| Documento | Conteúdo |
|
|
197
|
+
|---|---|
|
|
198
|
+
| [`AGENTS.md`](AGENTS.md) | Reference operacional: os 22 agentes, comandos, gotchas de desenvolvimento e release flow. |
|
|
199
|
+
| [`docs/POLYGLOT.md`](docs/POLYGLOT.md) | Contratos IPC entre núcleos, error codes JSON-RPC, tabela de env vars, gaps conhecidos e resumo dos ADRs. |
|
|
200
|
+
| [`ARCHITECTURE.md`](ARCHITECTURE.md) | Visão arquitetural do framework e da topologia poliglota. |
|
|
201
|
+
| [`CONTRIBUTING.md`](CONTRIBUTING.md) | Guia de contribuição: convenções, fluxo de PR e padrões do repo. |
|
|
202
|
+
| [`ROADMAP.md`](ROADMAP.md) | Planejamento de evolução por waves e marcos. |
|
|
203
|
+
| [`SYSTEM.md`](SYSTEM.md) / [`RULES.md`](RULES.md) | Fundação do runtime e regras operacionais (Anti-Generic High-Craft & Cinematic UI). |
|
|
204
|
+
| [`CHANGELOG.md`](CHANGELOG.md) | Histórico de versões. |
|
|
205
|
+
|
|
109
206
|
---
|
|
110
207
|
|
|
111
208
|
## Licença
|
package/ROADMAP.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Roadmap
|
|
2
2
|
|
|
3
|
-
> Versão atual: **3.
|
|
3
|
+
> Versão atual: **3.10.0**. Estado atual e evolução planejada do **Izanagi AI: Adaptive Agent & Skill Runtime**.
|
|
4
4
|
> Legenda: ✅ Done · 🔧 In progress · 📋 Planned · 💡 Future idea
|
|
5
5
|
> Histórico linha-a-linha de cada release em `CHANGELOG.md`: este arquivo resume por fase, não duplica o changelog.
|
|
6
6
|
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
- [x] **Skill Security Scanner** (`src/runtime/security/`): prompt injection, instruções perigosas, scripts, permissões, requisitos de rede/fs; LOW/MEDIUM/HIGH/CRITICAL
|
|
48
48
|
- [x] **Benchmarks** (`benchmarks/` + `src/runtime/benchmarks/`): 10 domínios, validators, expectativas de artefatos, `izanagi benchmark run/list/compare` com relatório comparável entre versões
|
|
49
49
|
- [x] **CLI runtime**: `izanagi agent list|inspect`, `skill list|search|inspect|create`, `workflow list|inspect`, `run`, `trace`, `eval`, `benchmark`, `memory inspect|search`, `doctor --deep`, `diagnose`
|
|
50
|
-
- [x] **
|
|
50
|
+
- [x] **Doctor expandido**: valida system/agents/skills/resolver/memória/providers/tools/contratos/avaliação/benchmarks
|
|
51
51
|
- [x] Testes node:test cobrindo resolver, scoring, contracts, evaluation, graph, parallel, retry, healing, memory, handoff, factories, model routing, CLI, tracer, scanner, tools, benchmarks, orchestrator
|
|
52
52
|
|
|
53
53
|
## Fase 4: Evolução v2.11 (🔧 / 📋)
|
package/RULES.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# IZANAGI AI: Operating Rules
|
|
2
2
|
|
|
3
|
-
> Version 3.
|
|
3
|
+
> Version 3.10.0
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -87,6 +87,16 @@ Regras obrigatórias de autonomia e execução:
|
|
|
87
87
|
- **Autonomia de ponta a ponta:** Execute a tarefa até a conclusão total (planejamento → instalação de deps → código completo → build e verificação), sem parar pela metade ou exigir intervenção manual desnecessária.
|
|
88
88
|
- **Execução proativa de comandos:** Sempre que houver comandos utilitários, de build, teste ou instalação necessários para o sucesso da tarefa, execute-os autonomamente.
|
|
89
89
|
|
|
90
|
+
### 2.6 Zero-Waste Execution (Tools & Edits)
|
|
91
|
+
|
|
92
|
+
Diretrizes de desperdício-zero ao executar e editar; detalhamento completo na skill `economia-tokens` (Fluxo Zero-Waste + Pilares 4 e 6):
|
|
93
|
+
|
|
94
|
+
- **Silenciamento de ferramentas:** prefira flags quiet em comandos cuja saída bruta não será lida integralmente (`--quiet`/`--silent`/`-s`, `pytest -q --tb=short`, `cargo build 2>&1 | tail -n 20`, `git log --oneline -n 5`).
|
|
95
|
+
- **Geração orientada a DIFF:** proibido reescrever arquivo inteiro para mudança pontual; use edição cirúrgica/unified diff ("Edit by diff", seção 2.4). Rewrite integral só quando a maioria do arquivo muda.
|
|
96
|
+
- **Observation hygiene:** resuma outputs longos antes de reportar ou manter em contexto (grep da falha, `--stat`, `| tail`); nunca cole dumps integrais no contexto nem na resposta.
|
|
97
|
+
|
|
98
|
+
## 3. Skills
|
|
99
|
+
|
|
90
100
|
### 3.1 Skill Declaration
|
|
91
101
|
|
|
92
102
|
Every skill file must contain:
|
package/SYSTEM.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# IZANAGI AI: System Foundation
|
|
2
2
|
|
|
3
|
-
> Version 3.
|
|
3
|
+
> Version 3.10.0
|
|
4
4
|
> Codename: "The Architect's Mind"
|
|
5
5
|
|
|
6
6
|
---
|
|
@@ -63,7 +63,7 @@ User Input / Comando CLI
|
|
|
63
63
|
└─────────────┬──────────────┘
|
|
64
64
|
▼
|
|
65
65
|
┌────────────────────────────┐
|
|
66
|
-
│ Memory & Observability │ ← MemoryStore (JSON), TraceStore (
|
|
66
|
+
│ Memory & Observability │ ← MemoryStore (JSON), TraceStore (JSON por run),
|
|
67
67
|
│ │ .agents/memoria/ persistente
|
|
68
68
|
└─────────────┬──────────────┘
|
|
69
69
|
▼
|
|
@@ -87,7 +87,7 @@ User Input / Comando CLI
|
|
|
87
87
|
| **Healing Engine** | `retry` (transitório), `skill_replacement` (artefato inválido), `fallback`, `abort` (limite de tentativas). |
|
|
88
88
|
| **Failure Memory** (`memory/store.ts`) | `recordFailure` + `findRelevantFailures` por categoria: erros reais registrados são injetados como evidência em runs futuros (anti-repetição). |
|
|
89
89
|
| **Memory Store** (`memory/store.ts`) | Stats por agente, learnings, histórico de runs (JSON em disco). |
|
|
90
|
-
| **Trace Store** (`observability/tracer.ts`) | Traces de execução em
|
|
90
|
+
| **Trace Store** (`observability/tracer.ts`) | Traces de execução em JSON (um arquivo por run em `.izanagi/state/traces/`) com spans, load/close e retry de escrita. |
|
|
91
91
|
| **Benchmarks** (`benchmarks/`) | 10 casos builtin (parse, scoring, scanner, genome, composer...) executáveis via `izanagi benchmark` + `compare` entre builds. |
|
|
92
92
|
| **LLM Executor** (`llm/`) | Adapters reais OpenAI/Anthropic/Google com env key, timeout e propagação de erro HTTP. |
|
|
93
93
|
| **Evidence System** (`research/evidence.ts`) | Claims FACT/ASSUMPTION/INFERENCE/UNKNOWN com fonte, confiança e hierarquia de sourceType (official docs > source code > tests > package metadata > reliable tech > community); relatório de claims críticas. ⚠️ Implementado e testado, mas **nenhum caller em produção** hoje: nem `Orchestrator` nem `planner.ts` o invocam; só o próprio teste do módulo o exercita. Roadmap: ligar à execução do agente `researcher`. |
|
|
@@ -123,7 +123,7 @@ Não há "compression engine" mágico: a economia de tokens é uma **skill opera
|
|
|
123
123
|
|
|
124
124
|
## Quality Gates: Every Output
|
|
125
125
|
|
|
126
|
-
Todo output passa por gates reais antes de ser considerado entregue:
|
|
126
|
+
Todo output passa por gates reais antes de ser considerado entregue (os heurísticos anti-slop/anti-racionalização também rodam como engine Rust em `crates/izanagi_core`: contratos e integração em `docs/POLYGLOT.md`):
|
|
127
127
|
|
|
128
128
|
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.
|
|
129
129
|
2. ✅ **Validation Gate**: artefatos validados contra schema (campos obrigatórios + tamanho mínimo); inválido → healing `skill_replacement`.
|
|
@@ -141,7 +141,7 @@ Todo output passa por gates reais antes de ser considerado entregue:
|
|
|
141
141
|
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
142
142
|
│ │ Agent │ │Learnings │ │ Runs/ │ │
|
|
143
143
|
│ │ Stats │ │ (erros │ │ Trace │ │
|
|
144
|
-
│ │ (JSON) │ │ evitados)│ │ (
|
|
144
|
+
│ │ (JSON) │ │ evitados)│ │ (JSON) │ │
|
|
145
145
|
│ └──────────┘ └──────────┘ └──────────┘ │
|
|
146
146
|
│ └──────────────┬──────────────────┘ │
|
|
147
147
|
│ ▼ │
|
|
@@ -153,7 +153,7 @@ Todo output passa por gates reais antes de ser considerado entregue:
|
|
|
153
153
|
└────────────────────────────────────────────┘
|
|
154
154
|
```
|
|
155
155
|
|
|
156
|
-
Memória entre sessões vive em `.agents/memoria/` (markdown curado). Memória de execução (stats, traces, learnings) vive no runtime (JSON
|
|
156
|
+
Memória entre sessões vive em `.agents/memoria/` (markdown curado). Memória de execução (stats, traces, learnings) vive no runtime (JSON em disco): consulte `MemoryStore` e `TraceStore`.
|
|
157
157
|
|
|
158
158
|
## Evolution Cycle
|
|
159
159
|
|
package/core/decision-engine.md
CHANGED
package/core/quality-gates.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
## Identity
|
|
11
11
|
|
|
12
|
-
Quality Gates are the final validation layer before any output is delivered to the user. Every response passes through
|
|
12
|
+
Quality Gates are the final validation layer before any output is delivered to the user. Every response passes through 6 gates: Security, Style, Clarity, Conciseness, Completeness, and Masterpiece (Gate 6). If any fatal gate fails, the output is rejected and reworked. Os heurísticos anti-slop/anti-racionalização também existem como engine Rust runtime (`crates/izanagi_core`) — contratos e integração em `docs/POLYGLOT.md`.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -210,7 +210,7 @@ quality_result:
|
|
|
210
210
|
|
|
211
211
|
### Always
|
|
212
212
|
|
|
213
|
-
- ✅ Run all
|
|
213
|
+
- ✅ Run all 6 gates on every output.
|
|
214
214
|
- ✅ Block output on security gate failure.
|
|
215
215
|
- ✅ Log gate results for Reflection Engine.
|
|
216
216
|
- ✅ Fix style issues automatically when possible.
|
|
@@ -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":"AA2DA,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;AAmBD,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoL/E;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,IAAI,CAAC,CA4Ff;AA+BD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAYnE"}
|