Repository navigation
Add optional Lua operations and prepare the 1.1 development line - #61
Merged
Merged
Conversation
ShadowNineX
marked this pull request as ready for review
October 7, 2026 15:18
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
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. Comment |
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Outcome and linked issue
After 1.0.0 was published, the repository still treated its API and analyzer rules as unshipped and had no published compatibility baseline. Generated Lua operations also rejected SDK optional arguments and results. This change opens the 1.1 development line and adds Client-owned optional values that preserve omitted, explicit nil, and present values, including false and zero.
No linked issue.
Scope and architectural ownership
LuaOptional<T>and generated adapters for trailing optional inputs and one optional trailing out result on a bool binding. Accept exactly the optional scalar types supported by SDK 2.0.0; reject unsupported and nullable shapes before generation.SDK owns Cheat Engine integration; Client owns the public value contract and workflow adapters. Live qualification, hosted performance measurements, and domains awaiting SDK primitives remain pending.
Dependencies and containing artifacts
The consumed primitive is
CheatEngine.SDK2.0.0'sLuaOptional<T>and LuaBindings generator. The SDK pin and dependency versions are unchanged; no dependency was added. Project-reference lock entries were regenerated for the 1.1 floor.Validation actually performed
Local results were collected from the final source tree before the PR commit; CI validates the published commit.
dotnet restore CheatEngine.Client.slnx --locked-modedotnet build CheatEngine.Client.slnx -c Debug --no-restore;dotnet test --solution CheatEngine.Client.slnx -c Debug --no-build --no-restore --fail-skips on --filter-not-trait Category=PackageConsumption --filter-not-trait Category=LiveQualificationdotnet build CheatEngine.Client.slnx -c Release --no-restore --no-incrementaldotnet pack CheatEngine.Client.slnx -c Release --no-build -o artifacts/roadmap-fix-validation-final/nuget; setCHEATENGINE_CLIENT_PACKAGE_SOURCEto that directory;dotnet test --solution CheatEngine.Client.slnx -c Release --no-build --no-restore --fail-skips on --filter-not-trait Category=LiveQualificationdotnet publish tests/CheatEngine.Client.AotProbe/CheatEngine.Client.AotProbe.csproj -c Release --no-restore -o artifacts/roadmap-fix-validation-final/aot-probe; runCheatEngine.Client.AotProbe.exedotnet format whitespace . --folder --verify-no-changes --exclude artifacts;git diff --checkAPI and compatibility
LuaOptionalfactories andLuaOptional<T>immutable tri-state value type, including safe default access,TryGetValue, and value equality.Evidence
The new executable generated-operation tests cover omitted/nil/present false and zero, failed Try bindings, invalid argument holes, mapper value fidelity and unchanged exception identity. The composition tests compile alongside the generator from the pinned SDK package and verify its omission-hole guard precedes admission/calls. The exact generated SDK-member ratchet and public API/XML documentation checks pass. Existing public API entries were compared with the pre-change tree and none were removed.
Local logs are retained under
artifacts/roadmap-fix-validation-final/. Package DLL bytes were compared with the final clean build. No live host receipts or hosted performance results are claimed.Documentation and review checklist
CHANGELOG.mdhas entries under[Unreleased].dotnet restore <project> --force-evaluate..git-blame-ignore-revs; the normal squash policy applies.