Fix CRC-less RetroArch live activation - #23
Conversation
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e547397e53
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| fun sourceVerificationCandidate(resolution: SessionResolution): RomIndexEntry? = when (resolution) { | ||
| is SessionResolution.Resolved -> resolution.entry | ||
| is SessionResolution.Unverified -> resolution.entry |
There was a problem hiding this comment.
Keep CRC-less basename matches non-authoritative
When RetroArch is running a different ROM with the same normalized basename and system—such as an alternate hack or an unindexed copy outside the selected SAF tree—this promotes the indexed entry from Unverified to an activation candidate. activate() only hashes that indexed source against its own previously stored SHA-256; it never compares evidence from the content actually running in RetroArch, yet it subsequently marks the session verified and enables catalog, battle-memory, and save readers for a potentially different memory layout. Keep CRC-less matches non-authoritative unless the running content can be cryptographically or path-wise bound to the candidate source.
Useful? React with 👍 / 👎.
Summary
Verification
RomSessionResolverTest: 10/10SessionEpochGateTest: 8/8GuideActivationGateTest: 6/6🤖 Generated with Claude Code