prometeu-studio/docs/compiler/pbs/pull-requests/PR-09.7-compiler-normalization-to-isa-registry-artifact.md
2026-03-24 13:42:37 +00:00

2.5 KiB

PR-09.7 - Compiler Normalization to ISA Intrinsic Registry Artifact

Briefing

Apos estabelecer o artefato unico do registry (PR-09.6), o compiler precisa consumir exclusivamente esse artefato e remover caminhos residuais de dual-authoring.

Motivation

Dor atual que esta PR resolve

  1. Compiler ainda pode depender de representacao local paralela.
  2. Teste de paridade atual com parse de builtins.rs e acoplamento fragil de formato.
  3. Falta um caminho de consumo unico no pipeline backend.

Target

Normalizar o lado compiler para source-of-truth unico:

  1. IRVMIntrinsicRegistry carregando apenas o artefato canonico ISA,
  2. remover/encapsular validacoes que dependem de parsing textual de runtime internals,
  3. reforcar gate de consistencia do consumidor compiler.

Dependencies

Prerequisito direto:

  1. PR-09.6

Scope

  1. Ajustar IRVMIntrinsicRegistry para modo canonical-only.
  2. Revisar testes de paridade:
    • principal: paridade com artefato canonico,
    • opcional/informativo: runtime-backed check separado.
  3. Garantir mensagens de erro e diagnostico estaveis para registry invalido.

Non-Goals

  1. Nao alterar implementacao de intrinsics no runtime.
  2. Nao mover ownership de docs runtime nesta PR.

Method

O que deve ser feito explicitamente

  1. Consolidar parser/loader do registry no compiler com contrato estrito.
  2. Substituir assercoes hardcoded por fixtures derivadas do artefato.
  3. Separar teste de compatibilidade runtime:
    • nao bloquear desenvolvimento local quando runtime repo ausente,
    • bloquear em modo strict/CI quando configurado.
  4. Atualizar docs de contribuicao do compiler para fluxo de update de intrinsics.

Acceptance Criteria

  1. Compiler nao tem mais fonte duplicada de mapping de intrinsic IDs.
  2. LowerToIRVMService resolve IDs finais exclusivamente via artefato canonico.
  3. Suite de testes backend cobre:
    • carregamento valido,
    • invalid registry,
    • mismatch detectavel em strict mode.

Tests

  1. :prometeu-compiler:prometeu-build-pipeline:test --tests *IRVMIntrinsicRegistry*
  2. :prometeu-compiler:prometeu-build-pipeline:test --tests *LowerToIRVMServiceTest*
  3. :prometeu-compiler:prometeu-build-pipeline:test --tests *BackendConformanceMatrixSpecTest*

Affected Documents

  1. docs/general/specs/20. IRBackend to IRVM Lowering Specification.md
  2. docs/general/specs/22. Backend Spec-to-Test Conformance Matrix.md
  3. docs/pbs/pull-requests/INDEX.md

Open Questions

  1. Nenhuma bloqueante para lado compiler.