prometeu-studio/docs/pbs/pull-requests/PR-07.2-pbs-callsite-category-no-textual-heuristics-regression.md
2026-03-24 13:42:31 +00:00

2.8 KiB

PR-07.2 - PBS Callsite Category Without Textual Heuristics (Regression Fixtures)

Briefing

A matriz de conformidade ainda marca PBS13-12.2.2 como partial.

Ja existe enforce de metadados no contrato executavel, mas falta fixture regressiva dedicada para provar que o frontend/backend nao classifica callsite por heuristica textual quando identidades entram em colisao.

Motivation

Dor atual que esta PR resolve

  1. Ambiguidade residual na evidencia de CALL_FUNC/CALL_HOST/CALL_INTRINSIC.
  2. Risco de regressao para classificacao por nome textual em casos limítrofes.
  3. PBS13-12.2.2 permanece partial por falta de caso dedicado de identidade ambigua.

Target

Fechar PBS13-12.2.2 com fixtures explicitas de identidade e ambiguidade, garantindo que categoria de callsite e derivada de identidade semantica/admitida, nao de heuristica textual.

Dependencies

Prerequisitos diretos:

  1. PR-05.2 (classificacao de callsite por identidade semantica).
  2. PR-05.0.1 e PR-05.0.6 (name/host identity foundation).

Scope

  1. Fixture positiva:
    • nome textual com "cara de host", mas identidade resolvida como callable local -> deve lower para CALL_FUNC.
  2. Fixture positiva:
    • nome textual sobreposto entre dominios, com identidade univoca admitida para host ou intrinsic -> deve lower categoria correta.
  3. Fixture negativa dedicada:
    • colisao real entre categorias (callable/host/intrinsic) para o mesmo callsite -> rejeicao deterministica por ambiguidade.
  4. Atualizacao de matriz para converter PBS13-12.2.2 de partial para pass.

Non-Goals

  1. Nao altera gramatica PBS.
  2. Nao redefine regras de admission de host/intrinsics fora do escopo desta prova.

Method

O que deve ser feito explicitamente

  1. Adicionar testes em PbsFrontendCompilerTest (ou suite semantica correlata) para os tres cenarios acima.
  2. Assertar InstructionKind resultante (CALL_FUNC, CALL_HOST, CALL_INTRINSIC) em casos positivos.
  3. Assertar codigo diagnostico deterministico em caso ambiguo.
  4. Garantir que nao ha branch de fallback por string pattern no caminho de lowering executavel.
  5. Atualizar matriz de conformidade com referencias dos novos testes.

Acceptance Criteria

  1. Existe fixture dedicada cobrindo ambiguidade de categoria por identidade.
  2. Casos positivos provam classificacao correta mesmo quando nome textual engana.
  3. Caso ambiguo falha deterministicamente com diagnostico estavel.
  4. PBS13-12.2.2 evolui para pass.

Tests

  1. Novos testes no frontend PBS:
    • :prometeu-compiler:frontends:prometeu-frontend-pbs:test
  2. Reexecucao obrigatoria de integracao backend:
    • :prometeu-compiler:prometeu-build-pipeline:test

Affected Documents

  1. docs/pbs/specs/13. Lowering IRBackend Specification.md
  2. docs/general/specs/22. Backend Spec-to-Test Conformance Matrix.md

Open Questions

Sem bloqueios arquiteturais.