Repository navigation
feat(omnigent): implement portable host runtime packaging (Task A) - #49
Closed
nicklongmore86 wants to merge 4 commits into
Closed
nicklongmore86 wants to merge 4 commits into
nicklongmore86 wants to merge 4 commits into
Conversation
* Build partitioned portable drive with native Claude and Codex Add verified release provisioning, native-volume launchers, shared subscription credentials, session supervision, partition safety checks and host-write audits. Keep Node scoped to the dashboard and document prep and platform limits. Co-authored-by: omnigent <noreply@omnigent.ai> * Harden portable credentials, audit scratch and launcher cleanup Normalize Claude token CR/LF on save and load, traverse audit root symlinks, isolate and clean audit scratch, add null-identity refusal regressions, poll child cleanup, and support distro npm layouts. Harden native argument quoting and error retrieval. Co-authored-by: omnigent <noreply@omnigent.ai> * Assert normalized token in Windows regression fixture Co-authored-by: omnigent <noreply@omnigent.ai> * Set native GPT types and no-default-letter flags for foreign volumes Use explicit type GUIDs and set bit 63 only on APFS/ext4 partitions. Add exact dry-run command coverage and document format-prompt warnings, post-diskutil verification and hardware guidance. Co-authored-by: omnigent <noreply@omnigent.ai> --------- Co-authored-by: omnigent <noreply@omnigent.ai>
Add WSL2 mode with drive-resident ext4 state and native CLI support
- Add pinned Astral standalone Python 3.12 archives for 4 Unix targets (linux-x64, linux-arm64, darwin-x64, darwin-arm64) to provision/assets.json. - Extend provision/download.py to extract portable Python, verify terminfo, and stage binary-only dependencies into tools/omnigent-runtime. - Implement relative wrapper tools/omnigent-host and launch/lib/omnigent-host.sh with interactive server URL prompting and per-machine host identity tracking. - Add pinned tools/omnigent-runtime-requirements.txt. - Add tests in tests/drive_provision_test.py and tests/drive-launcher.test.mjs. - Update docs/DRIVE-SPEC.md and START-HERE.md.
Author
|
Closing: intended for fork nicklongmore86/ClaudeCode-Portable |
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
Implements Task A: Runtime Packaging for the Omnigent Host Add-on on
ClaudeCode-Portable.Key Changes
Hash-Locked Standalone Python 3.12 Runtime:
python-build-standalone(release20261003) inprovision/assets.jsonfor 4 Unix targets:darwin-x64(a8fd7a91852f19b6d959793ef41fad048631ccb2a334a9ecdf573255298f7978)darwin-arm64(316a463172740e71d8dca1f2730784e325f3f720941137b5d674d5801a632213)linux-x64(f937814031eab4698ca6d07ec606ede1825768f3f3e99af76d9db3900bee03c5)linux-arm64(95c01982c9fcb9d95b0acfdb5eb8a6e0099dd11edf062314a474228d93f2b765)provision/download.pyto extract standalone Python, normalizebin/python3, verifyshare/terminfodefinitions, and stage binary-only dependencies intotools/omnigent-runtime.Binary-Only Dependency Specification:
tools/omnigent-runtime-requirements.txtspecifying pinned host agent dependencies (omnigent==0.16.0,fastapi,websockets,psutil,pexpect,pyte, etc.) using--only-binary :all:to guarantee zero target compilation.Relative Wrappers with Interactive Prompting & Machine Identity:
launch/lib/omnigent-host.shandtools/omnigent-host.http,https,ws,wss); saves tocredentials/omnigent-server-url(mode 600).credentials/omnigent-hosts.jsonon the drive, setsOMNIGENT_HOST_IDandOMNIGENT_HOST_NAME, and prevents cross-machine session resumption.PYTHONHOME,PYTHONNOUSERSITE=1,PYTHONPATH,TERMINFO,TERMINFO_DIRS,HOME, andTMPDIRrelative to mounted drive paths. Zero files written to the host filesystem.Testing & Verification:
tests/drive_provision_test.py(10 unit tests covering Python assets, pip CLI lookup, safe extraction, terminfo preservation, and checksum coverage).tests/drive-launcher.test.mjs(covering server URL prompting/validation, per-machine identity isolation, moved-path runtime environment, and relative CLI invocation).START-HERE.mdanddocs/DRIVE-SPEC.md.Gates
npm test: 97 collected / 96 passed / 1 skipped (pwsh)python3 -m unittest discover -s tests -p 'drive_provision_test.py': 10 passedlaunch/linux.sh,launch/macos.command,launch/lib/*.sh,provision/*.sh, andtools/omnigent-hostnpm run check: passed (syntax and runtime reference checks)