prometeu-studio/docs/compiler/pbs/agendas/19.5. Diagnostics, Manifest Propagation, and Conformance Coverage Agenda.md

4.0 KiB

Diagnostics, Manifest Propagation, and Conformance Coverage Agenda

Status

Open

Parent Agenda

This agenda derives from:

  • 19. Globals, Synthetic Module Init, and FRAME_RET Agenda

Expected fixed inputs from previous stages:

  • 19.1. PBS Globals Surface, Identity, and Module Boundaries Agenda
  • 19.2. PBS Lifecycle Markers, Program Init, and Frame Root Semantics Agenda
  • 19.3. Published Entrypoint, Synthetic Wrapper, and FRAME_RET Ownership Agenda
  • 19.4. Globals and Lifecycle Lowering to IRBackend/IRVM Agenda

Purpose

Consolidate the propagation layer of topic 19 after the architectural decisions are already fixed.

This agenda must close:

  • the diagnostics surface;
  • manifest-facing propagation details;
  • fixture and conformance coverage;
  • and the acceptance gates for declaring topic 19 ready to become a decision plus implementation plan.

Domain Owner

docs/compiler/pbs

Este tema pertence ao domínio PBS, mas toca tanto specs normativas quanto critérios de teste e artefato publicado.

Context

Depois que surface, lifecycle, published entrypoint e lowering estiverem fechados, ainda faltará consolidar:

  • quais erros novos são obrigatórios;
  • em que fase cada erro aparece;
  • como o manifest final reflete a arquitetura escolhida;
  • e que coverage mínima de fixtures e gates garante que a série 19 ficou estável.

Esta agenda é de consolidação. Ela não deve rediscutir a arquitetura central.

Inputs Already Fixed Elsewhere

Os seguintes inputs devem ser tratados como fixos aqui:

  • shape de globals vindo de 19.1;
  • lifecycle vindo de 19.2;
  • publication contract vindo de 19.3;
  • lowering mechanics vindo de 19.4.

Decisions To Produce

Esta agenda deve produzir direção suficiente para fechar:

  1. catálogo mínimo de diagnósticos;
  2. fase responsável por cada diagnóstico;
  3. propagação final para manifest/specs;
  4. fixture matrix mínima;
  5. critérios de aceite para converter a série 19 em decision e depois pull-request/plan.

Core Questions

  1. Quais diagnósticos são obrigatórios para declare global, imports/reexports e ciclos?
  2. Quais diagnósticos são obrigatórios para [Init] e [Frame]?
  3. Quais erros pertencem a parser/AST, static semantics/linking, lowering, ou toolchain full pipeline?
  4. Como o manifest final deve refletir entrypoint lógico e/ou físico escolhido em 19.3?
  5. Que fixtures mínimas precisam existir para globals, module init, boot failure, wrapper e FRAME_RET?
  6. Em que ponto a configuração explícita antiga de entrypoint em FrontendSpec pode ser considerada removida?
  7. Quais gates de conformance precisam ser atualizados para cobrir a série 19?

Options

Option A

Consolidar diagnostics e coverage somente depois que os quatro stages anteriores estiverem fechados, com fixture matrix explícita por fase.

Option B

Começar fixtures e diagnostics cedo, mesmo com arquitetura ainda mudando.

Tradeoffs

Option A

  • Prós:
    • reduz retrabalho;
    • evita congelar erro e coverage cedo demais;
    • combina melhor com a disciplina de umbrella agenda.
  • Contras:
    • posterga parte da validação final.

Option B

  • Prós:
    • feedback mais cedo.
  • Contras:
    • alto risco de churn e reabertura de artefatos;
    • conflita com os locking rules da umbrella 19.

Recommendation

Seguir com a Option A.

Expected Spec Material

Se esta agenda fechar, a propagação esperada atinge pelo menos:

  • 7. Cartridge Manifest and Runtime Capabilities Specification.md
  • 12. Diagnostics Specification.md
  • 13. Lowering IRBackend Specification.md
  • docs de conformance/fixtures relevantes

Non-Goals

Esta agenda não deve:

  1. redefinir semântica de globals;
  2. redefinir lifecycle;
  3. redefinir wrapper ou ownership de FRAME_RET;
  4. redefinir shape de IR.

Next Step

Depois do fechamento desta agenda, a linha 19 fica pronta para:

  • virar uma decision consolidada em docs/compiler/pbs/decisions;
  • e então ser decomposta em pull-request/plan de execução.