Skip to content

Verify memory-record parent assignments - #96

Merged
ShadowNineX merged 2 commits into
mainfrom
codex/verify-record-parent-assignment
Oct 19, 2026
Merged

ShadowNineX merged 2 commits into
mainfrom
codex/verify-record-parent-assignment

Conversation

@ShadowNineX

@ShadowNineX ShadowNineX commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

Cheat Engine can silently ignore a memory-record parent assignment. AddressListMutations.SetParent previously reported completion from the Lua call status alone, so a request to detach a child to the root could claim success while leaving it in its group.

Resolve the child again after a parent setter returns and verify its requested parent ID before reporting completion. A missing or malformed postcondition remains indeterminate with a started effect. Never invoke the unsupported nil-parent setter: an already-root record succeeds without mutation, while detaching a nested record reports GlobalUnavailable / NotAttempted. Existing public enum values preserve compatibility with Client package builds.

Regression coverage includes supported parent changes, root no-ops and refusals, silently ignored and wrong assignments, failed parent/ID getters before and after mutation, disappearing records/lists, stack preservation, and rejected reentrant runtime resets. Admission already excludes supported state transitions; the patch retains identity checks before mutation and verified completion without repeating intermediate checks. Validation: 26 focused mutation tests and all 746 Engine NativeLua tests passed in Release with no skips; formatting and whitespace checks passed. The local coverage report hits 62 of 64 changed executable lines (96.88%); CI remains the authoritative quality gate. Independent Astra review found no remaining correctness or assertion issues.

These are standalone Lua tests with host doubles. The MCP integration will run a separate owned-target CE qualification session after consuming the merged source revision.

Refuse unsupported root detach before calling the nil setter, verify supported assignments through fresh lookup and parent ID readback, and preserve started failures without retrying. Keep existing outcome enums for Client compatibility. Validation: 20 focused mutation tests, 740 Engine NativeLua tests, formatting, whitespace, and independent Astra review.
@ShadowNineX
ShadowNineX requested a review from AriusII as a code owner October 19, 2026 11:41
@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Repository: CheatEngineNet/CheatEngine.SDK/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 18aaec04-b70a-45d6-ba8f-239cf8b1618c
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@sonarqubecloud

Copy link
Copy Markdown

@ShadowNineX
ShadowNineX merged commit 09dad6c into main Oct 19, 2026
20 checks passed
@ShadowNineX
ShadowNineX deleted the codex/verify-record-parent-assignment branch October 19, 2026 12:18
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