How nvlabs/sol-pi works
SoL-Pi is an opt-in extension for Pi that reduces repeated tool turns, replayed observations, long diagnostic output, and context overhead. Pi starts the extension, which loads configuration and registers enabled mechanisms. Those mechanisms act at different points in the agent loop: file mutation, context preparation and recall, tool-result handling, and plan-aware compaction. The README documents all four mechanisms; the sampled source confirms their registration and several internal flows, but some event-handler wiring is only partially excerpted.
Main entry points: evidence-preserving-reducer/index.ts Evidence-Preserving Reducer · extension.ts Online Context Compact · sol-pi/index.ts Extension entry · observation-pack/index.ts ObservationPack
Components 23
Extension Setup
- Configuration loader
src/sol-pi/config.ts - Extension entry
src/sol-pi/index.ts - Savings display
src/sol-pi/tui.ts
Tool Efficiency
- Action Fusion
src/sol-pi/extensions/action-fusion/index.ts - Mutation then run
src/sol-pi/extensions/action-fusion/then-run.ts - ObservationPack
src/sol-pi/extensions/observation-pack/index.ts - Observation storage and recall
src/sol-pi/extensions/observation-pack/observation.ts - Observation ledger
src/sol-pi/extensions/observation-pack/ledger.ts
Evidence Handling
- Evidence-Preserving Reducer
src/sol-pi/extensions/evidence-preserving-reducer/index.ts - Log candidate filter
src/sol-pi/extensions/evidence-preserving-reducer/candidate.ts - Log archive
src/sol-pi/extensions/evidence-preserving-reducer/archive.ts - Receipt validation
src/sol-pi/extensions/evidence-preserving-reducer/receipt.ts - Reducer journal
src/sol-pi/extensions/evidence-preserving-reducer/journal.ts
Context Management
- Online Context Compact
src/sol-pi/extensions/online-context-compact/extension.ts - Plan transition analysis
src/sol-pi/extensions/online-context-compact/plan.ts - Compaction economics
src/sol-pi/extensions/online-context-compact/economics.ts - Compaction state
src/sol-pi/extensions/online-context-compact/state.ts
Other components
- Pi user/agent
- Pi runtime
- Pi bash tool
- Session archives
src/sol-pi/runtime-paths.ts - Configured reducer model
- Pi session log
Connections 29
- Pi user/agent → Pi runtime: uses
- Pi runtime → Extension entry: loads extension
- Extension entry → Configuration loader: loads settings
- Extension entry → Action Fusion: registers enabled
- Extension entry → ObservationPack: registers enabled
- Extension entry → Evidence-Preserving Reducer: registers enabled
- Extension entry → Online Context Compact: registers enabled
- Action Fusion → Mutation then run: executes mutation and command
- Mutation then run → Pi bash tool: runs follow-up
- ObservationPack → Observation storage and recall: stores and recalls
- ObservationPack → Observation ledger: records events
- Observation storage and recall → Session archives: writes and reads objects
- Observation ledger → Session archives: writes ledger
- Evidence-Preserving Reducer → Log candidate filter: filters tool result
- Evidence-Preserving Reducer → Log archive: archives eligible log
- Evidence-Preserving Reducer → Configured reducer model: requests reduction
- Evidence-Preserving Reducer → Receipt validation: validates response
- Evidence-Preserving Reducer → Reducer journal: records decisions
- Log archive → Session archives: stores source
- Reducer journal → Session archives: writes journal
- Online Context Compact → Plan transition analysis: analyzes plan
- Online Context Compact → Compaction economics: decides compaction
- Online Context Compact → Compaction state: restores and records
- Online Context Compact → Pi session log: reads and updates session
- Online Context Compact → Pi runtime: requests native compaction
- Action Fusion → Savings display: renders savings
- ObservationPack → Savings display: renders recall
- Evidence-Preserving Reducer → Savings display: reports savings
- Online Context Compact → Savings display: reports savings