Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Design model

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki

Semantic analysis is modeled as a staged rule engine:

  • Resolver prepares symbol and type context.
  • Rule modules read that context and emit typed issues.
  • Issue kinds map to stable code/category metadata.
  • Service adapters project the same issue identity into CLI and LSP output models.

For newcomers, the key idea is separation of concerns: rule logic decides what is wrong, while diagnostics infrastructure decides how it is labeled and surfaced.

Codes E1801–E1899 are owned by manifest, workspace, mod host, emit merge, and mod contract validation—not by ordinary semantic rules. When adding mod-related failures, update Diagnostic code registry / design model first, then reference the new code from rule modules or manifest validators so the catalog remains single-sourced.