Tracker
Roadmap search
Versions, deliverables, workstreams, tasks, and pages
Flow and algorithm
articleStandard
src/content/docs/platform-spec/compiler/codegen-and-ir/lowering-contract/flow-and-algorithm.mdx
import SpecArticleChrome from '@beskid/beskid-ui/platform-spec/SpecArticleChrome.astro';
<SpecArticleChrome />End-to-end flow
- Input enters compiler/runtime boundary at a stable entrypoint.
- The responsible crate enforces the expected shape and emits stable structures.
- Downstream crates consume those structures without redefining semantics.
- Conformance tests assert behavior at integration boundaries.
Algorithm notes for newcomers
- Prefer tracing one fixture end-to-end before reading all modules.
- Verify where shape conversion happens; avoid assuming all crates mutate data.
- Keep an eye on handoff points where diagnostics or ABI constraints are locked.
Where to step through code
- Start with
beskid_codegen::lower_source` in `compiler/crates/beskid_codegen. - Then inspect
CodegenArtifact` construction in `compiler/crates/beskid_codegen. - Follow consumption path at
JitModule` consumption in `compiler/crates/beskid_engine/src/jit_module.rs. - Validate expectations using
Runtime execution coverage incompiler/crates/beskid_tests/src/runtime/jit.rs``.