slovo/.llm/reviews/BETA_20_RELEASE_REVIEW.md

4.4 KiB

1.0.0-beta.20 Release Review

Scope: String Search And ASCII Trim Foundation

Findings

No blocking findings.

The beta20 diff matches the documented release contract at the release-blocking level. lib/std/string.slo:1 exports all six new helpers, and the implementations remain ordinary source helpers over the existing string facade primitives: first search at lib/std/string.slo:30, last search at lib/std/string.slo:47, contains at lib/std/string.slo:64, and ASCII trim at lib/std/string.slo:71. The local mirror in examples/projects/std-layout-local-string/src/string.slo:1 exposes the same surface without changing the public contract shape.

The example coverage is explicit and scoped correctly. The standard import example covers present, missing, empty-needle, first/last index, leading trim, trailing trim, full trim, all-whitespace trim, and no-trim cases at examples/projects/std-import-string/src/main.slo:204; the documentation copy matches at docs/language/examples/projects/std-import-string/src/main.slo:204; the local fixture mirrors the same behavior at examples/projects/std-layout-local-string/src/main.slo:204.

The compiler gate coverage is aligned with the non-scope. The focused beta20 test builds an explicit std.string import fixture at compiler/tests/standard_string_search_trim_beta20.rs:47, asserts the helpers are source-authored at compiler/tests/standard_string_search_trim_beta20.rs:178, and rejects direct compiler-known runtime calls for the new names. The existing local-string fallback test now expects and inventories the new helpers at compiler/tests/standard_string_source_fallback_helpers_alpha.rs:8 and compiler/tests/standard_string_source_fallback_helpers_alpha.rs:24. The repo-root standard-source import gate and promotion gate are also aligned at compiler/tests/standard_core_facade_source_search_alpha.rs:8, compiler/tests/standard_core_facade_source_search_alpha.rs:33, compiler/tests/promotion_gate.rs:1318, and compiler/tests/promotion_gate.rs:7368.

Contract Drift

No blocking contract drift found.

The README, language release notes, language roadmap, v1 spec, compiler release notes, compiler roadmap, post-beta roadmap, stdlib README, and beta20 .llm contract all describe the same narrow surface: byte-oriented search, empty needle behavior, ASCII-only trimming over bytes 9, 10, 11, 12, 13, and 32, no new compiler-known runtime names, no runtime C work, no new source syntax, and no Unicode, regex, tokenizer, mutable-string, stable ABI/layout, or stable stdlib/API claims. Representative anchors: README.md:144, docs/language/RELEASE_NOTES.md:39, docs/language/ROADMAP.md:80, docs/language/SPEC-v1.md:232, docs/compiler/RELEASE_NOTES.md:15, docs/compiler/ROADMAP.md:100, docs/POST_BETA_ROADMAP.md:111, lib/std/README.md:233, and .llm/BETA_20_STRING_SEARCH_AND_ASCII_TRIM_FOUNDATION.md:1.

The version and generated catalog updates are coherent: compiler/Cargo.toml:3 and compiler/Cargo.lock are bumped to 1.0.0-beta.20, docs/language/STDLIB_API.md:18 reports 596 exported signatures, and docs/language/STDLIB_API.md:486 lists 36 std.string signatures including the six beta20 helpers. scripts/release-gate.sh:73 wires the focused beta20 test into the release gate.

Verification Notes

Inspected:

  • Working tree diff and untracked beta20 contract/test files for std source, explicit std/local examples, docs, compiler tests, generated catalog, version bump, and release-gate integration.
  • Contract drift against README, language roadmap/spec/release notes, compiler roadmap/release notes, post-beta roadmap, stdlib README, and the beta20 .llm contract.
  • Sibling glagol repository status; no sibling worktree changes were present.

Read-only checks run:

  • git diff --check - passed.
  • git diff --cached --check - passed.
  • bash -n scripts/release-gate.sh - passed.
  • cargo fmt --check --manifest-path compiler/Cargo.toml - passed.
  • Local/private publication text scan over source/docs/tests/.llm with build artifacts excluded - passed.

Not run:

  • Focused cargo tests, full cargo test, and ./scripts/release-gate.sh. Those commands write build/generated artifacts, and this review was constrained to read-only commands except for the review file.

Verdict

Release-ready from this review. No blocking beta20 issues remain in the current working tree diff. The controller should still run the focused beta20 test stack and full release gate before tagging.