Runtime exposes C-compatible entrypoints
Platform spec ADR
Runtime exposes C-compatible entrypoints
Spec standingStandard
- Rust ABI profile — Boundary and stability What is stable at the Rust runtime ↔ generated code boundary versus implementation-private Rust types.
- Rust ABI profile — Shims and compatibility strategy How future Rust-native interop would layer on top of C ABI exports without breaking the stable runtime contract.
0 revisions (git unavailable at build; counts may be empty)
No commits recorded for this path.
| Section id | Required | Found |
|---|---|---|
what-this-feature-specifies | yes | yes |
implementation-anchors | yes | yes |
Full tree: run pnpm verify:platform-spec-layout (writes src/generated/platform-spec-layout-report.json).
Context
Section titled “Context”JIT/AOT loaders need stable C symbol names while implementation remains Rust.
Decision
Section titled “Decision”The Beskid runtime must expose stable C-compatible entrypoints to loaders. Rust-specific implementation choices must remain inside the runtime crate boundary.
Consequences
Section titled “Consequences”beskid_abi symbols and unwind bridges document the outward face only.
Verification anchors
Section titled “Verification anchors”compiler/crates/beskid_abi; compiler/crates/beskid_runtime.