slovo/.llm/reviews/BETA_17_RELEASE_REVIEW.md

98 lines
3.9 KiB
Markdown

# 1.0.0-beta.17 Release Review
Scope: `1.0.0-beta.17 JSON Primitive Scalar Parsing Foundation`
## Verdict
Ready after controller follow-up. The source facade, runtime lowering,
test-runner behavior, examples, generated API catalog, focused gates, full
`cargo test`, and release diagnostics are coherent for the beta17 scope.
## Findings
### P2 - Resolved: unsupported standard-library diagnostics omitted the beta17 promoted JSON names
`compiler/src/std_runtime.rs:259` through `compiler/src/std_runtime.rs:299`
register the six promoted beta17 helpers:
- `std.json.parse_bool_value_result`
- `std.json.parse_i32_value_result`
- `std.json.parse_u32_value_result`
- `std.json.parse_i64_value_result`
- `std.json.parse_u64_value_result`
- `std.json.parse_f64_value_result`
`compiler/src/std_runtime.rs:875` hard-coded the
`UnsupportedStandardLibraryCall.expected` text with only
`std.json.quote_string` in the JSON family. A user who called an unsupported
`std.*` name would receive stale guidance that omitted the newly supported
beta17 helpers.
Controller resolution: the six beta17 `std.json.parse_*_value_result` names
are now present in the expected supported-call list, and
`compiler/tests/standard_json_scalar_parsing_beta17.rs` includes
`unsupported_json_diagnostics_list_beta17_promoted_scalar_parsers` to fail if
that user-facing guidance drifts again.
No P0/P1/P2 runtime, source-facade, grammar, lowering, diagnostics, or
release-gate wiring findings remain open.
## Verification
Inspected:
- `lib/std/json.slo` and both JSON example fixtures.
- `compiler/src/std_runtime.rs`, `compiler/src/llvm.rs`, and
`compiler/src/test_runner.rs`.
- `runtime/runtime.c`.
- `compiler/tests/standard_json_scalar_parsing_beta17.rs`,
`compiler/tests/standard_json_source_facade_alpha.rs`, and
`compiler/tests/promotion_gate.rs`.
- `scripts/release-gate.sh`, version bump, release notes, roadmaps, spec,
standard-runtime docs, and generated `docs/language/STDLIB_API.md`.
Ran:
- `git -C slovo diff --check` - passed.
- `cargo fmt --check` - passed.
- `cargo test --test standard_json_scalar_parsing_beta17` - passed, 5/5.
- `cargo test --test standard_json_source_facade_alpha` - passed, 2/2.
- `cargo test --test standard_json` - passed, 4/4.
- `cargo test --test diagnostics_contract` - passed, 1/1.
- `cargo test --test promotion_gate` - passed, 1/1 with 2 ignored.
- `cargo test --test promotion_gate -- --ignored` - passed, 2/2.
- `cargo test` - passed.
- Controller follow-up `cargo test --test standard_json_scalar_parsing_beta17`
- passed after the diagnostic inventory fix.
Not run:
- Full `./scripts/release-gate.sh`; run it after final controller cleanup. Its
core `cargo test`, fmt, promotion, and beta17-focused components were
covered above, but the full script also runs documentation/private-text
checks and ignored binary/LLVM smoke gates.
## Residual Risks And Non-Scope Confirmation
Confirmed in-scope behavior:
- `std.json.parse_bool_value_result`, numeric concrete
`parse_*_value_result` helpers, and source-only `parse_null_value_result`
are present in `lib/std/json.slo` and mirrored by the local JSON fixture.
- Promoted bool/numeric helpers lower to private runtime symbols and have
matching test-runner and hosted-runtime behavior.
- Primitive JSON token checks reject whitespace, leading `+`, leading-zero
forms such as `01`/`01.0`, negative unsigned integers, overflow, and
non-finite f64 results. Exponent f64 is accepted. `-0` is accepted
consistently as a JSON-valid number token, not treated as a leading-zero
form.
- `parse_null_value_result` remains source-only; no compiler-known null parser
was introduced.
Confirmed non-scope:
- No JSON string parser, object parser, array parser, recursive `JsonValue`,
tokenizer, schema validator, stream parser, Unicode escape parser, map/set
surface, stable ABI/layout claim, stable API freeze, or performance claim is
introduced by this candidate.