Commit ac27365
committed
feat(run, loader): Implement self-healing runner & subprocess bubble support
This is a revolutionary release that transforms omnipkg into a sentient
development environment, capable of solving dependency hell in real-time
and enabling previously impossible workflows.
**1. The Auto-Healing `run` Command (`commands/run.py`):**
The new `omnipkg run` command creates a self-improving system.
- **Diagnosis:** It intercepts script failures, from simple `ModuleNotFoundError`
to deep, complex ABI breaks like the NumPy 2.0 incompatibility.
- **Healing:** It intelligently formulates and executes a healing plan,
installing missing packages or bubbling conflicting versions.
- **Retry:** It automatically re-runs the script in the now-perfected
environment until it succeeds. The first run teaches omnipkg; all
subsequent runs are pure speed.
**2. The Subprocess Breakthrough (`loader.py`):**
This is the holy grail of environment isolation.
- **The Problem:** A script running in a bubble could not launch a
subprocess that also needed to use omnipkg's magic.
- **The Genius Fix:** The `omnipkgLoader` is now self-aware. Upon
activation, it surgically **symlinks its own critical dependencies**
(like `packaging`, `filelock`, etc.) into the active bubble.
- **The Outcome:** Bubbles are now fully functional in subprocesses,
unlocking true concurrent A/B testing, nested version swaps, and
complex, cross-interpreter workflows.
This commit fulfills the ultimate vision: a tool that lets you write any
code, with any dependency, and it **JUST. WORKS.**1 parent 07f8fad commit ac27365
4 files changed
Lines changed: 658 additions & 193 deletions
0 commit comments