PBS Agendas
This directory contains active PBS discussion agendas.
Closed agendas are moved to docs/pbs/agendas/archive.
Active Agendas
18.0. Backend VM Pipeline - Orchestration Agenda.md18.1. Backend Workshop 1 - IRBackend Input Contract.md18.2. Backend Workshop 2 - LowerToIRVM and IRVM Contract.md18.3. Backend Workshop 3 - Bytecode Marshaling and Runtime Conformance.md18.4. Asset References in Game Code - Names vs Compile-Time Lowering Agenda.md18.5. Ignored Call Results in Executable Lowering Agenda.md19. Globals, Synthetic Module Init, and FRAME_RET Agenda.md19.1. PBS Globals Surface, Identity, and Module Boundaries Agenda.md19.2. PBS Lifecycle Markers, Program Init, and Frame Root Semantics Agenda.md19.3. Published Entrypoint, Synthetic Wrapper, and FRAME_RET Ownership Agenda.md19.4. Globals and Lifecycle Lowering to IRBackend-IRVM Agenda.md19.5. Diagnostics, Manifest Propagation, and Conformance Coverage Agenda.md
Purpose
An agenda exists to drive a decision, not to serve as final normative text.
Use an agenda when:
- the topic is still open,
- multiple options or tradeoffs must be evaluated,
- the scope and non-goals need to be made explicit,
- the order of discussion matters.
Move an agenda to docs/pbs/agendas/archive once the topic is no longer active.
Expected Format
An agenda should usually include:
- Title
- Status
- Purpose
- Context
- Decisions to Produce
- Core Questions
- Expected Spec Material
- Non-Goals
- Inputs
Writing Rules
- Keep the document oriented around unresolved questions.
- Separate open questions from assumptions already fixed elsewhere.
- Name the concrete decisions the discussion must produce.
- Avoid drafting large blocks of final normative spec text here.
- Prefer explicit non-goals to prevent scope drift.
Exit Rule
An agenda should move out of the active set when:
- the key questions have been answered,
- the architectural direction is clear enough to record,
- and the topic is ready to become a decision record and then a spec update.