Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Contracts and edge cases

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki
  • ABI version lockstep — Host, runtime, and AOT artifacts must agree on beskid_runtime_abi_version for a given toolchain release.
  • No duplicate syscall paths — Console/ANSI must not bypass System.* stream contracts for primitive read/write.
  • Panic across unwind — Builtin entry points use extern "C-unwind"; Beskid panics map through panic_io without corrupting GC state.
  • Documented nullability — Beskid wrappers must mirror ABI nullability for handles passed into GC-aware builtins.
CaseBehavior
Missing runtime on linkAOT/JIT link fails at build time, not lazy runtime dlopen
Platform without ANSIConsole package degrades per terminal capability probes
Embedded hosts without stderrSystem.Error may alias output; documented per execution profile
Metrics feature gatebeskid_runtime metrics builtins compile only with metrics feature

Pure Beskid modules in foundation and similar packages are out of scope here—they follow standard IL lowering without builtin tables.