Roadmap search

Versions, deliverables, workstreams, tasks, and pages

Beskid

Jump to a Beskid service

Contracts and edge cases

articleStandard

src/content/docs/platform-spec/compiler/codegen-and-ir/lowering-contract/contracts-and-edge-cases.mdx

import SpecArticleChrome from '@beskid/beskid-ui/platform-spec/SpecArticleChrome.astro';

<SpecArticleChrome />

Normative contracts

  • Producer crates must emit data in a shape accepted by downstream consumers.
  • Consumer crates must not silently reinterpret the contract surface.
  • Contract regressions must be captured as compile-time or test-time failures, not hidden runtime drift.

Edge cases to monitor

  • Partial refactors that update only one side of a crate boundary.
  • Symbol/name changes that compile locally but break cross-crate integration.
  • Fixtures that pass in isolation but fail in end-to-end harnesses.

Failure handling expectations

When contract checks fail, diagnostics should point contributors to the responsible boundary crate and to the corresponding conformance fixture.