Roadmap search

Versions, deliverables, workstreams, tasks, and pages

Beskid

Jump to a Beskid service

Typed emitter and transforms - Contracts and edge cases

articleStandard

src/content/docs/platform-spec/compiler/compiler-mods/typed-emitter-and-transforms/contracts-and-edge-cases.mdx

import SpecArticleChrome from '@beskid/beskid-ui/platform-spec/SpecArticleChrome.astro';

<SpecArticleChrome />

This article states contracts and edge cases for Typed emitter and transforms.

Hard requirements

  • Deterministic ordering — discovery and execution order must be reproducible from equal inputs (path-normalized roots, sorted files, stable tie-breaks).
  • Bounded work — host enforces step limits, allocation caps, and recursion depth across nested meta calls.
  • Versioned facadesBeskid.Compiler surface is tied to compiler language version tokens exposed on the compilation instance.

Edge cases

  • Partial programs — facades must tolerate incomplete syntax where the language permits; diagnostics are preferred over host panics.
  • Conflicting edits — multiple meta contributors touching the same declaration identity produce a deterministic merge failure surfaced as structured diagnostics.