Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Design model

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki

Document optional runtime capabilities selected at build time via Cargo features. These differ from BESKID_RUNTIME_ABI_VERSION: features toggle code paths without changing the baseline symbol list unless a feature adds new exports.

ActorRole
beskid_runtime Cargo.tomlDeclares metrics, arrays_backing, sched features
Maintainers / CIBuilds runtime with agreed feature set for CLI, VSIX, releases
Compiler testsEnable features when validating optional behavior
ToolingDocuments which flags are on in prebuilt binaries
FeatureEffect
arrays_backingarray_new allocates element storage; without it, header-only arrays (ptr = null)
metricsExtra rt_metrics_* exports for heap/alloc/event counters
schedScheduler internals/experimental hooks (build-time; not user-facing)
extern_dlopen (engine, not runtime)Dynamic extern resolution — see Extern dispatch
flowchart LR
  manifest[Workspace / CI profile]
  rt[beskid_runtime features]
  tests[Compiler tests]
  cli[Shipped CLI / VSIX]
  manifest --> rt
  rt --> cli
  rt --> tests

Shipped artifacts must document enabled features. Mixing a compiler test build that expects arrays_backing against a default runtime produces logical failures without ABI version mismatch.