Summary
aiox update falha sempre ao actualizar para a versão 5.0.7 com erro Manifest signature verification failed: Manifest signature file not found (.minisig) e faz rollback automático — mesmo quando o npm install aiox-core@5.0.7 correu com sucesso antes.
Parece ser um bug do release 5.0.7 (não um problema de ambiente): o package npm foi publicado sem o ficheiro de assinatura, e a CLI não expõe forma de saltar a verificação.
Environment
- AIOX CLI: 5.0.7 (global install via
npm i -g aiox-core@5.0.7)
- Previous AIOX version: 5.0.4 (installed 2026-04-08)
- Node: v24.13.0
- Platform: macOS (darwin arm64)
- Project mode:
project-development
Steps to reproduce
# Projecto com AIOX 5.0.4 instalado
aiox update
Expected behavior
Update bem-sucedido para 5.0.7, com validação pós-install a passar.
Actual behavior
[downloading] Downloading update...
npm install aiox-core@5.0.7 --save-exact ← corre com sucesso
[finalizing] Updating version info...
[validating] Validating installation...
[PostInstallValidator] WARNING: Signature verification disabled - development mode only
[PostInstallValidator] Loaded manifest v5.0.4 with 1107 files ← carrega manifest ANTIGO
[rollback] Validation failed, rolling back...
✗ Update failed
Error: Validation failed (integrity: 0%)
Rolled back to previous version.
Execução directa do aiox validate confirma a causa raiz:
✗ Manifest signature: NOT VERIFIED
✗ Status: FAILED
Integrity Score: 0%
Critical Issues
✗ Manifest signature verification failed: Manifest signature file not found (.minisig)
→ Obtain a properly signed manifest from the official source
Root causes (3 problemas distintos)
1. Package npm 5.0.7 foi publicado sem .minisig
ls node_modules/aiox-core/.aiox-core/*.minisig
# No such file or directory
packages/installer/src/installer/post-install-validator.js linha 417 exige assinatura por default (requireSignature: true). Como o package oficial não inclui .minisig, a validação falha sempre para qualquer utilizador.
2. CLI aiox validate não expõe --no-signature
Ver .aiox-core/cli/commands/validate/index.js — as flags disponíveis são:
--repair, --dry-run, --detailed, --no-hash, --extras, --verbose, --json, --source
A classe PostInstallValidator aceita requireSignature: false (documentado em docs/security/MANIFEST_SIGNING.md secção "Development Mode"), mas não há forma de passar essa opção via CLI.
3. Rollback automático em aiox update sem override
O aiox update não tem flag equivalente para dizer "ignora a assinatura em falta". O utilizador fica preso.
Workaround usado
Como o npm install aiox-core@5.0.7 realmente correu com sucesso antes da validação falhar, bastou copiar o manifest novo do node_modules para o projecto e actualizar version.json:
cp node_modules/aiox-core/.aiox-core/install-manifest.yaml .aiox-core/install-manifest.yaml
# Editar manualmente .aiox-core/version.json: "version": "5.0.4" → "5.0.7"
Depois disto:
aiox --version → 5.0.7 ✓
aiox info → 22 agents, 205 tasks, 11 templates, 15 workflows ✓
- Hashes dos ficheiros batem com o manifest 5.0.7 ✓
Suggested fixes
Pelo menos uma das opções:
-
Recomendado — publicar .minisig no package npm. Garantir que scripts/generate-install-manifest.js + signing step corre antes do npm publish. Validar que files em package.json inclui .aiox-core/install-manifest.yaml.minisig.
-
Expor --no-signature em aiox validate e em aiox update. Mapear para requireSignature: false. Documentar como "development only, insecure".
-
Detectar ausência do .minisig e degradar para warning em vez de error. Se o package oficial não inclui signature, a validação deve emitir warning (requireSignature: false comportamento) em vez de fail+rollback. Produção podia ser activada via env var AIOX_REQUIRE_SIGNATURE=true.
Referências
packages/installer/src/installer/post-install-validator.js:334-347 — opção requireSignature
packages/installer/src/installer/post-install-validator.js:417-432 — bloqueio em requireSignature: true sem .minisig
.aiox-core/cli/commands/validate/index.js:56-68 — flags expostas na CLI
docs/security/MANIFEST_SIGNING.md:189-213 — Development Mode documentado mas sem forma de activar via CLI
Impact
Qualquer projecto que tente aiox update para 5.0.7 vai falhar com rollback. Bloqueia adopção do release.
Summary
aiox updatefalha sempre ao actualizar para a versão 5.0.7 com erroManifest signature verification failed: Manifest signature file not found (.minisig)e faz rollback automático — mesmo quando onpm install aiox-core@5.0.7correu com sucesso antes.Parece ser um bug do release 5.0.7 (não um problema de ambiente): o package npm foi publicado sem o ficheiro de assinatura, e a CLI não expõe forma de saltar a verificação.
Environment
npm i -g aiox-core@5.0.7)project-developmentSteps to reproduce
# Projecto com AIOX 5.0.4 instalado aiox updateExpected behavior
Update bem-sucedido para 5.0.7, com validação pós-install a passar.
Actual behavior
Execução directa do
aiox validateconfirma a causa raiz:Root causes (3 problemas distintos)
1. Package npm 5.0.7 foi publicado sem
.minisigpackages/installer/src/installer/post-install-validator.jslinha 417 exige assinatura por default (requireSignature: true). Como o package oficial não inclui.minisig, a validação falha sempre para qualquer utilizador.2. CLI
aiox validatenão expõe--no-signatureVer
.aiox-core/cli/commands/validate/index.js— as flags disponíveis são:--repair,--dry-run,--detailed,--no-hash,--extras,--verbose,--json,--sourceA classe
PostInstallValidatoraceitarequireSignature: false(documentado emdocs/security/MANIFEST_SIGNING.mdsecção "Development Mode"), mas não há forma de passar essa opção via CLI.3. Rollback automático em
aiox updatesem overrideO
aiox updatenão tem flag equivalente para dizer "ignora a assinatura em falta". O utilizador fica preso.Workaround usado
Como o
npm install aiox-core@5.0.7realmente correu com sucesso antes da validação falhar, bastou copiar o manifest novo donode_modulespara o projecto e actualizarversion.json:cp node_modules/aiox-core/.aiox-core/install-manifest.yaml .aiox-core/install-manifest.yaml # Editar manualmente .aiox-core/version.json: "version": "5.0.4" → "5.0.7"Depois disto:
aiox --version→ 5.0.7 ✓aiox info→ 22 agents, 205 tasks, 11 templates, 15 workflows ✓Suggested fixes
Pelo menos uma das opções:
Recomendado — publicar
.minisigno package npm. Garantir quescripts/generate-install-manifest.js+ signing step corre antes donpm publish. Validar quefilesempackage.jsoninclui.aiox-core/install-manifest.yaml.minisig.Expor
--no-signatureemaiox validatee emaiox update. Mapear pararequireSignature: false. Documentar como "development only, insecure".Detectar ausência do
.minisige degradar para warning em vez de error. Se o package oficial não inclui signature, a validação deve emitir warning (requireSignature: falsecomportamento) em vez de fail+rollback. Produção podia ser activada via env varAIOX_REQUIRE_SIGNATURE=true.Referências
packages/installer/src/installer/post-install-validator.js:334-347— opçãorequireSignaturepackages/installer/src/installer/post-install-validator.js:417-432— bloqueio emrequireSignature: truesem.minisig.aiox-core/cli/commands/validate/index.js:56-68— flags expostas na CLIdocs/security/MANIFEST_SIGNING.md:189-213— Development Mode documentado mas sem forma de activar via CLIImpact
Qualquer projecto que tente
aiox updatepara 5.0.7 vai falhar com rollback. Bloqueia adopção do release.