Registry, CLI, and analysis must agree on one package name.
Corelib discovery and packaging
Platform spec feature
Corelib discovery and packaging
Spec standingStandard
-
Published and resolved identity is corelib, not ad-hoc forks.
Context
Decision
Rule Detail Identity Package name corelib; sources underbeskid_corelibLegacy standard_librarypaths may alias; identity remainscorelibConsequences
pckg publish, resolver, and docs use the same identity string.
Verification anchors
resolver.rs;beskid_testscorelib project fixtures. -
Env, repo walk, and bundled CLI materialize the same tree.
Context
Developers run from superrepo, installed CLI, or CI without divergent roots.
Decision
Rule Detail BESKID_CORELIB_ROOTPoints at root containing beskid_corelib/Project.projWalk Ancestor search for compiler/corelib/beskid_corelibBundle beskid_cliensure_corelib_readymaterializes embedded treeConsequences
Missing roots fail fast with resolver diagnostics.
Verification anchors
corelib_runtime.rs;resolver.rstests. -
Pack copies declared readme into README.md for registry docs.
Context
Registry consumers expect root README.md in
.bpkartifacts.Decision
Rule Detail Declare Optional readme = "path.md"in Project.projDefault readme.mdat package root when presentPack beskid pckg packplaces resolved file asREADME.mdConsequences
pckg documentation ingest uses consistent entry filename.
Verification anchors
PackagePublishDocumentation.cs; pack integration tests. -
corelib_console is a workspace member depended on by beskid_corelib.
Context
Console/ANSI must ship with the aggregate package, not as an orphan.
Decision
Rule Detail Workspace compiler/corelib/Workspace.projlistspackages/consoleAggregate beskid_corelibdepends oncorelib_consoleConsequences
Publish CI packs the full workspace graph for registry corelib.
Verification anchors
Workspace.proj; corelib CI publish job.
- Contracts and edge cases Normative guarantees and known edge cases for `Corelib discovery and packaging`.
- Design model Conceptual model for `Corelib discovery and packaging` and its subsystem boundaries.
- Examples Practical examples that demonstrate `Corelib discovery and packaging` behavior.
- FAQ and troubleshooting Common questions and debugging guidance for `Corelib discovery and packaging`.
- Flow and algorithm End-to-end control flow for corelib discovery, materialization, and packaging.
- Verification and traceability How `Corelib discovery and packaging` requirements map to tests and implementation anchors.
0 revisions (git unavailable at build; counts may be empty)
No commits recorded for this path.
| Section id | Required | Found |
|---|---|---|
what-this-feature-specifies | yes | yes |
implementation-anchors | yes | yes |
Full tree: run pnpm verify:platform-spec-layout (writes src/generated/platform-spec-layout-report.json).
What this feature specifies
This feature explains how compiler and tooling always load the same canonical corelib package identity and files. It is organized into newcomer-friendly articles that move from model, to flow, to contracts, then practical verification and debugging guidance.
Implementation anchors
- Canonical package root
compiler/corelib/beskid_corelib - Canonical package identity
corelib(Project.proj), withbeskid_corelibas the repository directory name - Corelib path discovery in
compiler/crates/beskid_analysis/src/projects/graph/resolver.rs - CLI embedding/install support in
compiler/crates/beskid_cli/build.rsandcompiler/crates/beskid_cli/src/corelib_runtime.rs - Integration checks in
compiler/crates/beskid_tests/src/projects/corelib
Decisions
Section titled “Decisions”No open decisions. Closed choices are normative ADRs under adr/ (D-CORE-COMP-0001 … D-CORE-COMP-0004); use the reader ADRs tab for expandable detail.
Articles
- Canonical corelib package identityPublished and resolved identity is corelib, not ad-hoc forks.
- Contracts and edge casesNormative guarantees and known edge cases for `Corelib discovery and packaging`.
- Design modelConceptual model for `Corelib discovery and packaging` and its subsystem boundaries.
- ExamplesPractical examples that demonstrate `Corelib discovery and packaging` behavior.
- FAQ and troubleshootingCommon questions and debugging guidance for `Corelib discovery and packaging`.
- Flow and algorithmEnd-to-end control flow for corelib discovery, materialization, and packaging.
- Verification and traceabilityHow `Corelib discovery and packaging` requirements map to tests and implementation anchors.