Sibling articles under this feature previously restated requirements in inconsistent forms.
Examples
Platform spec article
Examples
Spec standingStandard
-
This feature hub owns normative MUST/SHOULD contract text for Rules and diagnostics catalog.
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/semantic-pipeline/rules-and-diagnostics-catalog/index.mdxarticle bundle under the same feature directory.
-
Platform-spec text supersedes informal crate comments for Rules and diagnostics catalog.
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/analysiscompiler/crates/beskid_analysis/src/analysis/rules/stagedcompiler/crates/beskid_analysis/src/analysis/diagnostic_kinds.rs
-
This feature defines how semantic rules are scheduled and how their findings map to stable diagnostic kinds. The primary
Context
This feature defines how semantic rules are scheduled and how their findings map to stable diagnostic kinds. The primary implementation roots are
beskid_analysis/src/analysis, staged rule modules underanalysis/rules/staged, and services that expose diagnostics to CLI/LSP consumers.Decision
The reference compiler must implement Rules and diagnostics catalog 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/analysiscompiler/crates/beskid_analysis/src/analysis/rules/stagedcompiler/crates/beskid_analysis/src/analysis/diagnostic_kinds.rs
- Contracts and edge cases Rule-level guarantees and high-risk semantic edge cases.
- Design model Mental model for staged semantic rules and diagnostic production.
- Examples Practical examples of semantic rule outcomes and diagnostic generation.
- FAQ and troubleshooting Common semantic-pipeline debugging questions and practical checks.
- Flow and algorithm End-to-end semantic rule flow from resolved items to user-facing diagnostics.
- Verification and traceability How semantic rule behavior is validated and traced to source 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).
Example A: duplicate symbol definition
- Resolver exposes two declarations with the same identity in one scope.
- Definition-stage rule reports a duplicate-definition issue kind.
- CLI and LSP render different message shells but reference the same issue code.
Example B: invalid method signature usage
- Parsed node is syntactically valid.
- Semantic rule validates contract/method constraints against resolved type context.
- Failure emits a semantic diagnostic code with spans pointing to the offending signature and related declaration.