From 8a4b494ad032c47848ec64aa7a5da91822ba50dd Mon Sep 17 00:00:00 2001 From: bQUARKz Date: Mon, 9 Mar 2026 05:37:50 +0000 Subject: [PATCH] clean up --- ...gnature-identity-and-dense-symbol-table.md | 32 ------------------- ...2-global-intrinsic-table-and-reindexing.md | 32 ------------------- ...emantic-lowering-cfg-and-stack-analysis.md | 31 ------------------ ...4.4-irvm-program-single-source-of-truth.md | 29 ----------------- .../PR-O4.5-vm-profile-end-to-end-pipeline.md | 30 ----------------- ...ecode-precheck-unknown-opcode-rejection.md | 29 ----------------- ...gate-i-runtime-backed-execution-adapter.md | 29 ----------------- ...-regression-matrix-and-golden-artifacts.md | 29 ----------------- 8 files changed, 241 deletions(-) delete mode 100644 docs/pbs/pull-requests/PR-O4.1-callable-signature-identity-and-dense-symbol-table.md delete mode 100644 docs/pbs/pull-requests/PR-O4.2-global-intrinsic-table-and-reindexing.md delete mode 100644 docs/pbs/pull-requests/PR-O4.3-semantic-lowering-cfg-and-stack-analysis.md delete mode 100644 docs/pbs/pull-requests/PR-O4.4-irvm-program-single-source-of-truth.md delete mode 100644 docs/pbs/pull-requests/PR-O4.5-vm-profile-end-to-end-pipeline.md delete mode 100644 docs/pbs/pull-requests/PR-O4.6-strict-bytecode-precheck-unknown-opcode-rejection.md delete mode 100644 docs/pbs/pull-requests/PR-O4.7-gate-i-runtime-backed-execution-adapter.md delete mode 100644 docs/pbs/pull-requests/PR-O4.8-jvm-grade-regression-matrix-and-golden-artifacts.md diff --git a/docs/pbs/pull-requests/PR-O4.1-callable-signature-identity-and-dense-symbol-table.md b/docs/pbs/pull-requests/PR-O4.1-callable-signature-identity-and-dense-symbol-table.md deleted file mode 100644 index 6a1f8f17..00000000 --- a/docs/pbs/pull-requests/PR-O4.1-callable-signature-identity-and-dense-symbol-table.md +++ /dev/null @@ -1,32 +0,0 @@ -# PR-O4.1 - Callable Signature Identity and Dense Symbol Table - -## Briefing - -Eliminar ambiguidade de callsites no backend substituindo resolucao por nome simples por identidade canônica de callable baseada em assinatura. - -## Target - -- Modelo `IRBackend`/`IRBackendExecutableFunction`. -- Lowering PBS para callsites `CALL_FUNC`. -- Backend `LowerToIRVM` no mapeamento de callee. -- Infra `source/tables` para simbolos de callable. - -## Method - -- Introduzir `CallableId` e `CallableSignatureRef` usando `DenseTable`/`InternTable` em `source/tables`. -- FE emite `calleeCallableId` para `CALL_FUNC` em vez de lookup textual por nome. -- Chave canônica de assinatura: `module + callable + arity + type-shape`. -- Backend resolve `CALL_FUNC` por id canônico, sem heuristica `putIfAbsent(name)`. - -## Acceptance Criteria - -- Overloads válidos com mesmo nome e assinaturas diferentes chamam alvo correto. -- Não há resolução de callee por nome simples no caminho executável. -- Mesmo grafo de entrada gera mesma tabela densa de callables. -- Falha de resolução gera erro determinístico de lowering. - -## Tests - -- Fixtures com overloads por aridade e por shape de tipo. -- Regressão negativa para callsite sem `CallableId` válido. -- Teste de determinismo de IDs de callable entre execuções. diff --git a/docs/pbs/pull-requests/PR-O4.2-global-intrinsic-table-and-reindexing.md b/docs/pbs/pull-requests/PR-O4.2-global-intrinsic-table-and-reindexing.md deleted file mode 100644 index 692ade0d..00000000 --- a/docs/pbs/pull-requests/PR-O4.2-global-intrinsic-table-and-reindexing.md +++ /dev/null @@ -1,32 +0,0 @@ -# PR-O4.2 - Global Intrinsic Table and Reindexing - -## Briefing - -Consolidar IDs de intrínsecos em escopo global de build para impedir drift de IDs entre módulos e manter mapeamento canônico estável. - -## Target - -- `PBSFrontendPhaseService` e `IRBackendAggregator`. -- Modelo de saída `IRBackend` para carregar pool global de intrínsecos. -- `CALL_INTRINSIC` no FE/BE. -- Infra `source/tables` de intrínsecos já existente. - -## Method - -- Promover `IntrinsicTable` para escopo de agregação (não por arquivo). -- Agregador constrói `intrinsic_pool` global (`IntrinsicId -> IntrinsicReference`). -- Reindexar `CALL_INTRINSIC` de módulos compilados para o pool global antes do handoff ao backend. -- Tornar explícito no contrato que `intrinsicId` é relativo ao pool global de build. - -## Acceptance Criteria - -- Mesmo intrínseco em módulos distintos referencia o mesmo `IntrinsicId` final. -- Não existe colisão/duplicação de id para referências canônicas iguais. -- Artifact produzido mantém IDs estáveis no mesmo input graph. -- Backend não precisa inferir/normalizar ids de intrínseco em runtime. - -## Tests - -- Caso multi-módulo com intrínseco repetido e intrínsecos distintos. -- Teste de reindex determinístico em ordem diferente de compilação. -- Regressão para caminho de emissão e Gate I com intrínsecos. diff --git a/docs/pbs/pull-requests/PR-O4.3-semantic-lowering-cfg-and-stack-analysis.md b/docs/pbs/pull-requests/PR-O4.3-semantic-lowering-cfg-and-stack-analysis.md deleted file mode 100644 index 51364cea..00000000 --- a/docs/pbs/pull-requests/PR-O4.3-semantic-lowering-cfg-and-stack-analysis.md +++ /dev/null @@ -1,31 +0,0 @@ -# PR-O4.3 - Semantic Lowering, CFG, and Stack Analysis - -## Briefing - -Trocar lowering executável baseado em coleta de callsites por lowering semântico real com construção de CFG e cálculo formal de `max_stack_slots`. - -## Target - -- `PbsFrontendCompiler` (lowering executável). -- Modelo `IRBackendExecutableFunction` para instruções semânticas. -- Regras de stack/slot no handoff FE -> BE. - -## Method - -- Introduzir lowering de statements/expressões para instruções executáveis (não apenas calls + RET). -- Construir CFG por função e resolver blocos/jumps explicitamente. -- Calcular `max_stack_slots` por análise de fluxo em vez de heurística fixa. -- Preservar spans por instrução para debug e diagnóstico. - -## Acceptance Criteria - -- Programas com controle de fluxo e expressões produzem IR executável semântico. -- `max_stack_slots` é derivado por análise, não constante heurística. -- Paths não terminados e inconsistências de stack são detectados no FE/BE boundary. -- Contrato de lowering mantém determinismo para o mesmo AST admitido. - -## Tests - -- Fixtures com `if/while/for/switch/handle` e joins de controle. -- Testes de stack-depth máximo e mismatch em join. -- Regressão de spans e call classification. diff --git a/docs/pbs/pull-requests/PR-O4.4-irvm-program-single-source-of-truth.md b/docs/pbs/pull-requests/PR-O4.4-irvm-program-single-source-of-truth.md deleted file mode 100644 index e8f4c17b..00000000 --- a/docs/pbs/pull-requests/PR-O4.4-irvm-program-single-source-of-truth.md +++ /dev/null @@ -1,29 +0,0 @@ -# PR-O4.4 - IRVM Program Single Source of Truth - -## Briefing - -Remover possibilidade de inconsistência entre `IRVMModule` e `EmissionPlan` tornando o pipeline de emissão derivado de uma única fonte autoritativa. - -## Target - -- `IRVMProgram`. -- `OptimizeIRVMService`. -- `EmitBytecodePipelineStage` e derivação de plano de emissão. - -## Method - -- Redefinir `IRVMProgram` para carregar apenas IR autoritativo (ou tornar `EmissionPlan` derivado e validado). -- Se `EmissionPlan` permanecer, adicionar invariantes obrigatórias de sincronização e builder único. -- Garantir que passes de otimização atualizem exatamente a fonte autoritativa usada por emissão. - -## Acceptance Criteria - -- Não existe estado observável onde módulo e plano de emissão divergem. -- `EmitBytecode` consome dados derivados da mesma representação validada pelo optimizer. -- Violação de coerência falha com erro determinístico antes de serialização. - -## Tests - -- Testes de coerência módulo/plano após passes. -- Testes negativos para plano stale/inconsistente. -- Regressão do pipeline completo sem alteração semântica. diff --git a/docs/pbs/pull-requests/PR-O4.5-vm-profile-end-to-end-pipeline.md b/docs/pbs/pull-requests/PR-O4.5-vm-profile-end-to-end-pipeline.md deleted file mode 100644 index 434db7c3..00000000 --- a/docs/pbs/pull-requests/PR-O4.5-vm-profile-end-to-end-pipeline.md +++ /dev/null @@ -1,30 +0,0 @@ -# PR-O4.5 - VM Profile End-to-End Pipeline - -## Briefing - -Unificar suporte a `vm_profile` do FE ao BE eliminando hardcodes de perfil e garantindo compatibilidade por feature matrix em todas as stages. - -## Target - -- Configuração de build/pipeline (`LowerToIRVM`, `OptimizeIRVM`, `EmitBytecode`, validators). -- Contrato de profile no `IRBackend`/`IRVM`. -- Matrizes de feature gate por perfil. - -## Method - -- Propagar `vm_profile` como input explícito de compilação. -- Remover hardcode de `core-v1` no lowering. -- Alinhar validator/profile gate e optimizer para aceitar perfis suportados. -- Definir fallback e erro determinístico para perfil não suportado. - -## Acceptance Criteria - -- Pipeline executa corretamente para `core-v1` e perfis adicionais admitidos. -- Todas as stages usam o mesmo profile efetivo. -- Opcodes fora do profile são rejeitados de forma determinística. - -## Tests - -- Testes parametrizados por profile (válido/inválido). -- Regressão `core-v1` sem quebra de comportamento existente. -- Fixtures com opcode permitido em profile A e proibido em profile B. diff --git a/docs/pbs/pull-requests/PR-O4.6-strict-bytecode-precheck-unknown-opcode-rejection.md b/docs/pbs/pull-requests/PR-O4.6-strict-bytecode-precheck-unknown-opcode-rejection.md deleted file mode 100644 index ee4070f7..00000000 --- a/docs/pbs/pull-requests/PR-O4.6-strict-bytecode-precheck-unknown-opcode-rejection.md +++ /dev/null @@ -1,29 +0,0 @@ -# PR-O4.6 - Strict Bytecode Precheck and Unknown Opcode Rejection - -## Briefing - -Endurecer precheck/verifier de artefato para rejeitar opcodes desconhecidos e instruções malformadas, removendo comportamento permissivo por `default-size`. - -## Target - -- `BytecodeLinkPrecheckService`. -- `BytecodePreloadVerifierService`. -- Taxonomia de erros `MARSHAL_VERIFY_PRECHECK_*`. - -## Method - -- Substituir `default -> 2` por tabela explícita de opcodes válidos por profile. -- Rejeitar opcode desconhecido com erro dedicado e pc apontado. -- Validar tamanhos de instrução somente para opcodes reconhecidos. - -## Acceptance Criteria - -- Opcode não reconhecido falha deterministicamente no precheck/verifier. -- Não há avanço silencioso sobre bytecode inválido. -- Mensagens/códigos de erro estáveis por classe de falha. - -## Tests - -- Fixtures com opcode inválido no meio de função. -- Casos de truncamento de imediato para opcode conhecido. -- Regressão para bytecode válido existente. diff --git a/docs/pbs/pull-requests/PR-O4.7-gate-i-runtime-backed-execution-adapter.md b/docs/pbs/pull-requests/PR-O4.7-gate-i-runtime-backed-execution-adapter.md deleted file mode 100644 index 3f2c869b..00000000 --- a/docs/pbs/pull-requests/PR-O4.7-gate-i-runtime-backed-execution-adapter.md +++ /dev/null @@ -1,29 +0,0 @@ -# PR-O4.7 - Gate I Runtime-Backed Execution Adapter - -## Briefing - -Substituir evidência de integração puramente simulada por adapter com execução/verificação real contra runtime line alvo, mantendo fallback local explícito. - -## Target - -- Suite `BackendGateIIntegrationTest`. -- `RuntimeCompatibilityAdapter` e implementação runtime-backed. -- Metadata de runtime line no resultado de compatibilidade. - -## Method - -- Introduzir implementação real do adapter que invoca runtime/verifier/loader do target line. -- Manter adapter local como fallback de desenvolvimento. -- Expor no resultado: `runtimeLine`, `adapterMode`, `pass/fail reason`. - -## Acceptance Criteria - -- Gate I principal roda contra runtime real quando disponível. -- Fallback local permanece funcional sem mascarar modo de execução. -- Relatório de teste informa claramente qual runtime line foi usada. - -## Tests - -- Reexecução dos 8 cenários normativos Gate I no modo runtime-backed. -- Teste de fallback local quando runtime externo indisponível. -- Teste de consistência de resultado entre adapters para cenários de interseção. diff --git a/docs/pbs/pull-requests/PR-O4.8-jvm-grade-regression-matrix-and-golden-artifacts.md b/docs/pbs/pull-requests/PR-O4.8-jvm-grade-regression-matrix-and-golden-artifacts.md deleted file mode 100644 index c97b44b3..00000000 --- a/docs/pbs/pull-requests/PR-O4.8-jvm-grade-regression-matrix-and-golden-artifacts.md +++ /dev/null @@ -1,29 +0,0 @@ -# PR-O4.8 - JVM-Grade Regression Matrix and Golden Artifacts - -## Briefing - -Estabelecer matriz de regressão de alto risco com fixtures golden para preservar determinismo e contratos críticos após endurecimentos de arquitetura. - -## Target - -- Testes FE/BE de integração e unidade. -- Harness de snapshots de IR/bytecode. -- Evidências Gate S-U e Gate I versionadas. - -## Method - -- Definir matriz mínima obrigatória: overload, intrinsic pool multi-módulo, profile gating, CFG complexa, bytecode determinístico. -- Adotar golden artifacts para outputs canônicos (`IRVM`, `BytecodeModule.serialize()`). -- Versionar baseline por runtime/profile com política explícita de update. - -## Acceptance Criteria - -- Cada classe de risco alta possui pelo menos um golden fixture. -- Mudança de output exige diff explícito e revisão consciente. -- Pipeline de CI falha em regressão de determinismo/contrato. - -## Tests - -- Golden tests para FE->IRBackend, IRBackend->IRVM e IRVM->bytecode. -- Repetição de build com assert de bytes idênticos. -- Regressão multi-profile e multi-módulo para IDs densos.