74 lines
3.5 KiB
Markdown
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.
|