pi-coedit0.1.3
Live human-vs-agent edit awareness for the pi coding agent: overwrite protection, human-edit notes, /whose attribution.
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
Readme
pi-coedit
Live human-vs-agent edit awareness for the pi coding agent. When you and pi work in the same repo at the same time, pi knows what you changed, can't silently overwrite it, and every agent edit is traceable.
Part of the coedit monorepo. Complements Git AI (post-commit notes) with the live, in-session layer.
Install
pi install npm:pi-coedit # once published
pi install ./packages/pi-coedit # from a checkout (npm run build first)
pi -e ./packages/pi-coedit # one-shot try
What it does
- The agent is told about your edits. When a file the agent has touched changes under you, the next model request gets a short note with your diff (capped, once per change): "The user edited these lines; keep their changes."
- Overwrite guard. An
edit/writeagainst a file with human changes since the agent last read it is blocked with a re-read-and-merge reason. In the TUI you choose: re-read and merge (default), allow anyway, or cancel. Policy:block/ask(default) /warn/off. - Footer.
✍️ you 3 files · 🤖 agent 7 · ⚠️ 1 unknown— shown only when something changed. - Attribution. Agent edits via
edit/writeand via bash (snapshot windows bracketed around every bash call) are recorded with session, turn, model and capped prompt excerpt. /whose [file]— per-line 🟦 human · 🟪 agent · 🟧 both · ⬜ unknown with agent session details./coedit status | reset | doctor— store, watcher, policy, Git AI coexistence check.coedit_whosetool — read-only, so the agent can ask what you changed.
Configuration
Settings live in the coedit store (<git-common-dir>/coedit/state.json), defaults in @coedit/core:
| Key | Default | Meaning |
|---|---|---|
overwriteGuard |
ask |
block / ask / warn / off |
gitaiAttachNotes |
true |
Attach Git AI–standard notes on commit — only honoured when the git-ai binary is absent |
promptExcerpts |
true |
Cap and record first 200 chars of the user prompt per turn |
maxHumanDiffChars |
2000 |
Cap for human diffs injected into model context |
How authorship is decided
See packages/core/README.md §detection — the short version: editor sensor (from the coedit-gutter VS Code extension) is authoritative outside agent windows; bash-window changes are the agent's; human typing during an agent bash window is unknown (grey), never guessed.
Demo
scripts/demo/run-coedit-demo.mjs builds a fixture repo and runs pi with a scripted offline provider (no model credentials needed): the agent edits a.js while a script edits a.js and b.js as the human, then tries a stale edit that the guard blocks. Run node scripts/demo/run-coedit-demo.mjs.