Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Verification and traceability

Platform spec article

Verification and traceability

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki
ContractRust testBeskid test targetCLI command
API-SHAPE-001 (every public item resolves through cascade)beskid_tests::projects::corelib::layout::corelib_collections_sources_carry_api_shape_tier_directivescargo test -p beskid_tests projects::corelib::layout
API-SHAPE-002 (only known tier values)beskid_analysis::doc::api_tier::tests::rejects_unknown_directive_valuecargo test -p beskid_analysis doc::api_tier
API-SHAPE-003 (cascade resolution)beskid_analysis::doc::api_tier::tests::cascade_item_then_parent_then_defaultcargo test -p beskid_analysis doc::api_tier
API-SHAPE-004 (prelude only re-exports Tier 1)beskid_tests::projects::corelib::layout::corelib_system_streams_carry_api_shape_tier_directives (Input/Output/Error are Tier 1)cargo test -p beskid_tests projects::corelib::layout
API-SHAPE-005 (camelCase + omit when None)beskid_tests::projects::corelib::layout::checked_in_corelib_tier_metadata_round_trips_through_api_jsoncargo test -p beskid_tests projects::corelib::layout
API-SHAPE-006 (api.json schema ≥ v4 when tier is set)beskid_tests::projects::corelib::layout::api_doc_root_advertises_v4_schema_for_tier_metadatacargo test -p beskid_tests projects::corelib::layout
API-SHAPE-007 (Tier 1 stability)beskid_tests::projects::corelib::layout::corelib_collections_sources_carry_api_shape_tier_directives plus snapshot reviewsCollectionsTier1Tests (tests/corelib_tests/src/collections/CollectionsTier1Tests.bd)beskid test --project tests/corelib_tests --target CollectionsTier1Tests
API-SHAPE-008 (Tier 2 stability)beskid_tests::projects::corelib::layout::corelib_collections_sources_carry_api_shape_tier_directivesCollectionsListTests, CollectionsMapTests, CollectionsSetTests, CollectionsQueueTests, CollectionsStackTests, SystemFsTests, SystemPathTestsbeskid test --project tests/corelib_tests --target CollectionsMapTests (repeat per target)
API-SHAPE-009 (Tier 3 not in prelude / completions)Prelude reader checks in beskid_tests::projects::corelib::compile::checked_in_corelib_prelude_exports_mvp_modules plus the layout tier directives testcargo test -p beskid_tests projects::corelib::compile::checked_in_corelib_prelude_exports_mvp_modules
API-SHAPE-010 (consumer badges)trudoc verify:platform-spec-content checks ADRs and ## Decisions table on the hubbun run --cwd site/website verify:trudoc -- --preset ci

Run from the workspace root:

Terminal window
# Rust-side conformance (resolver + cascade + api.json round-trip + tier directive enforcement)
cd compiler && cargo test -p beskid_tests projects::corelib::layout
# Resolver unit tests (parser, cascade levels, alias normalization)
cd compiler && cargo test -p beskid_analysis doc::api_tier
# Beskid-side Tier 1 / Tier 2 suites (drop-in once CLI's beskid test resolves cross-package symbols)
cd compiler/corelib/beskid_corelib/tests/corelib_tests && beskid test --target CollectionsTier1Tests
cd compiler/corelib/beskid_corelib/tests/corelib_tests && beskid test --target CollectionsListTests
cd compiler/corelib/beskid_corelib/tests/corelib_tests && beskid test --target CollectionsMapTests
cd compiler/corelib/beskid_corelib/tests/corelib_tests && beskid test --target CollectionsSetTests
cd compiler/corelib/beskid_corelib/tests/corelib_tests && beskid test --target CollectionsQueueTests
cd compiler/corelib/beskid_corelib/tests/corelib_tests && beskid test --target CollectionsStackTests
cd compiler/corelib/beskid_corelib/tests/corelib_tests && beskid test --target SystemFsTests
cd compiler/corelib/beskid_corelib/tests/corelib_tests && beskid test --target SystemPathTests
# Spec contract (no Proposed pages under api-shape, no scaffold stubs, decisions present)
cd site/website && bun run verify:trudoc -- --preset ci
  • Spec requirement source: /platform-spec/core-library/stability-and-api-shape/corelib-api-shape/.
  • Tier resolver: compiler/crates/beskid_analysis/src/doc/api_tier.rs.
  • Tier field on ApiDocItem: compiler/crates/beskid_analysis/src/doc/api_snapshot.rs.
  • Beskid sources tagged with @tier(...):
    • compiler/corelib/packages/foundation/src/Collections/Array.bd (Tier 1)
    • compiler/corelib/packages/foundation/src/Collections/List.bd (Tier 2 with Get at Tier 3)
    • compiler/corelib/packages/foundation/src/Collections/Map.bd (Tier 2 with ContainsKey and Get at Tier 3)
    • compiler/corelib/packages/foundation/src/Collections/Set.bd (Tier 2 with Contains at Tier 3)
    • compiler/corelib/packages/foundation/src/Collections/Queue.bd (Tier 2 with Peek at Tier 3)
    • compiler/corelib/packages/foundation/src/Collections/Stack.bd (Tier 2 with Peek at Tier 3)
    • compiler/corelib/packages/runtime/src/System/Input.bd, Output.bd, Error.bd, Syscall.bd (Tier 1)
    • compiler/corelib/packages/runtime/src/System/FS.bd (Tier 2)
    • compiler/corelib/packages/runtime/src/System/Path.bd (Tier 2 with FileName, Extension, IsAbsolute at Tier 3)
  • Conformance anchor: compiler/crates/beskid_tests/src/projects/corelib/layout.rs.
  • Every public corelib module carries at least one @tier(...) directive (module-level or per-item).
  • api.json round-trip preserves tier for tier-tagged items and omits it cleanly for items left as None.
  • The prelude validator passes after any module promotion.
  • cargo test -p beskid_tests projects::corelib::layout is green.
  • bun run verify:trudoc -- --preset ci reports zero Proposed pages under core-library/stability-and-api-shape/corelib-api-shape/.