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 Agenda19.2. PBS Lifecycle Markers, Program Init, and Frame Root Semantics Agenda19.3. Published Entrypoint, Synthetic Wrapper, and FRAME_RET Ownership Agenda19.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
19ready 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:
- catálogo mínimo de diagnósticos;
- fase responsável por cada diagnóstico;
- propagação final para manifest/specs;
- fixture matrix mínima;
- critérios de aceite para converter a série 19 em
decisione depoispull-request/plan.
Core Questions
- Quais diagnósticos são obrigatórios para
declare global, imports/reexports e ciclos? - Quais diagnósticos são obrigatórios para
[Init]e[Frame]? - Quais erros pertencem a parser/AST, static semantics/linking, lowering, ou toolchain full pipeline?
- Como o manifest final deve refletir entrypoint lógico e/ou físico escolhido em
19.3? - Que fixtures mínimas precisam existir para globals, module init, boot failure, wrapper e
FRAME_RET? - Em que ponto a configuração explícita antiga de entrypoint em
FrontendSpecpode ser considerada removida? - 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.md12. Diagnostics Specification.md13. Lowering IRBackend Specification.md- docs de conformance/fixtures relevantes
Non-Goals
Esta agenda não deve:
- redefinir semântica de globals;
- redefinir lifecycle;
- redefinir wrapper ou ownership de
FRAME_RET; - redefinir shape de IR.
Next Step
Depois do fechamento desta agenda, a linha 19 fica pronta para:
- virar uma
decisionconsolidada emdocs/compiler/pbs/decisions; - e então ser decomposta em
pull-request/plande execução.