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
.llmcontract. - Sibling
glagolrepository 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.