Skip to content
Beskid The Beskid Book

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

12.7 How to propose a change

A contributor path from design gap to OpenSpec change, implementation, and validation.

How to propose a change

You found a bug or a missing feature. Excellent. Here is how to avoid becoming another “we’ll document it later” statistic.

Use language law vs implementation:

  • User-visible semantics → extend language-meta first.
  • CLI/manifest/LSP → tooling with links back.
  • Runtime/GC/fibers → execution + language-meta cross-links.
  • corelib API → core-library.
  • Find the capability in openspec/catalog.json and edit it through an openspec/changes/<change>/ delta.
  • Put normative behavior in ### Requirement: sections with at least one #### Scenario:.
  • Keep tutorials and rationale in the Book; link them with typed spec and book embeds.
  • Run openspec validate --all --strict from the repository root after edits.

Templates: Feature hub + article bundle, Frontmatter template.

Update compiler/ (or corelib/tooling) and refresh crate-to-spec anchors when crate boundaries move.

CheckCommand / location
OpenSpec structure and deltasopenspec validate --all --strict
Compiler behaviorcargo test in compiler/, beskid_tests fixtures
Repository conformance gatebash scripts/ci/openspec-gate.sh

Update book chapters or reference when tutorials should reflect the new world—after normative text lands.

Spec maintenance area

13. Reading the law without going blind