2.7 KiB
Host ABI Gate Validation Agenda
Status: Resolved agenda
Purpose: validate whether the current Host ABI contract is already stable enough to stop blocking the next phase
1. Context
This agenda validates whether 6.2. Host ABI Binding and Loader Resolution Specification.md is already sufficient as the working contract for the path:
declare host -> PBX metadata -> loader resolution -> numeric syscall execution
The question here is not whether every binary-format detail is final. The question is whether the current contract is already stable enough to unblock the next phase.
2. Decision
Decision: sufficient for the next phase.
The current Host ABI contract is explicit enough to unblock the next stage.
the final binary-format and integration details may still be hardened, not as "core contract still missing".
3. Why This Is Sufficient
The current specification already fixes the parts that matter for phase-gating:
- Canonical identity is stable and loader-facing:
(module, name, version). - The boundary between source-level
declare hostand runtime-facing canonical metadata is explicit. - The PBX contract is defined through mandatory
SYSCmetadata with required fields and validation rules. - Pre-load and post-load call forms are explicit:
HOSTCALL <sysc_index>before load,SYSCALL <id>after patching. - The loader algorithm is normative, ordered, and deterministic.
- ABI validation responsibility is split clearly between loader and verifier.
- Capability gating is mandatory during load.
- Deterministic failure cases are enumerated.
This is enough to keep compiler, PBX emitter, loader, and VM behavior aligned on the critical host-binding path.
4. Remaining Hardening That Does Not Block
The following items remain open, but they are hardening and integration details rather than gate blockers:
- Final PBX section numbering and chunk registry policy.
- Final opcode allocation for
HOSTCALL. - Exact loader image materialization strategy (patch in place vs rebuild buffer).
- Final integration shape with
ProgramImageor equivalent loaded-program container.
These items can remain deferred without reopening the core contract above.
5. Practical Interpretation
For planning purposes, the Host ABI path should now be treated as closed for gate evaluation.
That means:
- it does not block the next phase,
- it does not require a semantic redesign before backend/runtime work continues,
- and any remaining work is implementation hardening or binary-format finalization.
6. References
6.2. Host ABI Binding and Loader Resolution Specification.md7. Cartridge Manifest and Runtime Capabilities Specification.md8. Stdlib Environment Packaging and Loading Specification.md