Sol judgment, Luna execution.
Solute is a Codex plugin that gives every Sol user turn a compact delegation policy. Sol keeps problem framing, design, integration, and final judgment. Luna xhigh handles bounded work that Sol can brief and verify cheaply.
It sends no policy tokens to Terra or Luna. Codex still starts the small native gate because UserPromptSubmit does not support model matchers. Say no solute to disable it for one turn. Avoid $solute and /solute in an opt-out because the composer can treat them as explicit skill invocations.
The plugin is the installable package. Its bundled skill provides the optional $solute invocation supported by Codex. Automatic Sol activation comes from the plugin hook, not implicit skill selection.
Solute supports Codex Desktop and CLI on Windows, plus Codex CLI on Linux and macOS. Its per-turn gate is a small Rust executable with no interpreter or package startup. The full source is in native-hook; GitHub Actions builds the release artifacts. The installer downloads the correct artifact and verifies its SHA-256 hash. Users do not need Rust or a compiler. Python 3 and PowerShell or POSIX sh are used only during installation.
Give Codex this repository and say:
Install <path-to-this-repository>
Codex should follow AGENTS.md and choose the correct launcher:
Windows: powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/solute.ps1 install
Linux/macOS: sh scripts/solute.sh install
Codex cannot trust a third-party hook on your behalf. Installation is incomplete until you do this:
- Start a new Codex CLI session.
- Enter
/hooks. - Select the Solute
UserPromptSubmithook. Confirm that it points tobin/solute-hookinside the Solute plugin. - Choose Trust.
- Exit that session and run the matching launcher with
verify:
Windows: powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/solute.ps1 verify
Linux/macOS: sh scripts/solute.sh verify
Only the Solute verified result confirms automatic Sol activation. Updating Solute changes the hook hash, so Codex will require this review again.
Windows: powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/solute.ps1 uninstall
Linux/macOS: sh scripts/solute.sh uninstall
The equivalent manual commands are:
codex plugin remove solute@solute
codex plugin marketplace remove solute
Solute does not alter global AGENTS.md or install loose skill files. See UNINSTALL.md for recovery and residue checks.
Windows: powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/solute.ps1 doctor
Linux/macOS: sh scripts/solute.sh doctor
Run cargo test --manifest-path native-hook/Cargo.toml, build the release runtime, set SOLUTE_RUNTIME_BINARY to that binary, then run the Python suite. The setup agent should also locate and run Codex's validate_plugin.py and quick_validate.py against plugins/solute and plugins/solute/skills/solute.
The optional delegation guide records the tested mapping, limits, and brief format. It is not loaded unless Sol needs it.