Skip to content

feat: implement opt-in official SPSS Frontend 0.3 - #16

Merged
TonisOrmisson merged 1 commit into
mainfrom
feat/official-frontend-03
Sep 10, 2026
Merged

TonisOrmisson merged 1 commit into
mainfrom
feat/official-frontend-03

Conversation

@TonisOrmisson

@TonisOrmisson TonisOrmisson commented Sep 10, 2026 •

Copy link
Copy Markdown
Contributor

Alignment block 3. Explicit official Frontend 0.3 request selection over existing Plan 0.1/0.2; default 0.2 unchanged. Shared parser/binder, strict boundary regression tests and native SQLite in-place evidence. No codec, dependency, specification pin, version changes or publication.

Validation: 90/90 effective official cases. composer check and staged hook passed: 759 tests, 11032 assertions, 112 skipped. All 20 final-commit CI jobs passed at 22e2618: https://github.com/OpenStatSpec/php/actions/runs/34483918942

Independent full read-only review: No findings. Additional 37-program Python/PHP parity check: no canonical-plan/diagnostic differences.

ADD VALUE LABELS in the pure compiler merges against supplied request-schema metadata; no new live-schema discovery API. Package release is separate.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Sep 10, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: e1d3e448-8bb8-40db-9b3a-052011669964

📥 Commits

Reviewing files that changed from the base of the PR and between 16908fb and 22e2618.

📒 Files selected for processing (27)
  • CHANGELOG.md
  • README.md
  • docs/architecture.md
  • docs/release-readiness.md
  • docs/transformations.md
  • src/Core/CapabilityDeclaration.php
  • src/Frontend/Spss/Ast/FormatTarget.php
  • src/Frontend/Spss/Ast/NotPredicate.php
  • src/Frontend/Spss/Ast/Program.php
  • src/Frontend/Spss/Ast/RecodeStatement.php
  • src/Frontend/Spss/Ast/ValueLabelGroup.php
  • src/Frontend/Spss/Ast/ValueLabelsStatement.php
  • src/Frontend/Spss/Ast/VariableLabelAssignment.php
  • src/Frontend/Spss/Ast/VariableLevelGroup.php
  • src/Frontend/Spss/Ast/VariableRange.php
  • src/Frontend/Spss/Binder.php
  • src/Frontend/Spss/Binding/SchemaState.php
  • src/Frontend/Spss/Lexer.php
  • src/Frontend/Spss/Parser.php
  • src/Frontend/Spss/Request/InputVariable.php
  • src/Frontend/Spss/Request/SpssFrontendRequest.php
  • src/Frontend/Spss/SpssCompiler.php
  • src/Frontend/Spss/TokenType.php
  • tests/Core/CapabilityDeclarationTest.php
  • tests/Frontend/Spss/Conformance/SpssFrontend02Test.php
  • tests/Frontend/Spss/SpssFrontend03Test.php
  • tests/Integration/OfficialInPlaceTransformation01Test.php

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The change adds an opt-in SPSS Syntax Frontend 0.3 contract. It adds v0.3 syntax parsing, schema-aware binding, plan lowering, 90-case conformance coverage, and native SQLite integration coverage. Frontend 0.2 remains the default.

Changes

SPSS Frontend 0.3

Layer / File(s) Summary
Contract validation and compiler wiring
src/Core/CapabilityDeclaration.php, src/Frontend/Spss/Request/..., src/Frontend/Spss/SpssCompiler.php
The request boundary accepts CONTRACT_V03. The compiler forwards explicit v0.3 selection to the parser.
Lexer, parser, and syntax AST
src/Frontend/Spss/Lexer.php, src/Frontend/Spss/Parser.php, src/Frontend/Spss/Ast/*, src/Frontend/Spss/TokenType.php
The frontend adds v0.3 comments, NOT, not-equal operators, variable ranges, grouped commands, and ADD VALUE LABELS.
Schema expansion and plan lowering
src/Frontend/Spss/Binder.php, src/Frontend/Spss/Binding/SchemaState.php
Binding expands dictionary ranges, applies negation rules, supports open-ended recode ranges, and merges typed value labels.
Conformance, integration, and release evidence
tests/Frontend/Spss/*, tests/Integration/*, tests/Core/*, README.md, docs/*, CHANGELOG.md
Tests cover 90 effective cases, request validation, diagnostics, default-mode isolation, native SQLite application, and provenance. Documentation records the opt-in contract and pending service CI status.

Estimated code review effort: 4 (Complex) | ~60 minutes

Merge Risk: ⚪ Minimal · up to 22e26

No actionable merge risk remains.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 36.92% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 65 functions across 22 files. (5 skipped:… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: opt-in implementation of the official SPSS Frontend 0.3.
Full details: Docstring Coverage

Explanation

Docstring coverage is 36.92% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 65 functions across 22 files. (5 skipped: 5 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/official-frontend-03

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@TonisOrmisson
TonisOrmisson merged commit 9f67f21 into main Sep 10, 2026
41 checks passed
@TonisOrmisson
TonisOrmisson deleted the feat/official-frontend-03 branch September 10, 2026 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant