izanagi-ai 3.9.0 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -47,4 +47,4 @@
47
47
  - `.opencode/agent/*.md`: integração com opencode (compatível com Kimi CLI)
48
48
 
49
49
  ---
50
- Gerado pelo Izanagi AI em `C:\Users\pedro.leal\Documents\NexusAI`: `izanagi export --cli codex`
50
+ Gerado pelo Izanagi AI: `izanagi export --cli codex`
@@ -47,4 +47,4 @@
47
47
  Definições completas em `agents/*.json` e skills em `skills/<name>/SKILL.md`.
48
48
 
49
49
  ---
50
- Gerado pelo Izanagi AI em `C:\Users\pedro.leal\Documents\NexusAI`: `izanagi export --cli copilot`
50
+ Gerado pelo Izanagi AI: `izanagi export --cli copilot`
@@ -42,6 +42,21 @@
42
42
  #
43
43
  # 4) PARIDADE DE RUNTIME: Node 24 (igual dev local e igual Polyglot CI,
44
44
  # onde o job legacy-npm validou ci/build/test no 24). O 20.x era drift.
45
+ #
46
+ # 5) PROVENANCE OIDC DO NPM (Wave 5 - frente C, 2026-08-23):
47
+ # `npm publish --provenance` anexa uma declaração de proveniência SLSA
48
+ # assinada via keyless Sigstore ao pacote, provando que o artefato foi
49
+ # construído NESTE workflow, NESTE repo, a partir da tag publicada.
50
+ # - Permissão `id-token: write` declarada APENAS no job publish (least
51
+ # privilege): build-and-verify não publica e não deve mintar OIDC.
52
+ # Bloco de permissions de job SOBRESCREVE o global, por isso
53
+ # contents:read é redeclarado nele.
54
+ # - Direção de falha segura (fail-closed): se o token OIDC/provenance
55
+ # falhar, o npm ABORTA o publish antes do upload - nunca há pacote
56
+ # publicado sem provenance silenciosamente.
57
+ # Pré-requisitos conferidos: npm >=9.5 (Node 24 => npm 11.x), registry
58
+ # npmjs.org, campo repository do package.json = este repo, evento
59
+ # push tag/release suportado.
45
60
  # =============================================================================
46
61
 
47
62
  name: Publish to NPM
@@ -81,6 +96,14 @@ jobs:
81
96
  needs: build-and-verify
82
97
  runs-on: ubuntu-latest
83
98
  timeout-minutes: 10
99
+ # Least privilege no nível de JOB (não global): id-token:write é exigido
100
+ # pelo provenance OIDC do npm e vale só aqui. Este bloco SOBRESCREVE o
101
+ # permissions do topo do workflow para este job - por isso contents:read
102
+ # é redeclarado (checkout continua funcionando). build-and-verify segue
103
+ # herdando apenas contents:read do escopo global.
104
+ permissions:
105
+ contents: read
106
+ id-token: write
84
107
  steps:
85
108
  # actions/checkout@v4
86
109
  - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
@@ -112,6 +135,8 @@ jobs:
112
135
  fi
113
136
  - name: Publish (only if version is new)
114
137
  if: steps.version_guard.outputs.already_published == 'false'
115
- run: npm publish --access public
138
+ # --provenance: exige id-token:write (acima). Fail-closed: sem OIDC
139
+ # válido o npm aborta ANTES do upload - nunca publica sem assinatura.
140
+ run: npm publish --access public --provenance
116
141
  env:
117
142
  NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/.kimi/README.md CHANGED
@@ -23,4 +23,4 @@ O **Kimi CLI** é compatível com a convenção do opencode: ele lê `AGENTS.md`
23
23
  - **Sempre**: IaC versionado; monitoramento desde o dia 1; secrets por ferramenta própria.
24
24
  - **Nunca**: commit `.env`; container root; deploy sem CI; hardcode de config de ambiente.
25
25
 
26
- > Gerado pelo Izanagi AI em `C:\Users\pedro.leal\Documents\NexusAI`: `izanagi export --cli kimi`
26
+ > Gerado pelo Izanagi AI: `izanagi export --cli kimi`
package/.manifest CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "izanagi-ai",
3
- "version": "3.9.0",
3
+ "version": "3.10.0",
4
4
  "description": "Izanagi AI - Modular Skill-Oriented AI Prompt & Agent Framework for Autonomous Software Engineering",
5
5
  "author": "Pedro Henrique Sanches Leal",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/pedrohenriquesanchesleal4-debug/izanagi-ai#readme",
8
- "generatedAt": "2026-08-23T05:32:21.270Z",
8
+ "generatedAt": "2026-08-23T18:12:57.777Z",
9
9
  "agents": [
10
10
  {
11
11
  "id": "adversarial-critic",
package/AGENTS.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # AGENTS.md: Izanagi AI Framework Reference
2
2
 
3
- > Version 3.6.0
3
+ > Version 3.9.0
4
4
  > Modular Skill-Oriented AI Prompt & Agent Framework for Autonomous Software Engineering
5
5
  > Multi-CLI: Opencode · Claude Code · Codex · Cursor · Copilot · Kimi (Smart Auto-Detection & Selective Generation)
6
6
 
@@ -8,7 +8,7 @@
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 (Routing → Orchestration → Evaluation → Healing → Memory), biblioteca de skills especializadas, **Skill Composer** (16 composições de skills encadeadas por domínio), **22 agentes especializados core + gerados**, **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 (catálogo v2 em `.skills/` convivendo com o legado `skills/`), **Skill Composer** (16 composições de skills encadeadas por domínio), **22 agentes especializados core + gerados**, **Memória Persistente Anti-Repetição** (`.agents/memoria/`), **Curadoria de Referências** (`references/`), **Checkpoint & Self-Healing Swarm Engine**, uma **CLI executável (`izanagi`)** publicada no npm (`izanagi-ai`) e uma **topologia poliglota** (Rust · Go · Python · TS — seção 3). Este repositório É o framework (não um app que o usa).
12
12
 
13
13
  ---
14
14
 
@@ -46,40 +46,84 @@ O framework conta com **22 agentes especializados** em `agents/*.json` + orquest
46
46
 
47
47
  ---
48
48
 
49
- ## 3. Comandos de Desenvolvimento (ordem importa)
49
+ ## 3. Arquitetura Poliglota (Waves 1–4)
50
+
51
+ Coexistência **Strangler Fig** (ADR-001): o legado npm (`src/`, CLI `izanagi`) permanece intocado e publicável; o crescimento novo vive num SDK TypeScript + 4 núcleos nativos, orquestrados pela CLI de nova geração (`packages/cli`, binário `izanagi-next`). Referência canônica de contratos IPC, error codes (`-32001..-32005`), env vars e ADRs: **`docs/POLYGLOT.md`** (ADRs integrais em `.agents/memoria/decisoes.md`, gitignored).
52
+
53
+ | Componente | Linguagem | Responsabilidade | Como testar |
54
+ |---|---|---|---|
55
+ | `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` (`--file=<path>` / `--stdin`, exit 0/1/2); bindings WASM feature-gated (`--features wasm`, subcomandos `--version`/`--help`) | `cargo test --workspace` (111 testes) · `cargo check -p izanagi_core --features wasm` |
56
+ | `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` |
57
+ | `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 | `(cd go-services/swarm_orchestrator && go build ./... && go vet ./... && go test ./...)` |
58
+ | `python-engine/ast_analyzer` | Python ≥3.10 | Análise semântica multilíngue: símbolos, complexidade ciclomática, imports (tree-sitter + fallback estrutural) | `(cd python-engine && .venv/bin/python -m pytest tests/ -q)` (70 testes) |
59
+ | `packages/sdk` | TypeScript | `@izanagi/sdk`: clientes tipados strict para os 4 núcleos + catálogo de skills; zero deps runtime | `(cd packages/sdk && npm install && npm test)` |
60
+ | `packages/cli` | TypeScript | Binário `izanagi-next`: run em 4 fases com auto-heal (N=2), `agent list`, `skill list`, `gates check`; exit codes próprios (0 ok · 1 gate/falha · 2 uso · 3 ambiente) | smoke manual (`help`, `agent list`) — suíte própria pendente |
61
+ | `packages/skill-migrator` · `agent-migrator` | Node ESM | Migradores determinísticos idempotentes: skills v1→v2 (106 módulos) e agents JSON→YAML (22) — ADR-004/005 | `node packages/agent-migrator/cli.mjs --check` · `node packages/skill-migrator/cli.mjs --dry-run` |
62
+
63
+ **Gotchas poliglotas:**
64
+ - Socket do orquestrador tem defaults divergentes por lado: servidor Go `/tmp/izanagi-orch.sock` (env `IZANAGI_ORCHESTRATOR_SOCK`) × SDK TS `/tmp/izanagi-swarm.sock` (env `IZANAGI_ORCHESTRATOR_SOCKET`). Case os dois via env antes de integrar (tabela completa em `docs/POLYGLOT.md`).
65
+ - Testes do SDK/CLI NUNCA via strip-types direto sobre `.ts`: use o build próprio de cada pacote (`npm test` dentro de `packages/sdk`).
66
+ - `Cargo.lock` é commitado (pins exatos, ex.: wasm-bindgen); build `.wasm` real só existe no job CI `wasm-build`.
67
+
68
+ ---
69
+
70
+ ## 4. Comandos de Desenvolvimento (ordem importa)
50
71
 
51
72
  ```
73
+ # Legado npm (raiz)
52
74
  npm install # instala deps
53
75
  npm run build # tsc && node dist/scripts/generate-manifest.js
54
- npm test # build + node --test dist/runtime/tests/*.test.js (262 testes)
76
+ npm test # build + node --test dist/runtime/tests/*.test.js (284 testes)
55
77
  npm run verify # build + teste de instalação em sandbox (passa todos os pack IDs)
56
- npm run doctor # node bin/izanagi.js doctor: auditoria de integridade
78
+ npm run doctor # node bin/izanagi.js doctor [--deep]: auditoria de integridade
57
79
  npm run bump:patch # npm version patch --no-git-tag-version (também minor/major)
58
80
  npm publish # prepublishOnly roda build; depois: git push
81
+
82
+ # Núcleos poliglotas
83
+ cargo build --workspace # Rust: bins izanagi-core / izanagi-mcp em target/debug/
84
+ cargo test --workspace # 111 testes (core + mcp)
85
+ cargo check -p izanagi_core --features wasm # type-check dos bindings WASM (ADR-003)
86
+ (cd go-services/swarm_orchestrator && go build ./... && go vet ./... && go test ./...)
87
+ (cd python-engine && .venv/bin/python -m pip install -r requirements-dev.txt && .venv/bin/python -m pytest tests/ -q)
88
+ (cd packages/sdk && npm install && npm test)
89
+ (cd packages/cli && npm install && npm run build)
90
+
91
+ # Diagnóstico & catálogos v2
92
+ node bin/izanagi.js polyglot status [--json|--strict] # saúde dos 7 componentes poliglotas (--strict sai 1 se algo ausente)
93
+ node packages/agent-migrator/cli.mjs --check # drift YAML ↔ JSON (exit 0 sincronia / 1 drift / 2 uso)
94
+ node packages/skill-migrator/cli.mjs --dry-run # valida migração skills v2 sem escrever
59
95
  ```
60
96
 
61
97
  **Gotchas críticos:**
62
- - `dist/` é gitignored e `bin/izanagi.js` importa de `../dist/cli/index.js`: **rode `npm run build` antes de qualquer comando CLI local**, senão roda código obsoleto ou quebra.
63
- - `doctor` valida: SYSTEM.md/RULES.md, JSONs de agentes e aliases do resolver → targets.
64
- - Há test runner real (`node:test`, 165 testes em `src/runtime/tests/`). Verificação = `npm test` + `npm run verify` + `npm run doctor`.
98
+ - `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`: rode o build do package antes de consumir SDK/CLI-next.
99
+ - `doctor`: instalação completa do usuário = `.agents/agents/` contendo agentes em **JSON** (formato distribuído); os YAMLs derivados do repo-fonte não caracterizam instalação.
100
+ - Há test runner real (`node:test`, 284 testes em `src/runtime/tests/`). Verificação = `npm test` + `npm run verify` + `npm run doctor` + suítes poliglotas da seção 3.
65
101
  - Padrão de commit do repo: `chore: bump to vX.Y.Z` para bumps e `feat:`/`fix:`/`docs:` descritivos em PT-BR para mudanças.
66
102
 
67
103
  ---
68
104
 
69
- ## 4. Estrutura do Framework
105
+ ## 5. Estrutura do Framework
70
106
 
107
+ **Legado (fonte canônica de agentes e skills):**
71
108
  - `core/`: 14 engines (.md, incluindo `skill-composer.md`, `checkpoint-healing-engine.md`, `quality-gates.md`) + **`skill-resolver.json`** (mapa alias → target, 258 aliases, 16 `compositions`)
72
- - `agents/`: Definições de agentes em JSON (fonte da verdade para os comandos) com `chains` compostas e Agent Genome (13 campos)
73
- - `skills/`: 106 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")
109
+ - `agents/`: 22 definições de agentes em JSON (fonte da verdade para os comandos) com `chains` compostas e Agent Genome (13 campos); derivados YAML em `.agents/agents/*.yaml` gerados pelo agent-migrator — proibido editar YAML à mão
110
+ - `skills/`: legado histórico v1 (fonte do migrador). Catálogo ativo **v2**: `.skills/<name>/SKILL.md` (106 módulos; front-matter `name/description/version/category/tools.mcp` + seções Triggering Criteria / Step-by-Step Workflow / Verification Steps / Common Rationalizations / Red Flags; subpastas `references/`)
74
111
  - `references/`: curadoria de referências reais por domínio (webgl-3d, scrollytelling, ui-design-systems, stack-2026, performance-seo)
75
- - `.agents/memoria/`: memória persistente anti-repetição: `contexto.md`, `decisoes.md`, `erros-corrigidos.md`, `learnings.md`
112
+ - `.agents/memoria/`: memória persistente anti-repetição (**gitignored**, só existe local): `contexto.md`, `decisoes.md` (ADRs), `erros-corrigidos.md`, `learnings.md`
76
113
  - `.opencode/agent/`: comandos slash do Opencode/Kimi CLI, gerados sob demanda a partir de `agents/*.json` (`izanagi export --cli opencode`), junto dos adapters de `.claude/`, `.codex/`, `.cursor/`, `.github/`, `.kimi/`
77
- - `src/`: CLI TypeScript (entrypoint: `src/cli/index.ts` → `runCLI`; multi-CLI export: `src/exporters.ts`)
114
+ - `src/`: CLI TypeScript (entrypoint: `src/cli/index.ts` → `runCLI`; multi-CLI export: `src/exporters.ts`; diagnóstico poliglota: `src/cli/commands/polyglot.ts`)
78
115
  - `SYSTEM.md` & `RULES.md`: fundação e regras operacionais (Anti-Generic High-Craft, Masterpiece Gate & Cinematic UI)
79
116
 
117
+ **Poliglota (crescimento novo):**
118
+ - `crates/`: workspace Rust na raiz — `izanagi_core` (quality engine + bindings WASM feature-gated), `izanagi_mcp` (cliente MCP stdio); `Cargo.lock` commitado
119
+ - `go-services/swarm_orchestrator/`: orquestrador Go (Uber Fx, JSON-RPC 2.0 sobre UDS, event push, artefatos por estágio)
120
+ - `python-engine/`: analisador AST multilíngue (tree-sitter + fallback, ~70 testes, venv em `.venv/`)
121
+ - `packages/`: `sdk` (`@izanagi/sdk`), `cli` (binário `izanagi-next`), `skill-migrator`, `agent-migrator` — todos `private`
122
+ - `docs/POLYGLOT.md`: referência canônica da topologia poliglota (contratos IPC, tabela de env vars, gaps conhecidos, resumo dos ADRs)
123
+
80
124
  ---
81
125
 
82
- ## 5. Regras de Execução, Autonomia & Masterpiece Gate
126
+ ## 6. Regras de Execução, Autonomia & Masterpiece Gate
83
127
 
84
128
  - **Estudo Antes de Codar (Study-First):** toda tarefa começa (1) carregando `.agents/memoria/contexto.md` (sempre) + só os arquivos de `.agents/memoria/` (`decisoes.md`, `erros-corrigidos.md`, `learnings.md`) do domínio da tarefa (cada agente nativo em `.claude/agents/*.md` já aponta pra sua fatia relevante, não é preciso reler os quatro por hábito), (2) consultando `references/` e/ou `deep-research` quando a tarefa exigir informação externa, e só então (3) arquitetar e implementar. Nunca programe no escuro, mas também nunca recarregue contexto irrelevante.
85
129
  - **Lei da Fidelidade Absoluta a Referências (Anti-Rush):** Quando solicitado clonagem, inspiração ou replicação de uma referência visual/técnica (ex: `igloo.inc`), os agentes têm **estritamente proibido** retornar respostas apressadas ou fingir estudo superficial. É obrigatório decompor rigorosamente a estrutura, tipografia, grid, animações e micro-interações da referência e entregar uma obra de excelência artesanal (*High-Craft*) idêntica ou superior.
@@ -97,7 +141,7 @@ npm publish # prepublishOnly roda build; depois: git push
97
141
 
98
142
  ---
99
143
 
100
- ## 6. Padrão Anti-Generic / High-Craft & Cinematic UI
144
+ ## 7. Padrão Anti-Generic / High-Craft & Cinematic UI
101
145
 
102
146
  Proibido entregar código/design genérico "cara de IA" (templates óbvios, fundos cinzas chapados, cards repetitivos, sem animação).
103
147
  - **Obrigatório:** Estética Apple-like / Awwwards-grade (`bg-zinc-950`, glassmorphism, bento grids, tipografia precisa, scrollytelling e micro-interações).
@@ -105,7 +149,7 @@ Proibido entregar código/design genérico "cara de IA" (templates óbvios, fund
105
149
 
106
150
  ---
107
151
 
108
- ## 7. Multi-CLI Compatibility & Smart Detection
152
+ ## 8. Multi-CLI Compatibility & Smart Detection
109
153
 
110
154
  O framework funciona em qualquer CLI de IA que leia `AGENTS.md` e possui adapters gerados:
111
155
 
@@ -123,7 +167,11 @@ O framework funciona em qualquer CLI de IA que leia `AGENTS.md` e possui adapter
123
167
 
124
168
  ---
125
169
 
126
- ## 8. Release Flow (resumo)
170
+ ## 9. Release Flow & CI/CD (resumo)
171
+
172
+ **CI — `.github/workflows/polyglot.yml`** (push/PR em `main`; jobs 100% paralelos, fail-fast global, actions fixadas por SHA): `legacy-npm` (build+test) · `rust` (clippy + test + check wasm) · `wasm-build` (`.wasm` E2E, ADR-003) · `go` (build/vet/test) · `python` (pytest com pins) · `ts-packages` (sdk test + cli build).
173
+
174
+ **CD — `.github/workflows/publish.yml`**: exclusivo de tag `v*`/release; guard idempotente; least privilege. Pacotes poliglotas (`@izanagi/sdk`, `@izanagi/cli-next`) são `private` — só o legado npm publica (whitelist `files` não inclui `crates/`, `go-services/`, `python-engine/`, `packages/`, por decisão deliberada).
127
175
 
128
176
  1. `npm run bump:patch` (ou minor/major): bumpa `package.json`/`package-lock.json`
129
177
  2. `npm run build`: recompila + regenera `.manifest`
package/CLAUDE.md CHANGED
@@ -78,4 +78,4 @@ Todas as 106 skills da biblioteca (`skills/<name>/SKILL.md`) foram exportadas fi
78
78
  > Regras específicas de cada agente (always/never) vivem em `.claude/agents/<slug>.md`: lidas sob demanda só quando aquele agente é ativado, não duplicadas aqui.
79
79
 
80
80
  ---
81
- Gerado pelo Izanagi AI em `C:\Users\pedro.leal\Documents\NexusAI`: `izanagi export --cli claude`
81
+ Gerado pelo Izanagi AI: `izanagi export --cli claude`
@@ -40,6 +40,16 @@ export declare const CLAUDE_AGENT_TOOLS_DEFAULT: string[];
40
40
  export declare const CLAUDE_AGENT_TRIGGERS: Record<string, string>;
41
41
  /** Marcador presente em todo arquivo gerado: permite regenerar sem arriscar sobrescrever edição manual. */
42
42
  export declare const GENERATED_MARKER = "Gerado pelo Izanagi AI";
43
+ /**
44
+ * Rodapé de proveniência DETERMINÍSTICO: nunca embute caminho absoluto da máquina geradora.
45
+ *
46
+ * Histórico (Wave 5): o formato antigo era `Gerado pelo Izanagi AI em \`${baseDir}\``, o que
47
+ * quebrava a idempotência byte-a-byte cross-machine — regenerar os adapters em outra máquina
48
+ * mudava essa linha, e o repositório chegou a congelar o cwd de uma geração Windows antiga
49
+ * (`C:\Users\pedro.leal\Documents\NexusAI`) nos arquivos commitados. O comando real de
50
+ * reprodução (`izanagi export --cli <cli>`) continua registrado; a máquina de origem, não.
51
+ */
52
+ export declare function provenanceFooter(cli: string): string;
43
53
  /**
44
54
  * Subconjunto curado histórico: mantido só para não quebrar imports externos.
45
55
  * `exportToClaude` não usa mais isto: exporta a biblioteca inteira (ver
@@ -1 +1 @@
1
- {"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5C;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAuBvD,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,0BAA0B,UAAoD,CAAC;AAE5F;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuBxD,CAAC;AAEF,2GAA2G;AAC3G,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,6JAWhB,CAAC;AAEX;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ3D;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAgDD,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA8CrE;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMnF;AAyQD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAkCxD;AAmED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAavD;AAyHD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAcxD;AAwCD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAMzD;AA2DD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAStD;AA2GD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAa1D;AAMD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CASnD"}
1
+ {"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5C;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAuBvD,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,0BAA0B,UAAoD,CAAC;AAE5F;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuBxD,CAAC;AAEF,2GAA2G;AAC3G,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,6JAWhB,CAAC;AAEX;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ3D;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAgDD,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA8CrE;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMnF;AAyQD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAkCxD;AAmED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAavD;AAyHD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAcxD;AAwCD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAMzD;AA2DD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAStD;AA2GD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAa1D;AAMD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CASnD"}
package/dist/exporters.js CHANGED
@@ -62,6 +62,18 @@ export const CLAUDE_AGENT_TRIGGERS = {
62
62
  };
63
63
  /** Marcador presente em todo arquivo gerado: permite regenerar sem arriscar sobrescrever edição manual. */
64
64
  export const GENERATED_MARKER = 'Gerado pelo Izanagi AI';
65
+ /**
66
+ * Rodapé de proveniência DETERMINÍSTICO: nunca embute caminho absoluto da máquina geradora.
67
+ *
68
+ * Histórico (Wave 5): o formato antigo era `Gerado pelo Izanagi AI em \`${baseDir}\``, o que
69
+ * quebrava a idempotência byte-a-byte cross-machine — regenerar os adapters em outra máquina
70
+ * mudava essa linha, e o repositório chegou a congelar o cwd de uma geração Windows antiga
71
+ * (`C:\Users\pedro.leal\Documents\NexusAI`) nos arquivos commitados. O comando real de
72
+ * reprodução (`izanagi export --cli <cli>`) continua registrado; a máquina de origem, não.
73
+ */
74
+ export function provenanceFooter(cli) {
75
+ return `${GENERATED_MARKER}: \`izanagi export --cli ${cli}\``;
76
+ }
65
77
  /**
66
78
  * Subconjunto curado histórico: mantido só para não quebrar imports externos.
67
79
  * `exportToClaude` não usa mais isto: exporta a biblioteca inteira (ver
@@ -338,7 +350,7 @@ ${a.handoffs && a.handoffs.length > 0 ? bullet(a.handoffs.map((h) => `\`${h.to}\
338
350
  > Fonte: \`agents/${a.file}\` · Gerado pelo Izanagi AI (\`izanagi export --cli claude\`)
339
351
  `;
340
352
  }
341
- function claudeMainTemplate(baseDir, agents, skills) {
353
+ function claudeMainTemplate(agents, skills) {
342
354
  const agentTable = agents
343
355
  .map((a) => `| \`${a.slug}\` | ${truncate(a.role, 140)} |`)
344
356
  .join('\n');
@@ -401,7 +413,7 @@ Todas as ${skills.length} skills da biblioteca (\`skills/<name>/SKILL.md\`) fora
401
413
  > Regras específicas de cada agente (always/never) vivem em \`.claude/agents/<slug>.md\`: lidas sob demanda só quando aquele agente é ativado, não duplicadas aqui.
402
414
 
403
415
  ---
404
- Gerado pelo Izanagi AI em \`${baseDir}\`: \`izanagi export --cli claude\`
416
+ ${provenanceFooter('claude')}
405
417
  `;
406
418
  }
407
419
  function claudeOrchestratorCommandTemplate(agents) {
@@ -464,7 +476,7 @@ export function exportToClaude(baseDir) {
464
476
  .map((n) => readSkillSummary(baseDir, n))
465
477
  .filter((s) => s !== null);
466
478
  // CLAUDE.md na raiz (fonte da verdade + regras essenciais inline)
467
- const main = writeIfAbsent(baseDir, 'CLAUDE.md', claudeMainTemplate(baseDir, agents, skills));
479
+ const main = writeIfAbsent(baseDir, 'CLAUDE.md', claudeMainTemplate(agents, skills));
468
480
  if (main)
469
481
  created.push(main);
470
482
  // subagents nativos em .claude/agents/<slug>.md: aparecem no Agent tool e são auto-selecionados
@@ -520,7 +532,7 @@ ${a.never.length > 0 ? bullet(a.never) : '- (sem regras nunca)'}
520
532
  > Fonte: \`agents/${a.file}\` · Gerado pelo Izanagi AI
521
533
  `;
522
534
  }
523
- function codexInstructionsTemplate(baseDir, agents) {
535
+ function codexInstructionsTemplate(agents) {
524
536
  const agentList = agents.map((a) => `- \`${a.slug}\`: ${a.role}`).join('\n');
525
537
  return `# Izanagi AI: Codex Instructions
526
538
 
@@ -550,13 +562,13 @@ ${agentList}
550
562
  - \`.opencode/agent/*.md\`: integração com opencode (compatível com Kimi CLI)
551
563
 
552
564
  ---
553
- Gerado pelo Izanagi AI em \`${baseDir}\`: \`izanagi export --cli codex\`
565
+ ${provenanceFooter('codex')}
554
566
  `;
555
567
  }
556
568
  export function exportToCodex(baseDir) {
557
569
  const created = [];
558
570
  const agents = loadIzanagiAgents(baseDir);
559
- const instr = writeIfAbsent(baseDir, '.codex/instructions.md', codexInstructionsTemplate(baseDir, agents));
571
+ const instr = writeIfAbsent(baseDir, '.codex/instructions.md', codexInstructionsTemplate(agents));
560
572
  if (instr)
561
573
  created.push(instr);
562
574
  for (const agent of agents) {
@@ -698,7 +710,7 @@ export function exportToCursor(baseDir) {
698
710
  /* ------------------------------------------------------------------ */
699
711
  /* Copilot (GitHub) */
700
712
  /* ------------------------------------------------------------------ */
701
- function copilotInstructionsTemplate(baseDir, agents) {
713
+ function copilotInstructionsTemplate(agents) {
702
714
  const agentList = agents.map((a) => `- \`${a.slug}\`: ${a.role}`).join('\n');
703
715
  return `# Izanagi AI: GitHub Copilot Instructions
704
716
 
@@ -728,13 +740,13 @@ ${agentList}
728
740
  Definições completas em \`agents/*.json\` e skills em \`skills/<name>/SKILL.md\`.
729
741
 
730
742
  ---
731
- Gerado pelo Izanagi AI em \`${baseDir}\`: \`izanagi export --cli copilot\`
743
+ ${provenanceFooter('copilot')}
732
744
  `;
733
745
  }
734
746
  export function exportToCopilot(baseDir) {
735
747
  const created = [];
736
748
  const agents = loadIzanagiAgents(baseDir);
737
- const rel = writeIfAbsent(baseDir, '.github/copilot-instructions.md', copilotInstructionsTemplate(baseDir, agents));
749
+ const rel = writeIfAbsent(baseDir, '.github/copilot-instructions.md', copilotInstructionsTemplate(agents));
738
750
  if (rel)
739
751
  created.push(rel);
740
752
  return created;
@@ -742,7 +754,7 @@ export function exportToCopilot(baseDir) {
742
754
  /* ------------------------------------------------------------------ */
743
755
  /* Kimi CLI (Moonshot): compatível com convenção opencode */
744
756
  /* ------------------------------------------------------------------ */
745
- function kimiReadmeTemplate(baseDir) {
757
+ function kimiReadmeTemplate() {
746
758
  return `# Izanagi AI: Kimi CLI (Moonshot)
747
759
 
748
760
  O **Kimi CLI** é compatível com a convenção do opencode: ele lê \`AGENTS.md\` e os comandos slash em \`.opencode/agent/*.md\` nativamente.
@@ -768,10 +780,10 @@ O **Kimi CLI** é compatível com a convenção do opencode: ele lê \`AGENTS.md
768
780
  - **Sempre**: IaC versionado; monitoramento desde o dia 1; secrets por ferramenta própria.
769
781
  - **Nunca**: commit \`.env\`; container root; deploy sem CI; hardcode de config de ambiente.
770
782
 
771
- > Gerado pelo Izanagi AI em \`${baseDir}\`: \`izanagi export --cli kimi\`
783
+ > ${provenanceFooter('kimi')}
772
784
  `;
773
785
  }
774
- function kimiRootTemplate(baseDir) {
786
+ function kimiRootTemplate() {
775
787
  return `# Izanagi AI: Kimi CLI
776
788
 
777
789
  > **Fonte da verdade: \`AGENTS.md\`**: leia antes de qualquer tarefa.
@@ -790,15 +802,15 @@ O Kimi CLI (Moonshot) é compatível com a convenção do opencode: \`AGENTS.md\
790
802
 
791
803
  Definições completas em \`agents/*.json\`; ativação via \`/.opencode/agent/\`.
792
804
 
793
- > Gerado pelo Izanagi AI em \`${baseDir}\`: \`izanagi export --cli kimi\`
805
+ > ${provenanceFooter('kimi')}
794
806
  `;
795
807
  }
796
808
  export function exportToKimi(baseDir) {
797
809
  const created = [];
798
- const readme = writeIfAbsent(baseDir, '.kimi/README.md', kimiReadmeTemplate(baseDir));
810
+ const readme = writeIfAbsent(baseDir, '.kimi/README.md', kimiReadmeTemplate());
799
811
  if (readme)
800
812
  created.push(readme);
801
- const root = writeIfAbsent(baseDir, 'kimi.md', kimiRootTemplate(baseDir));
813
+ const root = writeIfAbsent(baseDir, 'kimi.md', kimiRootTemplate());
802
814
  if (root)
803
815
  created.push(root);
804
816
  return created;
@@ -1 +1 @@
1
- {"version":3,"file":"exporters.js","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exporters.js","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=exporters-provenance.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporters-provenance.test.d.ts","sourceRoot":"","sources":["../../../src/runtime/tests/exporters-provenance.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,173 @@
1
+ import { test } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import fs from 'node:fs';
4
+ import os from 'node:os';
5
+ import path from 'node:path';
6
+ import { fileURLToPath } from 'node:url';
7
+ import { exportAll, GENERATED_MARKER, provenanceFooter } from '../../exporters.js';
8
+ /**
9
+ * Idempotência byte-a-byte do exporter multi-CLI (Wave 5, frente A):
10
+ *
11
+ * BUG: os rodapés de proveniência embutiam o caminho absoluto do cwd da máquina
12
+ * geradora ("Gerado pelo Izanagi AI em `${baseDir}`"), o que fazia a mesma fonte
13
+ * gerar bytes diferentes em máquinas diferentes e congelava nos adapters
14
+ * commitados o caminho da máquina que gerou (ex.: C:\Users\...\NexusAI).
15
+ *
16
+ * CONTRATO: dado o MESMO conteúdo-fonte (agents/, skills/) em dois diretórios
17
+ * raiz DIFERENTES (simulando máquinas distintas), `exportAll` deve produzir
18
+ * arquivos BYTE-IDÊNTICOS. Nenhum caminho absoluto da máquina geradora pode
19
+ * vazar para o conteúdo; caminhos relativos funcionais (ex.: `agents/x.json`
20
+ * citado como fonte) continuam permitidos.
21
+ *
22
+ * Estratégia: dois sandboxes tmpdir com fixtures idênticas e caminhos absolutos
23
+ * de comprimentos distintos; export em ambos; comparação byte-a-byte de cada
24
+ * par de arquivos correspondentes + varredura anti-vazamento.
25
+ */
26
+ const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../..');
27
+ /** Fixture mínima porém representativa: 2 agentes (ramos com/sem model, chains, handoffs) + 2 skills (com/sem references.md). */
28
+ function writeFixtures(root) {
29
+ fs.mkdirSync(path.join(root, 'agents'), { recursive: true });
30
+ const seniorEngineer = {
31
+ name: 'Senior Engineer',
32
+ role: 'Full-stack dev de alta performance',
33
+ identity: 'Artesão de código: tipagem estrita, TDD, zero stubs.',
34
+ model: 'sonnet',
35
+ skills: ['tdd'],
36
+ chains: { bug: ['bug-hunter', 'tdd'], fullstack: ['architect', 'tdd'] },
37
+ always: ['Validar build antes de encerrar'],
38
+ never: ['Entregar stubs'],
39
+ handoffs: [{ to: 'qa', reason: 'validar qualidade antes do merge' }]
40
+ };
41
+ fs.writeFileSync(path.join(root, 'agents', 'senior-engineer-agent.json'), `${JSON.stringify(seniorEngineer, null, 2)}\n`, 'utf8');
42
+ const discovery = {
43
+ name: 'Discovery',
44
+ role: 'Pré-produção: entrevista condicional e prompt rico',
45
+ identity: 'Descoberta guiada antes de codar.'
46
+ };
47
+ fs.writeFileSync(path.join(root, 'agents', 'discovery-agent.json'), `${JSON.stringify(discovery, null, 2)}\n`, 'utf8');
48
+ fs.mkdirSync(path.join(root, 'skills', 'tdd'), { recursive: true });
49
+ fs.writeFileSync(path.join(root, 'skills', 'tdd', 'SKILL.md'), '---\ndescription: Test-Driven Development com Iron Law.\n---\n\n# TDD\n\nEscreva o teste antes.\n', 'utf8');
50
+ fs.writeFileSync(path.join(root, 'skills', 'tdd', 'references.md'), '# Referências TDD\n\n- Kent Beck\n', 'utf8');
51
+ fs.mkdirSync(path.join(root, 'skills', 'deep-research'), { recursive: true });
52
+ fs.writeFileSync(path.join(root, 'skills', 'deep-research', 'SKILL.md'), '---\ndescription: |\n Pesquisa multi-fonte na web.\n Síntese com fontes citadas.\n---\n\n# Deep Research\n\nPlaneje buscas.\n', 'utf8');
53
+ }
54
+ /** Lista recursiva de arquivos do sandbox como caminhos relativos POSIX ordenados. */
55
+ function listFilesRelative(root) {
56
+ const out = [];
57
+ const walk = (dir) => {
58
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
59
+ const abs = path.join(dir, entry.name);
60
+ if (entry.isDirectory()) {
61
+ walk(abs);
62
+ }
63
+ else if (entry.isFile()) {
64
+ out.push(path.relative(root, abs).split(path.sep).join('/'));
65
+ }
66
+ }
67
+ };
68
+ walk(root);
69
+ return out.sort();
70
+ }
71
+ /** Primeira linha divergente entre dois textos, para diagnóstico legível de falha. */
72
+ function firstDiffLine(a, b) {
73
+ const linesA = a.split('\n');
74
+ const linesB = b.split('\n');
75
+ const max = Math.max(linesA.length, linesB.length);
76
+ for (let i = 0; i < max; i++) {
77
+ const x = linesA[i];
78
+ const y = linesB[i];
79
+ if (x !== y) {
80
+ return `linha ${i + 1}: maquinaA=${JSON.stringify(x ?? '<ausente>')} maquinaB=${JSON.stringify(y ?? '<ausente>')}`;
81
+ }
82
+ }
83
+ return 'textos iguais por linha (divergência só em encoding?)';
84
+ }
85
+ /** Dois "machines": fixtures idênticas, caminhos absolutos deliberadamente distintos. */
86
+ function makeSandboxPair() {
87
+ const baseA = fs.mkdtempSync(path.join(os.tmpdir(), 'izanagi-prov-a-'));
88
+ const baseB = fs.mkdtempSync(path.join(os.tmpdir(), 'izanagi-prov-b-'));
89
+ // Profundidades/nomes diferentes ⇒ caminhos absolutos com comprimentos diferentes.
90
+ const machineA = path.join(baseA, 'workspace');
91
+ const machineB = path.join(baseB, 'diretorio-de-trabalho-da-maquina-b-bem-mais-comprido');
92
+ writeFixtures(machineA);
93
+ writeFixtures(machineB);
94
+ return { machineA, machineB };
95
+ }
96
+ function cleanup(pair) {
97
+ for (const root of [pair.machineA, pair.machineB]) {
98
+ fs.rmSync(root, { recursive: true, force: true });
99
+ }
100
+ }
101
+ test('provenanceFooter: formato determinístico, sem caminho absoluto e compatível com GENERATED_MARKER', () => {
102
+ const footer = provenanceFooter('claude');
103
+ // Formato exato (mudança de comportamento intencional: sem " em <caminho-absoluto>").
104
+ assert.equal(footer, 'Gerado pelo Izanagi AI: `izanagi export --cli claude`');
105
+ // Determinismo: mesma entrada, mesma saída, sempre.
106
+ assert.equal(provenanceFooter('claude'), footer);
107
+ // Contrato do writeIfAbsent: o rodapé PRECISA conter GENERATED_MARKER para que a
108
+ // regeneração sobrescreva gerações anteriores em vez de preservá-las como edição manual.
109
+ assert.ok(footer.includes(GENERATED_MARKER), 'footer deve conter GENERATED_MARKER');
110
+ // Nenhum caminho absoluto do sistema de arquivos pode vazar:
111
+ // - nada de cwd ou tmpdir da máquina que roda o teste
112
+ // - nenhuma linha começa com "/" (absoluto POSIX) nem contém "\" ou drive Windows "C:\"
113
+ assert.ok(!footer.includes(process.cwd()), 'footer não deve conter process.cwd()');
114
+ assert.ok(!footer.includes(os.tmpdir()), 'footer não deve conter os.tmpdir()');
115
+ assert.doesNotMatch(footer, /^\/|\\\\|[A-Za-z]:[\\\\/]/m);
116
+ });
117
+ test('provenanceFooter: todos os CLIs suportados recebem footer próprio, determinístico e distinto', () => {
118
+ const clis = ['claude', 'codex', 'cursor', 'copilot', 'kimi', 'opencode', 'all'];
119
+ const seen = new Set();
120
+ for (const cli of clis) {
121
+ const footer = provenanceFooter(cli);
122
+ assert.equal(footer, provenanceFooter(cli), `footer de ${cli} deve ser determinístico`);
123
+ assert.ok(footer.includes(`izanagi export --cli ${cli}`), `footer de ${cli} deve citar o comando correto`);
124
+ assert.ok(!footer.includes(' em `'), `footer de ${cli} não pode embutir caminho (padrão legado)`);
125
+ seen.add(footer);
126
+ }
127
+ assert.equal(seen.size, clis.length, 'footers de CLIs distintos devem ser distintos entre si');
128
+ });
129
+ test('export all: mesma fonte em máquinas distintas produz arquivos BYTE-IDÊNTICOS (idempotência cross-machine)', () => {
130
+ const pair = makeSandboxPair();
131
+ try {
132
+ const createdA = exportAll(pair.machineA);
133
+ const createdB = exportAll(pair.machineB);
134
+ assert.ok(createdA.length > 0, 'export na máquina A deve criar arquivos');
135
+ assert.equal(createdA.length, createdB.length, 'ambas as máquinas devem gerar a mesma quantidade de arquivos');
136
+ const expectedSet = [...createdA].sort();
137
+ assert.deepEqual([...createdB].sort(), expectedSet, 'mesmo conjunto de caminhos relativos nas duas máquinas');
138
+ for (const rel of createdA) {
139
+ const bytesA = fs.readFileSync(path.join(pair.machineA, rel));
140
+ const bytesB = fs.readFileSync(path.join(pair.machineB, rel));
141
+ assert.ok(bytesA.equals(bytesB), `arquivo ${rel} difere entre máquinas: ${firstDiffLine(bytesA.toString('utf8'), bytesB.toString('utf8'))}`);
142
+ }
143
+ // Idempotência local: re-executar no MESMO diretório não altera nenhum byte.
144
+ exportAll(pair.machineA);
145
+ for (const rel of createdA) {
146
+ const bytesAfter = fs.readFileSync(path.join(pair.machineA, rel));
147
+ const bytesFirstPass = fs.readFileSync(path.join(pair.machineB, rel));
148
+ assert.ok(bytesAfter.equals(bytesFirstPass), `re-execução local alterou ${rel}: ${firstDiffLine(bytesAfter.toString('utf8'), bytesFirstPass.toString('utf8'))}`);
149
+ }
150
+ // Sanidade do ambiente de teste: o próprio repo tem o marker, fixtures não precisam.
151
+ assert.ok(repoRoot.length > 0);
152
+ assert.ok(GENERATED_MARKER.length > 0);
153
+ }
154
+ finally {
155
+ cleanup(pair);
156
+ }
157
+ });
158
+ test('export all: nenhum arquivo gerado embute caminho absoluto da máquina geradora (padrão de footer legado abolido)', () => {
159
+ const pair = makeSandboxPair();
160
+ try {
161
+ exportAll(pair.machineA);
162
+ for (const rel of listFilesRelative(pair.machineA)) {
163
+ const content = fs.readFileSync(path.join(pair.machineA, rel), 'utf8');
164
+ assert.ok(!content.includes(pair.machineA), `${rel} contém o caminho absoluto da máquina geradora (${pair.machineA})`);
165
+ assert.ok(!content.includes(pair.machineB), `${rel} contém o caminho absoluto de outra máquina (${pair.machineB})`);
166
+ assert.ok(!content.includes(`${GENERATED_MARKER} em`), `${rel} usa o padrão legado "${GENERATED_MARKER} em <caminho>" — footer deve ser determinístico`);
167
+ }
168
+ }
169
+ finally {
170
+ cleanup(pair);
171
+ }
172
+ });
173
+ //# sourceMappingURL=exporters-provenance.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporters-provenance.test.js","sourceRoot":"","sources":["../../../src/runtime/tests/exporters-provenance.test.ts"],"names":[],"mappings":"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"}
package/kimi.md CHANGED
@@ -16,4 +16,4 @@ O Kimi CLI (Moonshot) é compatível com a convenção do opencode: `AGENTS.md`
16
16
 
17
17
  Definições completas em `agents/*.json`; ativação via `/.opencode/agent/`.
18
18
 
19
- > Gerado pelo Izanagi AI em `C:\Users\pedro.leal\Documents\NexusAI`: `izanagi export --cli kimi`
19
+ > Gerado pelo Izanagi AI: `izanagi export --cli kimi`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "izanagi-ai",
3
- "version": "3.9.0",
3
+ "version": "3.10.0",
4
4
  "description": "Izanagi AI - Modular Skill-Oriented AI Prompt & Agent Framework for Autonomous Software Engineering",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",