Commit 5ae683a
committed
Merge branch 'development': per-process Python shims, quantum healing fixes & CI stability
Major architectural shift from global interpreter mutation (symlinks + single config) to per-process isolation via shims — no global state pollution.
Core Architecture:
- CLI now uses version-aware dispatcher (omnipkg.dispatcher:main)
- Per-interpreter configs (.omnipkg_config.json stored in each python's bin/)
- Version aliases (8pkg311, 8pkg310, etc.) inject --python flag for one-shot commands
- 8pkg swap python spawns isolated subshell with shim PATH prefix + OMNIPKG_PYTHON set
- Shims intercept python calls, read OMNIPKG_PYTHON, route to correct interpreter — affects only that shell/process
- Cleanup logic ignores leaked OMNIPKG_PYTHON when shell/conda env changes
Quantum Healing (activation fixed):
- Now properly triggers during install validation on incompatible Python (e.g. TF 2.20 → auto-swap to 3.13 → install → swap back)
- Uses _OMNIPKG_QUANTUM_HEALING flag to distinguish automated vs user-initiated swaps
- Shell context fully preserved — returns to original Python after healing
Key Improvements:
- Non-interactive mode auto-detected (TTY/CI/Docker/first-setup) → no subshell in pipelines
- PersistentWorker scrubs LD_LIBRARY_PATH/PYTHONPATH → fixes torch import contamination
- Daemon idle pools now per-python → prevents version mismatch races
- ABI fixes: dependency constraints, numpy dtype size errors
- Full Python 3.15.0a5 support + safety skipping on 3.15+
- Test upgrades: DaemonProxy everywhere, warmup phase, tensor math in circular switching
- i18n: ~2k Arabic/Amharic strings via AI consensus chain
- CI hardening: Windows daemon polling, deadlock fixes, no-paid-scanners workflow
Shell Isolation Example:
$ python –version → 3.11
$ 8pkg swap python 3.10 → new shell
$ python –version → 3.10
$ exit
$ python –version → 3.11
$ 8pkg311 info python → one-shot in 3.11
BREAKING CHANGE: Global interpreter state (symlinks, single config) removed. Switching now occurs per-shell/process via shims and OMNIPKG_PYTHON env var. Use 8pkg swap python or version aliases instead of relying on global mutation.
Closes: global state pollution, quantum healing activation bugs, ABI/worker contamination, CI deadlocks, interactive CI hangs
Net diff: +9042 / -5477 lines across 18 files. All CI green.1 parent 83c73ec commit 5ae683a
1 file changed
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2900 | 2900 | | |
2901 | 2901 | | |
2902 | 2902 | | |
| 2903 | + | |
| 2904 | + | |
| 2905 | + | |
2903 | 2906 | | |
2904 | 2907 | | |
2905 | 2908 | | |
| |||
0 commit comments