Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pi-sem

Run your existing pi install with entity-native code tools: lookup and editing by symbol name (parseConfig, not "lines 40-58"), backed by sem for reading, search, and impact analysis, and weave-mcp for edits and live multi-agent coordination.

sem-pi is a small launcher. It checks that pi, sem, and weave-mcp are installed, keeps a local checkout of the tool definitions up to date, and starts pi with them loaded. Your pi config, models, and everything else about your setup is untouched.

Install

Download sem-pi, put it on your PATH, and make it executable:

curl -fsSL https://raw.githubusercontent.com/Ataraxy-Labs/pi-sem/main/sem-pi -o /usr/local/bin/sem-pi
chmod +x /usr/local/bin/sem-pi

Requirements

  • pi — install from pi's own site.
  • sem on PATH:
    curl -fsSL https://raw.githubusercontent.com/Ataraxy-Labs/sem/main/install.sh | sh
    or brew install sem-cli.
  • weave-mcp on PATH — download a build from the Ataraxy-Labs/weave releases page. Point sem-pi at a specific binary with PI_SEM_WEAVE_MCP_BIN if you don't want it on PATH.
  • A git repository at your working directory — both sem and weave-mcp resolve paths against a repo root.

Modes

Four ways to run, picked with a flag:

# tools mode (default) — curated multi-tool surface bridged into pi
sem-pi --tools

# native control — plain pi with no sem extension loaded
sem-pi --native

# pure code mode — a single sandboxed tool, no bash/write
sem-pi --pure

# mixed code mode — the code-mode tool plus your usual bash/write
sem-pi --mixed

Any other arguments are passed straight through to pi.

Use --native and one of the SEM modes with identical model, prompt, and sampling settings for paired benchmarks. Compare solved-task rate first, then wall time and tokens; a faster incomplete or invalid patch is not a speed win. --pure is useful for measuring the entity-native path in isolation. The default --tools mode is the practical configuration and retains pi's native editing and shell tools alongside SEM.

Under the hood, sem-pi is exactly the following pi invocations. Run these directly if you'd rather manage the checkout yourself:

# tools mode
pi -e <checkout>/pi

# native control
pi

# pure code mode
PI_SEM_MODE=code pi -e <checkout>/pi

# mixed code mode
PI_SEM_MODE=code PI_SEM_PURE=0 pi -e <checkout>/pi

How it stays current

sem-pi keeps a shallow clone of Ataraxy-Labs/sem at ~/.cache/sem-pi/sem, cloning it on first run and fast-forwarding it on every run after. Set SEM_PI_REF to pin a specific tag or branch instead of tracking main:

SEM_PI_REF=v0.11.0 sem-pi --tools

Benchmarking

Use sem-pi --native as the control arm and hold the model, reasoning level, task prompt, checkout, and timeout constant across arms. Correctness is the primary gate; compare wall time and tokens only among equally correct runs.

See BENCHMARKING.md for the current protocol, repeated SWE-bench Pro Max measurements, and the two-operation structural-transaction interface. The latest controlled task changed an official native failure into two consecutive SEM + Weave passes while also reducing wall time and tokens.

Where the tools live

The tool definitions live in sem/pi in the sem repo. As of this writing that code is on the feat/pi-extension branch and has not yet merged to main — until it does, sem-pi will clone successfully but the extension path won't exist yet. Point SEM_PI_REF at that branch to try it early:

SEM_PI_REF=feat/pi-extension sem-pi --tools

One honest note

Multi-agent merge coordination needs weave-mcp ≥ 0.5.3; on older builds, concurrent-edit detection is unavailable and edits fall back to plain overwrite.

License

MIT, see LICENSE.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages