Sibling articles under this feature previously restated requirements in inconsistent forms.
Beskid.Compiler.SyntaxMirror facade - Design model
Platform spec article
Beskid.Compiler.SyntaxMirror facade - Design model
Spec standingStandard
-
This feature hub owns normative MUST/SHOULD contract text for Beskid.Compiler.SyntaxMirror facade.
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/beskid-compiler-syntax-facade/index.mdxarticle bundle under the same feature directory.
-
Platform-spec text supersedes informal crate comments for Beskid.Compiler.SyntaxMirror facade.
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/
-
This feature hub defines the normative contract for **Beskid.Compiler.SyntaxMirror** and links detailed articles.
Context
This feature hub defines the normative contract for Beskid.Compiler.SyntaxMirror and links detailed articles.
Decision
The reference compiler must implement Beskid.Compiler.SyntaxMirror facade as documented in this feature hub and its article bundle.
Consequences
Changes require hub/ADR updates and verification anchor extensions.
Verification anchors
compiler/crates/beskid_analysis/src/syntax/
- Beskid.Compiler.SyntaxMirror facade - Contracts and edge cases Typed, allocation-bounded syntax node API exposed to compile-time Beskid modules.
- Beskid.Compiler.SyntaxMirror facade - Design model Typed, allocation-bounded syntax node API exposed to compile-time Beskid modules.
- Beskid.Compiler.SyntaxMirror facade - Examples Typed, allocation-bounded syntax node API exposed to compile-time Beskid modules.
- Beskid.Compiler.SyntaxMirror facade - FAQ and troubleshooting Typed, allocation-bounded syntax node API exposed to compile-time Beskid modules.
- Beskid.Compiler.SyntaxMirror facade - Flow and algorithm Typed, allocation-bounded syntax node API exposed to compile-time Beskid modules.
- Beskid.Compiler.SyntaxMirror facade - Verification and traceability Typed, allocation-bounded syntax node API exposed to compile-time Beskid modules.
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 documents the design model for Beskid.Compiler.SyntaxMirror facade.
Language alignment
Section titled “Language alignment”Beskid.Compiler.Query consumes Syntax nodes as read-only views during the process phase; emit uses the same node factory family for typed contributions.
Persistent entities
Section titled “Persistent entities”- Compilation instance — implicit handle to the compilation under construction (Compiler Mod SDK /
Beskid.Compiler.Compilation). - Syntax snapshot — immutable tree with stable node identities suitable for incremental keys.
- Capability tokens — host-granted permissions for I/O, diagnostics, and emit operations during mod execution.
Boundaries
Section titled “Boundaries”- Mod SDK facades never bypass the host bridge for effects.
- Generation logic in the reference compiler remains Rust-internal; Beskid sees only the generated
Beskid.Compiler.*projection.
Anchored code paths
Section titled “Anchored code paths”corelibpackage moduleBeskid.Syntax(generated + hand-authored surface; legacyBeskid.Compiler.Syntaxpaths deprecated).compiler/crates/beskid_analysis/src/syntax/— authoritative internal model to mirror.