Skip to content

Support SDK source references in parent workspaces - #67

Merged
ShadowNineX merged 1 commit into
mainfrom
codex/source-sdk-project-reference
Oct 19, 2026
Merged

ShadowNineX merged 1 commit into
mainfrom
codex/source-sdk-project-reference

Conversation

@ShadowNineX

Copy link
Copy Markdown
Contributor

Outcome and linked issue

Allow a parent workspace to build Client and SDK from pinned Git checkouts. MCP can now consume both repositories as submodules without retaining a second SDK copy from NuGet.

Scope and architectural ownership

An optional CheatEngineSdkSourceRoot switches the three SDK-facing Client projects to the SDK Engine and Hosting projects. A parent CheatEngine.Source.props supplies the same graph to recursive restore and compilation and can redirect source-mode lock files. Standalone Client builds retain the existing package graph.

Source builds embed the actual SDK assembly version and full Git commit, read through PE metadata without loading the assembly. Runtime capability checks require that exact source identity. The plugin profile accepts canonical source project paths and checks the resolved Engine assembly's supported major. Source-mode NuGet packing is refused to prevent publishing packages with unreviewed source dependencies.

Dependencies and containing artifacts

  • Default SDK package: unchanged at CheatEngine.SDK 2.0.0 with the existing supported 2.x range and lock files.
  • Source integration tested from the MCP workspace against SDK main 06c529f84e47295e3ca7a4e81ca808b9c4686b3a.
  • No SDK source changes or new package dependencies.

Validation actually performed

Check Command or artifact Qualification level Actual result
Portable Client suite Release tests with the parent source overlay disabled C1 2,853 passed; no failures or skips
Packed consumers Release Category=PackageConsumption C1 56 passed; no failures or skips
Source integration MCP Release solution build on .NET SDK 10.0.402 C1 Passed with zero warnings/errors; dependency and assembly-identity tests passed
Source profile regressions Canonical references, missing/outside-root references, actual Engine PE major 1/2/3/absent C1 All nine passed
Source identity regressions Exact source identity, missing commit and mismatched builds C1 All five cases passed
Source package guard Explicit source-mode pack target Static build contract Expected CHEATENGINECLIENT9051 refusal
Standalone Lua MCP source-built NativeLua suite C2 658 passed
CI / Gate This pull request CI Pending
Live host / AOT This source integration C3 / publication Not yet qualified; no live-host claim

API and compatibility

  • Public API and experimental APIs: none added or removed.
  • Existing package consumers retain their dependency, runtime-identity and plugin-profile behavior.
  • Source consumers opt in with CheatEngineSdkSourceRoot; they must import SDK/Client consumer build assets explicitly because project references do not import package build assets.
  • No changes to runtime ownership, cleanup or cancellation.

Evidence

Local test reports are retained in the MCP workspace under artifacts/test-results/ai-analysis-20261019/client-source-support-package-mode-4 and client-source-support-package-consumption. The source integration is also checked through built MCP dependency manifests and embedded assembly metadata. Independent Astra review found no actionable issues in the source integration; CI remains pending.

Documentation and review checklist

  • Scope is focused; repository style and contribution rules are preserved.
  • Relevant regression evidence is recorded; pending gates remain explicit.
  • No raw state or owner escapes the Client boundary.
  • Capability and artifact claims state their qualification level.
  • CHANGELOG.md includes the consumer-visible change under [Unreleased].
  • The default SDK package pin and package lock files are unchanged.
  • No architecture ratchet exception was added.
  • No commit listed in .git-blame-ignore-revs is included.
  • Documentation and release impact are recorded.
  • No automatic merge, release, protection change or unsupported capability activation is requested.

@ShadowNineX
ShadowNineX requested a review from AriusII as a code owner October 19, 2026 10:28
@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.Client/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 6dd89a57-1314-474c-92a5-e85d04c2d955
  • 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.

@ShadowNineX

Copy link
Copy Markdown
Contributor Author
GoofballGIF

@sonarqubecloud

Copy link
Copy Markdown

@ShadowNineX
ShadowNineX merged commit feaf14a into main Oct 19, 2026
14 checks passed
@ShadowNineX
ShadowNineX deleted the codex/source-sdk-project-reference branch October 19, 2026 10:39
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