slovo/.llm/BETA_5_PACKAGE_WORKSPACE_DISCIPLINE.md
2026-05-22 13:26:07 +02:00

49 lines
1.6 KiB
Markdown

# Beta 5 Package And Workspace Discipline
Release label: `1.0.0-beta.5`
Release date: 2026-05-22
Status: released beta package/workspace discipline slice.
## Scope
This post-`1.0.0-beta.4` slice tightens local package/workspace behavior
without adding a remote registry, package solver, lockfile, or stable package
ABI promise.
## Current Work
- Add `[workspace] default_package = "name"` as an explicit build/run entry
selector for workspaces with multiple packages that contain their entry
module.
- Keep `check`, `test`, `fmt`, and `doc` project-wide over the full closed
workspace graph.
- Diagnose missing `default_package` references during workspace loading.
- Diagnose duplicate workspace members after path normalization before package
loading.
- Add workspace package and dependency summaries to `glagol doc`.
- Teach generated workspace templates and canonical workspace examples to
declare `default_package = "app"`.
- Add `docs/language/PACKAGES.md` as the public beta local package/workspace
guide, including the no-registry/no-lockfile policy.
- Keep dependency resolution local-path-only and deterministic.
## Acceptance Gates
- `cargo test --test project_mode workspace_default_package`
- `cargo test --test project_mode workspace_package_boundaries`
- `cargo test --test dx_v1_7 doc_generates_workspace_package_summary`
- `cargo test --test dx_v1_7 new_workspace_template`
- `cargo fmt --check`
- `git diff --check`
## Deferrals
- No remote registry.
- No lockfile.
- No semantic-version solver.
- No optional, dev, target, or feature dependencies.
- No package publishing or archive format.
- No stable package ABI/layout guarantee.