96 lines
4.4 KiB
Markdown
96 lines
4.4 KiB
Markdown
# 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.
|