refactor(runtime): isolate SPX interpreted run sessions - #1754
Merged
Conversation
joeykchen
force-pushed
the
refactor/spx-run-session-roots
branch
from
August 21, 2026 04:00
b4b3d6e to
16124de
Compare
joeykchen
marked this pull request as ready for review
August 21, 2026 04:04
Contributor
There was a problem hiding this comment.
Reviewed the complete fixed diff for the session-root isolation, Engine filesystem-root handling, native interpreter setup, scaffold generation, and release metadata contracts. I did not find a concrete correctness, compatibility, security, or reliability regression introduced by this PR.
Verification completed:
go test ./...go test -tags=packmode ./...go test -race ./cmd/ispxnative ./cmd/spx/internal/command ./internal/engine ./internal/interpruntime ./internal/scaffold ./pkg/ispxgo vet ./cmd/ispxnative ./cmd/spx/internal/command ./internal/engine ./internal/interpruntime ./internal/scaffold ./pkg/ispx- Runtime lock, Godot ancestry, release bump, and runtime build-contract checks
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.
Summary
Extracts the driver-independent interpreted runtime foundation from #1753.
spx runexplicit project, asset, and disposable session roots without changing the parent process working directory.ispxnativepin the project filesystem for deferred resource loads while retaining bounded legacy asset compatibility.This PR contains no Project Driver declaration,
driverprotocolimport, XGo dispatch code, runtime bundle/payload code, or driver terminology.Behavior covered
spx run --path <project>keeps the caller working directory unchanged.<project>/.tempand receives explicitSPX_PROJECT_DIR,SPX_ASSET_DIR, andSPX_SESSION_DIR.--pathvalues are replaced by the isolated session root.Verification
A real
tutorial/05-Animationsmoke test also verifiedspx runandspx runnativesession startup and clean child-process termination.Relationship to #1753
This PR is independent of goplus/mod#165 and goplus/xgo#2849. Keep #1753 unchanged while this PR is reviewed. After merge, #1753 can rebase onto the updated
devbranch and drop this shared layer from its diff.Release metadata
This source change declares SPX
v3.2.4with Engine Runtime2.4.4; runtime ABI remains2. The immutable2.4.4lock snapshot is included. Sinceruntime-v2.4.4is not published, CI resolves it as missing and validates the runtime from source. No release workflow was dispatched and nothing was published.