# 1.0.0-beta.15 Reserved Generic Collection Boundary Hardening And Collection Ledger

Status: release scope for `1.0.0-beta.15`.

`1.0.0-beta.15` is a docs/design and compiler-boundary hardening slice for
the existing concrete collection and value-family surface. It keeps the
`1.0.0-beta` source language, typed core, runtime, standard-library/API
surface, diagnostic output shape, diagnostic codes, diagnostic schema,
benchmark metadata schema, ABI/layout behavior, compiler-known runtime names,
and performance claims unchanged while rewording reserved generic/map/set
diagnostic prose away from beta.9-specific text.

## Scope

- Add `docs/language/COLLECTIONS.md` as the collection/value-family ledger.
- Inventory the current concrete vector, option, result, and related
  option/result-returning facade surfaces by linking to
  `docs/language/STDLIB_API.md` instead of duplicating generated counts.
- Record design pressure from duplicated concrete vector, option, and result
  helper families.
- Define prerequisites before executable generics, generic aliases, maps,
  sets, iterators, mutable vectors, and slice/view APIs can be promoted.
- Record current unsupported diagnostics as boundary evidence, not behavior
  changes.
- Centralize reserved generic/collection diagnostics for lowerer, formatter,
  and checker paths in `compiler/src/reserved.rs`.
- Reword affected reserved-boundary snapshots from `beta.9` to current-beta
  wording while preserving codes, schema, spans, expected/found values, hints,
  and output shape.
- Add focused `reserved_generic_collection_beta15` coverage and run it from
  `scripts/release-gate.sh`.
- Update README, post-beta roadmap, language/compiler roadmaps, language spec,
  release notes, compiler release notes, and this release contract to introduce
  beta15.

## Acceptance

- Public docs name current release/stage `1.0.0-beta.15`.
- `docs/language/COLLECTIONS.md` links to `docs/language/STDLIB_API.md` for
  exact public helper signatures and does not duplicate generated helper
  counts.
- The ledger inventories the current concrete collection/value-family surface:
  five concrete vector modules, concrete option families, concrete result
  families, and option/result-returning host/parsing facades.
- The ledger records why repeated concrete vector/option/result facades create
  design pressure for later generic work.
- The ledger defines promotion prerequisites for executable generics, generic
  aliases, maps, sets, iterators, mutable vectors, and slice/view APIs.
- The docs state that current unsupported diagnostics are boundaries, that
  beta15 rewords only reserved-boundary diagnostic prose, and that beta15 does
  not change diagnostic output shape, codes, schema, spans, expected/found
  values, or hints.
- Focused compiler tests prove `check`, `fmt --check`, and project-root
  `check` reject reserved generic/map/set surfaces with stage-neutral current
  beta wording.
- Explicit exclusions include no source-language change, no runtime change, no
  stdlib/API surface change, no diagnostic output shape/code/schema change, no
  benchmark metadata schema change, no ABI/layout change, no performance
  claim, and no stable API freeze.

## Explicit Non-Scope

- no executable generics, traits, inference, monomorphization, or generic
  stdlib dispatch
- no generic aliases or parameterized aliases
- no map or set semantics
- no iterator API
- no mutable vector API
- no slice/view API
- no new compiler-known runtime names or helper symbols
- no standard-library/API addition, removal, rename, or stable freeze
- no diagnostic output shape, code, schema, span, expected/found, or hint change
- no diagnostic policy change beyond reserved-boundary prose rewording
- no benchmark metadata schema change
- no source-language syntax, typed-core, lowering, runtime, ABI/layout, or
  optimizer change
- no performance threshold or cross-machine performance claim
- no worker-owned release publication work before controller review and gates

## Expected Controller Verification

- Run lightweight docs checks:
  - `git diff --check -- README.md docs/POST_BETA_ROADMAP.md docs/language/ROADMAP.md docs/language/SPEC-v1.md docs/language/RELEASE_NOTES.md docs/language/COLLECTIONS.md .llm/BETA_15_RESERVED_GENERIC_COLLECTION_BOUNDARY_HARDENING.md`
  - run an `rg` check for stale beta14-only current-stage phrasing across the
    same touched docs
- Run focused compiler checks:
  - `cargo test --test reserved_generic_collection_beta15`
  - `cargo test --test diagnostics_contract`
  - `cargo test --test formatter`
  - `cargo test --test project_mode`
  - `rg -n "not supported in beta\\.9" compiler/src tests`
- Do not commit, tag, push, or run release publication from this worker scope.
