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