mrkeyoor.com_
Fri 02 Oct 14:58 UTC
AI Toolsevaluationupdated 02 Oct 2026

SoL-Pi review

SoL-Pi is an extension for the Pi coding agent that tries to cut repeated tool calls, replayed output, long diagnostic logs, and stale task context. It adds four opt-in mechanisms without patching Pi itself.

Verdict

Our SoL-Pi run passed 195 of 195 tests in 25 seconds after a 179-package install, making it unusually easy to inspect for a new agent extension. Use it as a measured experiment on Pi 0.85.1, starting with Action Fusion or ObservationPack before enabling model-backed reduction or automatic compaction. Do not treat its research origin as proof of savings on your workload.

We ran it

Lab card: what happened when we ran SoL-PiScreenshot of SoL-Pi (nvlabs.github.io/SoL-Pi)
Install✓ · 27s179 packages · 382 MB
Buildn/ano build script
Tests✓ · 25s195 passed · 0 failed of 195 (vitest)
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo68 files~7,929 lines of source · 2.2 MB · 1 CI workflows · tests dir

Answers from our run

Does SoL-Pi build from source?

Dependencies installed in 27 seconds (179 packages), and the project has no separate build step. We cloned commit e1a586a into a clean Debian container with 3 CPUs and no project-specific setup.

Do SoL-Pi's tests pass?

Yes: 195 of 195 passed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Does SoL-Pi have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use SoL-Pi?

Users of coding agents other than Pi: SoL-Pi is an extension for @earendil-works/pi-coding-agent, not a general proxy or MCP server.

What are the alternatives to SoL-Pi?

Pi, Context Mode, OpenCode. Our SoL-Pi run passed 195 of 195 tests in 25 seconds after a 179-package install, making it unusually easy to inspect for a new agent extension.

Setup4/527-second install and 195 passing tests; Pi setup is separate
Docs5/5Exact config order, storage, security, and Pi requirements
Community4/53,251 stars and 68 active issues and PRs within one month
Maturity3/5Green suite, but no release tag and a narrow Pi version target

Who it’s for

Pi 0.85.1 users who want to test context and tool-efficiency changes one mechanism at a time.
Agent researchers who need archived source material behind shortened observations.
Developers willing to inspect session artifacts and compare behavior before enabling automatic compaction.
Teams that want a small TypeScript extension with a passing 195-test suite.

Who it’s NOT for

Users of coding agents other than Pi: SoL-Pi is an extension for @earendil-works/pi-coding-agent, not a general proxy or MCP server.
Anyone expecting savings immediately after installation: all four mechanisms are disabled until sol-pi.json enables them.
Teams that automatically delete session traces: ObservationPack and the reducer keep archives after a session, including temporary-mode archives.
Operators who may expose secrets in diagnostic logs: the reducer can send eligible log content to a configured model, and open issue 38 documents password and private-key patterns missed by its precautionary detector.
Teams tracking Pi's newest releases without compatibility testing: development is pinned to Pi 0.85.1, while issue 83 reports a continuation error on Pi 0.87.1.

Setup reality

Our sandbox installed 179 npm packages in 27 seconds and used 382 MB on disk. The repository has no build script, so we skipped that step. Vitest passed all 195 tests in 25 seconds, and npm audit reported 0 known vulnerabilities.

Installation needs Node 22.19 or newer, npm, and @earendil-works/pi-coding-agent 0.85.1. You install the extension through Pi, then create sol-pi.json; no feature is enabled by default and the two configuration locations are not merged.

Observation and reducer archives remain on disk after sessions. Remote reduction uses Pi-managed model authentication and may send diagnostic-log content away from the machine. The pinned Pi version matters because the extension depends on public Pi lifecycle APIs.

Four opt-in mechanisms target four sources of agent waste

SoL-Pi contains 4 mechanisms, and every one starts disabled. Action Fusion lets an edit or write run its validation command in the same tool call. ObservationPack replaces repeated large outputs with handles while retaining exact recall. The Evidence-Preserving Reducer turns eligible diagnostic logs into receipts checked against archived text. Online Context Compact offers completed plan steps to Pi's compaction system and can continue the task in another turn.

This is an extension, not a replacement for the agent. Pi still owns provider authentication, model choice, shell behavior, and its session lifecycle. SoL-Pi imports public extension APIs and does not vendor or patch Pi. That narrow boundary is the project's best design decision. You can enable one mechanism, observe its artifacts, and remove the extension without migrating an agent history into a new platform.

Installation changes nothing until sol-pi.json enables a feature

The documented environment is Node 22.19 or newer, npm, and @earendil-works/pi-coding-agent 0.85.1. After installing that Pi version, pi install git:github.com/NVlabs/SoL-Pi adds the extension. A project-local install is also available. The configuration file lives either in a trusted project's .pi directory or in the user's Pi agent directory. Project configuration wins; the 2 files are not merged.

The conservative example enables Action Fusion and ObservationPack while leaving model-backed reduction and online compaction off. That is the sensible starting point. The first 2 mechanisms make no extra model calls, according to the README. Reducer settings and compaction economics need a deliberate review because they change where content goes and when the agent starts another turn. There are no dedicated environment variables to hide that choice from the file.

What happened when we ran it

Our sandbox installed 179 npm packages in 27 seconds, and the resulting environment occupied 382 MB. The repository has no build script or target, so we skipped the build rather than inventing one. Vitest finished in 25 seconds with 195 passed and 0 failed. Npm audit reported 0 known vulnerabilities across all severity levels.

We ran commit e1a586a in an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Node 22, and no secrets. The checkout contained 68 files, about 7,929 lines of source, and used 2.2 MB before installation. It had 1 CI workflow, a tests directory, and no Dockerfile. These measurements show that the source checks are approachable. They do not measure token savings, task quality, or model cost.

Pi 0.85.1 is the compatibility target

The development dependency and installation instructions both name Pi 0.85.1. That precision helps reproducibility, yet it also limits how casually you can upgrade the host. Open issue 83 reports that Online Context Compact emitted an error after successful compaction on Pi 0.87.1 because the newer host deferred a continuation turn. A related pull request was still open when we checked. Pin both pieces until your own lifecycle tests pass.

Other extensions can change reachability too. Issue 22 reports that Action Fusion became inert under a flat-tool harness because the model no longer called Pi's native edit tool with the added then_run argument. The other 3 mechanisms still worked in that reporter's setup. This is a useful boundary: a loaded extension is not proof that each interception point is reachable in your particular Pi stack.

Local archives outlive the Pi session

ObservationPack and the reducer write session-specific archives under a sol-pi directory. When Pi runs without a persistent session, SoL-Pi creates a private operating-system temporary directory instead. The README says those temporary archives remain after the worker or session exits so referenced evidence can still be read. Cleanup then depends on the host or the caller.

Remote reduction deserves a separate security decision. Eligible diagnostic logs may be sent through Pi-managed authentication to the configured reducer model. The project warns against enabling it for logs that must stay local. Open issue 38 gives the warning a concrete edge: its reproduction says the precautionary secret detector missed password assignments and PEM private-key headers. Keep reduction local or sanitize upstream until that path passes your own secret fixtures.

An October 2 push shows speed, while the missing release tag shows youth

GitHub showed 3,251 stars and 68 combined issues and pull requests on October 2, 2026. The API split that queue into 25 issues and 43 pull requests. The repository was created September 2 and pushed again on October 2. No GitHub release was available. That is a fast first month with substantial review activity, not a long maintenance record.

SoL-Pi is worth trying if you already use the pinned Pi release and can compare representative tasks with each switch on and off. The clean 195-test run lowers the cost of inspecting the implementation. Production adoption still needs workload-level evidence, archive cleanup rules, and a compatibility gate for Pi upgrades. If you cannot supply those checks, stay with plain Pi.

Alternatives

ProjectWhat it isPick it when
Pi gh↗The upstream coding-agent harness that SoL-Pi extends.pick this alone when you want the base agent without experimental context and tool-efficiency behavior.
Context Mode gh↗An MCP-based context manager that routes large tool output through a sandbox and persistent memory.pick this instead when you need context controls across several agent clients rather than a Pi-only extension.
OpenCode gh↗A complete open-source coding agent with its own terminal workflow.pick this instead when you are choosing the whole coding agent rather than tuning Pi's harness.

What people are saying

  1. [velocity-scout] NVlabs/SoL-Pi

Sources

  1. SoL-Pi README
  2. Pi 0.87 continuation issue 83
  3. Flat-tool reachability issue 22
  4. Secret detector issue 38
  5. SoL-Pi paper

More ai tools reviews

xialingguo-ip · reelbench-skills · flybook · crypto-rag · anything2explainer · cek-probe-model · the whole board →