fix(omnio): align Sprites paths, media, and CDP cleanup - #53
Merged
ppazosp merged 4 commits intoAug 3, 2026
Conversation
ppazosp
marked this pull request as ready for review
August 1, 2026 10:56
ppazosp
force-pushed
the
omnio/sprite-path-resolution
branch
from
August 1, 2026 12:34
2460728 to
8bed19d
Compare
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.
This stack layer fixes the Hermes-side runtime mismatches found in the reported Sprite traces: sandbox home paths, binary media reads, first-tool vision initialization, and remote-CDP timeout cleanup.
Sprite-owned filesystem behavior
SpritesFileOperationsexpandspath,src, anddstinside the Sprite before calling Toolbox.vision_analyzeuses the pair-authenticated raw Toolbox file stream as the authoritative Sprite path, avoiding binary corruption from terminal stdout/base64 framing./tmp,/home,~/brand, or~/uploads.Remote CDP cleanup
A remote Toolbox CDP session does not own a local
agent-browserdaemon PID. Timed-out cleanup now removes only the ephemeral client socket directory in that case and does not emit the misleadingdaemon PID unavailablewarning. Local daemon sessions retain verified PID termination.Backward compatibility
Backward compatible. This Hermes revision ships inside the same atomically provisioned runtime generation as its proxy, sandbox assets, and Toolbox, and that refleeted generation preserves the currently deployed frontend/control-plane contract. Refleet all Sprite pairs before merging the frontend/control-plane change; internal mixed runtime generations are intentionally unsupported. There are no database, persisted-data, or public API migrations.
Dependencies and go-live
This PR remains stacked on
omnio/background-job-delivery. Its exact revision is pinned by Omnia PR NousResearch#3948. Deploy it only through a full Sprite refleet so Hermes, proxy, sandbox assets, and Toolbox move as one runtime generation before the frontend/control-plane change is merged.Verification
Coverage matrix for first-tool vision reads:
vision_analyzereads/tmp/screenshotsFocused Ruff checks passed for all newly changed Python files.
git diff --checkpassed.Full local Hermes sweep: 48,562 passed. The 31 failures and 10 collection failures are unrelated local platform/optional-dependency baseline failures (including absent optional ACP modules); none are in changed files.
Real Sprite path probe from the prior head:
cd ~, a user-space executable under~/.local/bin, terminal output under~, andread_fileall resolved the same home directory; probe files were cleaned up.GitHub CI is running on
eed96b26bff8c58e8f47d638c3ae34a59e6f81a4. The previous head was green across all eight Python shards and Desktop E2E.The optional real-Docker resolver test could not start its
python:3.11-slimfixture because local Docker Desktop hung; it never reached resolver code. The unit-level sandbox command path remains covered.Prepared with Codex.