slovo/.llm/reviews/BETA_11_RELEASE_REVIEW.md

74 lines
3.5 KiB
Markdown

# 1.0.0-beta.11 Release Review
Status: ready for publication after the controller release gate.
## Verdict
No blocking issues remain after controller follow-up. The original workspace
package API leak was reproduced, fixed, and covered by a regression test before
publication.
## Resolved Finding
- Workspace package API docs originally included compiler-loaded standard
library modules when a workspace package imported `std.option`.
- Controller fix: workspace package API rendering now filters package modules
to the package source root before collecting public API sections, matching
the existing project-mode local-root behavior. Ordinary module summaries can
still show loaded standard-library modules, but package API sections no
longer present those modules as package-owned API.
- Regression added:
`doc_workspace_package_api_excludes_loaded_std_modules`.
## Scope Checked
- `compiler/src/docgen.rs` adds per-module public API sections and package API
sections, renders exported function signatures, struct fields, enum variants,
and normalizes module-local aliases before public rendering.
- `compiler/tests/doc_api_beta11.rs` covers file, project, workspace scaffold,
workspace packages importing `std.*`, alias normalization, non-exported
function omission, and byte-identical repeat generation for a file input.
- README, compiler/language roadmaps, release notes, SPEC-v1, `STDLIB_API.md`,
and the beta11 `.llm` contract include the main deferrals: no stable Markdown
schema, no stable stdlib/API compatibility freeze, no LSP/watch, no
SARIF/daemon protocol, no diagnostics schema policy, no executable generics,
no maps/sets, no re-exports/globs/hierarchical modules, and no registry
semantics.
- Version bumps in `compiler/Cargo.toml` and `compiler/Cargo.lock` move
`glagol` from `1.0.0-beta.10` to `1.0.0-beta.11`.
## Test Coverage Notes
- Workspace packages that import `std.*` are now covered by a focused
regression that verifies package API excludes loaded standard-library
modules and helpers.
- Determinism is asserted byte-for-byte only for file docs. Project and
workspace determinism are indirectly exercised by sorted rendering but not
protected by repeat-generation tests.
- Non-export filtering is asserted for functions and aliases. There is no
explicit negative test for non-exported structs, non-exported enums, or tests
appearing in public API sections.
- Alias normalization is covered for file/module docs, but not for project or
workspace package API fixtures.
## Verification
- `cargo fmt --check`: passed.
- `cargo check`: passed.
- `cargo test --test doc_api_beta11`: passed, 6 tests.
- `cargo test --test dx_v1_7`: passed, 13 tests.
- `cargo test --test symbols_beta10`: passed, 4 tests.
- `cargo test --test promotion_gate`: passed, 1 unignored test.
- `git diff --check`: passed.
- Stale beta10 current-release/version scan over README, docs, `.llm`, and
compiler package metadata: no matches.
- Private/local publication text scan over README, docs, scripts, compiler
source/tests, lib, examples, benchmarks, tests, and `.llm`: no matches.
- `node scripts/render-stdlib-api-doc.js`: passed and refreshed the catalog
release wording to `1.0.0-beta.11`.
- Manual workspace std-import doc generation after the fix: package API no
longer includes loaded standard-library modules.
- `./scripts/release-gate.sh`: passed docs, generated stdlib API catalog
consistency, private-publication text checks, formatter checks, the full cargo
test suite, ignored promotion checks, binary smoke, and LLVM smoke.