# 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.
