Monolithic IO.bd hid syscall direction and descriptor typing.
FAQ and troubleshooting
Platform spec article
FAQ and troubleshooting
Spec standingStandard
-
stdin/stdout/stderr are separate runtime-backed modules.
Context
Decision
Rule Detail Surface System.Input,System.Output,System.Errorunderpackages/runtimeNon-goal Monolithic IO.bdfor standard streamsConsequences
Syscall descriptors stay typed per stream.
Verification anchors
packages/runtime/src/System/; stream contract tests. -
ANSI and terminal helpers live in corelib_console.
Context
Higher console work must not bloat runtime syscall modules.
Decision
Rule Detail Package compiler/corelib/packages/console(corelib_console)Runtime Streams stay in runtime package Consequences
Terminal features document against console package anchors.
Verification anchors
packages/console; pckg workspace publish. -
Runtime-backed surfaces require coordinated ABI bumps.
Context
Builtin shape changes break AOT/JIT link without version alignment.
Decision
Rule Detail Version beskid_runtime_abi_version/BESKID_RUNTIME_ABI_VERSIONmust matchChange Requires beskid_abi, runtime, and corelib updates togetherConsequences
Link failures surface at build time, not lazy dlopen.
Verification anchors
beskid_abi/src/builtins.rs;abi/contracts.rs. -
Foundation-style modules without builtins follow normal lowering.
Context
Not every corelib module is runtime-backed.
Decision
Rule Detail In scope Builtin/syscall facades documented here Out of scope Pure Beskid foundationmodulesConsequences
This feature does not duplicate language-meta semantics for pure libraries.
Verification anchors
foundation package compile tests.
- Contracts and edge cases Stability guarantees for runtime-backed corelib APIs.
- Design model Corelib APIs implemented by runtime builtins and ABI-stable syscall surfaces.
- Examples Examples of runtime-backed corelib surfaces.
- FAQ and troubleshooting FAQ for runtime-backed corelib surfaces.
- Flow and algorithm Call path from Beskid corelib methods to runtime builtins.
- Verification and traceability Verification for runtime-backed corelib surfaces.
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).
Link error for missing builtin symbol
Section titled “Link error for missing builtin symbol”Rebuild with matching beskid and runtime objects; verify BESKID_RUNTIME_ABI_VERSION alignment between CLI and cached AOT artifacts.
I/O works in JIT but not AOT
Section titled “I/O works in JIT but not AOT”Confirm AOT link includes beskid_runtime with the same feature set (e.g., platform I/O stubs).
Should I add syscalls to IO.bd?
Section titled “Should I add syscalls to IO.bd?”No—split across System.Input / System.Output / System.Error and keep ANSI in corelib_console.
Where is the authoritative builtin list?
Section titled “Where is the authoritative builtin list?”compiler/crates/beskid_abi/src/builtins.rs plus re-exports in beskid_runtime/src/builtins/mod.rs.
Doc drift vs implementation
Section titled “Doc drift vs implementation”Update Beskid sources and compiler/corelib/beskid_corelib/docs/ together; run beskid doc before publishing packages with API browser content.