prometeu-runtime/docs/runtime/pull-requests/025-spec-cartridge-entrypoint-removal-and-boot-protocol.md
2026-03-24 13:40:57 +00:00

3.3 KiB

025-spec-cartridge-entrypoint-removal-and-boot-protocol

Status: Completed Decision: ../decisions/025-cartridge-manifest-entrypoint-removal-and-runtime-protocol.md Commit: e2f0904

Briefing

Propagar a decision 025 para o contrato normativo de cartridge, removendo entrypoint de manifest.json e publicando boot fixo em func_id = 0.

Esta PR e editorial e normativa. Ela existe para fechar o contrato antes ou em paralelo a qualquer remocao de codigo, evitando dividir runtime e spec sobre a mesma autoridade de boot.

Decisions de Origem

Alvo

Atualizar as specs que ainda descrevem entrypoint como parte do contrato do cartucho, com foco principal em ../specs/13-cartridge.md.

Escopo

  • remover entrypoint do exemplo de manifest.json;
  • remover entrypoint da lista de campos requeridos do cartucho;
  • publicar explicitamente que o boot do cartucho e protocolar em func_id = 0;
  • esclarecer que exports nominais nao exercem autoridade de boot;
  • alinhar referencias em specs adjacentes caso ainda impliquem boot orientado por metadata textual.

Fora de Escopo

  • implementar a remocao em loader, system ou VM;
  • discutir estrategia de compatibilidade em runtime;
  • redefinir semantica de exports nominais fora do boot;
  • qualquer redesign mais amplo de manifest.json.

Plano de Execucao

  1. Atualizar ../specs/13-cartridge.md para remover entrypoint do contrato normativo.
  2. Incluir secao ou texto normativo explicitando que o entrypoint executavel do cartucho e sempre func_id = 0.
  3. Revisar ../specs/12-firmware-pos-and-prometeuhub.md e ../specs/14-boot-profiles.md para garantir que o fluxo de boot nao sugira metadado textual de entrypoint.
  4. Validar consistencia editorial entre decision e spec final.

Criterios de Aceite

  • nenhuma spec normativa ativa descreve entrypoint como campo requerido de manifest.json;
  • ../specs/13-cartridge.md afirma sem ambiguidade que o boot do cartucho ocorre em func_id = 0;
  • as specs nao deixam espaco para interpretar exports nominais como autoridade de boot;
  • a PR nao reabre a discussao arquitetural ja fechada na decision.

Tests / Validacao

Riscos

  • remover entrypoint da spec sem linguagem normativa suficientemente explicita sobre func_id = 0 pode deixar lacuna contratual;
  • editar apenas spec 13 e esquecer referencias em firmware/boot pode preservar ambiguidade documental;
  • misturar guidance transitoria de tooling com texto normativo de runtime pode enfraquecer o contrato final.