Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Program assembly - Contracts and edge cases

Platform spec article

Program assembly - Contracts and edge cases

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki
  • Materialized-first — When PreparedProjectWorkspace exists, assembly roots must use materialized_source_root and dependency materialized_source_root entries, not pre-copy project trees.
  • Lockfile fallback (LSP) — When materialization did not run, Project.lock materialized_root paths may be used when directories exist.
  • max_units — Workspace scan must stop at the cap and report deterministically sorted paths.
  • No diagnostic filtering — Cross-module symbols must be visible to resolution; hosts must not drop E1105/E1201/E1301 solely because a path exists on disk.
  • use alias resolution — Import aliases must expand to prefetched module paths before value/type lookup; binding a use item as a callable namespace is forbidden (contract-as-namespace remains the only in-scope dotted-path fallback).
  • Mod rounds — After generator output changes imports, the host may re-run assembly within maxGeneratorRounds.