slovo/.llm/reviews/BETA_8_RELEASE_REVIEW.md

2.2 KiB

1.0.0-beta.8 Release Review

Date: 2026-05-22

Scope: concrete type alias foundation.

Verdict

The Slovo documentation and source-fixture side is coherent for a beta.8 concrete-alias slice. The contract is intentionally transparent: top-level (type Alias TargetType) declarations name existing supported concrete target types, normalize before backend/ABI decisions, and do not create runtime types, hosted symbols, generic alias machinery, maps/sets, or cross-module alias visibility.

Review Notes

  • The language spec defines syntax, resolution, formatter shape, diagnostics, and explicit deferrals for concrete aliases.
  • The public roadmap and stable-readiness notes place beta.8 between JSON data interchange and generics/collection unification.
  • std/json.slo uses JsonText and JsonField as local aliases only. The helper export list remains unchanged.
  • The explicit std-import and local JSON fixtures exercise local alias use without importing, exporting, or re-exporting aliases.
  • Glagol parser, checker, formatter, project import resolution, lowering inspectors, diagnostics fixtures, and promotion inventory now carry the matching implementation side.
  • Reviewer findings were integrated: JSON fixtures use canonical alias spacing, unsupported alias targets are rejected, alias/value name conflicts are diagnosed, and alias export/import attempts produce explicit visibility diagnostics.

Verification

  • cargo fmt --check
  • cargo test --test diagnostics_contract current_negative_cases_match_machine_diagnostic_snapshots
  • cargo test --test concrete_type_aliases_beta
  • cargo test --test project_mode type_aliases_are_local_across_project_visibility
  • cargo test --test lowering_inspector
  • cargo test --test promotion_gate promotion_gate_artifacts_are_aligned
  • cargo test --test standard_json_source_facade_alpha
  • cargo test
  • git diff --check

Remaining Deferred Work

  • Generated documentation may still display source alias spelling. Runtime behavior, checked lowering, backend layout, and cross-module typing use the resolved concrete target.
  • Any future generic alias, cross-module alias import/export, or re-export design.