Sibling articles under this feature previously restated requirements in inconsistent forms.
Syntax domain model generation - Contracts and edge cases
Platform spec article
Syntax domain model generation - Contracts and edge cases
Spec standingStandard
-
This feature hub owns normative MUST/SHOULD contract text for Syntax domain model generation.
Context
Decision
This feature hub owns normative MUST/SHOULD contract text. Sibling articles must not redefine hub requirements and should link here for authority.
Consequences
Contract changes start on the hub or in linked ADRs, then propagate to articles and implementation anchors.
Verification anchors
site/website/src/content/docs/platform-spec/compiler/compiler-mods/syntax-domain-model-generation/index.mdxarticle bundle under the same feature directory.
-
Platform-spec text supersedes informal crate comments for Syntax domain model generation.
Context
Implementation crates accumulated informal notes that diverged from published contracts.
Decision
Normative platform-spec prose and ADRs under this feature supersede informal comments in implementation crates until explicitly migrated into spec text.
Consequences
Engineers file spec/ADR updates when behavior changes; crate comments are non-authoritative for conformance arguments.
Verification anchors
compiler/crates/beskid_analysis/src/syntax/compiler/crates/beskid_analysis/src/beskid.pestcompiler/crates/beskid_analysis/src/syntax/items/
-
Hand-maintained parallel syntax trees diverged from the host parser.
Context
Hand-maintained parallel syntax trees diverged from the host parser.
Decision
Canonical syntax model is generated via
beskid_ast_reflect_genintoBeskid.Compiler.*SDK sources from the Rust AST—aligned with D-INC-0006.Consequences
Mods consume generated facades; internal
beskid_analysis::syntaxremains host-only.Verification anchors
beskid_ast_reflect_gencompiler/crates/beskid_analysis/src/syntax/.
- Syntax domain model generation - Contracts and edge cases Contract for generating the immutable Beskid syntax domain model consumed by Mod SDK facades and meta discovery.
- Syntax domain model generation - Design model Contract for generating the immutable SyntaxMirror domain model consumed by Compiler Mod SDK facades.
- Syntax domain model generation - Examples Contract for generating the immutable Beskid syntax domain model consumed by Mod SDK facades and meta discovery.
- Syntax domain model generation - FAQ and troubleshooting Contract for generating the immutable Beskid syntax domain model consumed by Mod SDK facades and meta discovery.
- Syntax domain model generation - Flow and algorithm Contract for generating the immutable Beskid syntax domain model consumed by Mod SDK facades and meta discovery.
- Syntax domain model generation - Verification and traceability Contract for generating the immutable Beskid syntax domain model consumed by Mod SDK facades and meta discovery.
0 revisions (git unavailable at build; counts may be empty)
No commits recorded for this path.
Full tree: run pnpm verify:platform-spec-layout (writes src/generated/platform-spec-layout-report.json).
This article states contracts and edge cases for Syntax domain model generation.
Hard requirements
Section titled “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 facades —
Beskid.Compilersurface is tied to compiler language version tokens exposed on the compilation instance.
Edge cases
Section titled “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.