Skip to content

Prefer compiled RIMAPI Assemblies for the run metadata pin - #71

Closed
jkbennitt wants to merge 1 commit into
masterfrom
cursor/rimapi-dll-compiled-pin-3dcb
Closed

Prefer compiled RIMAPI Assemblies for the run metadata pin#71
jkbennitt wants to merge 1 commit into
masterfrom
cursor/rimapi-dll-compiled-pin-3dcb

Conversation

@jkbennitt

@jkbennitt jkbennitt commented Sep 7, 2026

Copy link
Copy Markdown
Member

Problem

Flash/Sep 6 keepers recorded a Steam Workshop DLL sha (73E659E8…) with an empty rimapi_fork_commit. AppSprout’s source of truth is the compiled AppSprout-dev/RIMAPI checkout (rle-testing), not Workshop.

_rimapi_dll_path() only honored $RIMAPI_DLL_PATH or a hardcoded Workshop path. _rimapi_fork_commit() walked Path(__file__).parents[3], which misses the fork when RLE is imported from site-packages / .venv.

Change

Probe order for the DLL hash (first existing file):

  1. $RIMAPI_DLL_PATH (if set but missing → None, no silent Workshop fallback)
  2. $RIMAPI_FORK_PATH/{1.6,1.5}/Assemblies/RIMAPI.dll
  3. {RLE git toplevel}/../RIMAPI/{1.6,1.5}/Assemblies/RIMAPI.dll
  4. Steam Workshop path — last-resort OSS fallback only, not SoT

Fork commit honors $RIMAPI_FORK_PATH, then a sibling ../RIMAPI resolved via git rev-parse --show-toplevel (cwd, then this module’s directory). Docs (README, CONTRIBUTING, CLAUDE.md, .env.example) tell AppSprout runs to set both env vars so summaries record path, sha256, and fork commit.

Out of scope

No rle-testing sync, no DLL rebuild, no billed model calls, no dependency default changes.

Test plan

  • Unit tests for probe order, missing explicit pin, 1.5 fallback, sibling-over-Workshop, Workshop last resort, fork-commit env + git toplevel
  • pytest tests/unit/test_metadata.py — 18 passed
  • ruff check / mypy src/rle/tracking/metadata.py clean
  • CI on this branch — 5 checks green
Open in Web Open in Cursor 

Probe RIMAPI_DLL_PATH, then the fork checkout Assemblies (1.6/1.5),
then ../RIMAPI next to the RLE git toplevel, and only then Workshop.
Resolve rimapi_fork_commit via RIMAPI_FORK_PATH or git show-toplevel
so site-packages installs still find a sibling checkout.

Co-authored-by: Jason <jkbennitt@users.noreply.github.com>
@jkbennitt
jkbennitt marked this pull request as ready for review September 7, 2026 22:10
@jkbennitt

Copy link
Copy Markdown
Member Author

Duplicate of #70 (compiled RIMAPI pin restore). Prefer #70.

@jkbennitt jkbennitt closed this Sep 7, 2026
@jkbennitt jkbennitt reopened this Sep 7, 2026
@jkbennitt jkbennitt closed this Sep 7, 2026
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.

2 participants