# 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.
