slovo/.llm/reviews/BETA_18_RELEASE_REVIEW.md

2.9 KiB

Beta 18 Release Review: JSON String Token Parsing Foundation

Reviewer: beta18 release reviewer Date: 2026-05-23 Repo: Slovo monorepo

Findings

Blocking: unrelated test-runner stack wrapper drift is present in the beta18 worktree

  • compiler/src/main.rs:27
  • compiler/src/main.rs:30
  • compiler/src/main.rs:57

The dirty worktree includes a broad Mode::RunTests execution change that imports std::thread, defines a 16 MiB test-runner stack size, and runs every glagol test invocation inside a spawned thread. That is not part of the documented beta18 JSON string-token parsing scope and is not covered by the beta18 release notes, runtime contract, .llm/BETA_18_JSON_STRING_TOKEN_PARSING_FOUNDATION.md, or a targeted test that justifies changing CLI execution behavior.

This is release-blocking for beta18 as scoped. Either remove this drift from the beta18 release, or promote it into an explicit separate scope with release notes, docs, tests for panic/reporting behavior, and a clear reason for changing the test-runner resource model.

Non-Blocking Observations

  • The JSON string-token parser surface is coherent across lib/std/json.slo, examples/projects/std-layout-local-json/src/json.slo, compiler runtime registration, LLVM lowering, test-runner emulation, hosted C runtime, generated standard-library API docs, and source-facade examples.
  • The promoted signature is consistently (string) -> (result string i32).
  • The documented contract is narrow and explicit: one isolated ASCII JSON string token, exact quotes, simple JSON escapes, err 1 for ordinary parse failure, and deferred Unicode/full JSON parsing.
  • docs/compiler/RELEASE_NOTES.md:81 still says beta17 did not implement JSON string parsing. That appears historical and scoped to the beta17 section, not a stale beta18 claim.

Verification Run

Passed:

  • cargo fmt --check
  • cargo test --test standard_json_string_parsing_beta18
  • cargo test --test standard_json_scalar_parsing_beta17
  • cargo test --test standard_json_source_facade_alpha
  • cargo test --test promotion_gate
  • cargo test --test diagnostics_contract
  • cargo test
  • git diff --check
  • git grep -nE '(/home/[[:alnum:]_.-]+|sanjin[0-9]+|[0-9]{1,3}\.64\.0\.1|git\.hermeticum\.io)' -- README.md CONTRIBUTING.md docs scripts compiler lib examples benchmarks tests .llm

Not run:

  • ./scripts/release-gate.sh; the controller should run the full release gate after resolving the blocking drift and committing generated docs/source changes, because the gate intentionally checks generated docs/language/STDLIB_API.md, ignored promotion gates, binary smoke, and LLVM smoke.

Verdict

Not release-ready yet because of the unrelated compiler/src/main.rs test-runner stack wrapper drift. The beta18 JSON string-token parsing implementation itself did not show blocking defects in this review, and the focused plus full Rust test stack passed.