Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Contracts and edge cases

Platform spec article

Contracts and edge cases

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki
  • Mod must be explicit — Compiler-mod contracts (Collector, Generator, Analyzer, Rewriter, AttributeGenerator) are valid only in type: Mod projects.
  • No host targets on Mod projectsMod manifests must not declare App/Lib/Test target blocks.
  • Transitive discovery — Host compilations auto-load all transitive Mod dependencies from the resolved graph.
  • Scope via Collector — Target narrowing is declared by Collector contracts, not manifest attach metadata.
  • AOT-only execution — Mod packages compile to AOT artifacts; no compile-time JIT path is normative.
  • Invalid project.mod keys — Unknown keys error with stable codes (E1801–E1810).
  • Capability denial — Effects without granted capability fail with E1821–E1835 diagnostics.
  • Generator round exhaustion — Exceeding maxGeneratorRounds is a hard error, not a silent partial program.
  • Conflicting typed contributions — Merge failures use E1836–E1850 and leave syntax unchanged.