The Micro Manager

The Micro Manager

The Micro Manager is a Pi extension that reviews completed coding turns in the background. One or more independent models can inspect bounded session updates with read-only tools. They report only a concrete nit, concern, or blocker.

The package uses public Pi APIs. It does not require oh-my-pi or another extension at run time.

Requirements

  • Pi 0.84.0 or later
  • Node.js 22.12.0 or later

Install and start

Install the package from GitHub:

pi install git:github.com/Jeecabs/micro-manager

Pi packages run with your user permissions. Review the source before installation.

The extension is disabled by default. Enable review for one Pi process:

pi --micro-manager

The flag overrides enabled for that process. If no named managers exist, the extension creates a default manager. It uses the primary session model, low thinking, and all four read-only tools.

For persistent configuration, create ~/.pi/agent/MICRO_MANAGER.yml:

enabled: true
thinking: low
tools: [read, grep, find, ls]

Start Pi, complete a coding turn, and run /micro-manager status. The reviewer stays silent when it finds no useful issue.

See Configuration for model selectors, named managers, limits, file precedence, and project trust.

What it does

  • Reviews completed primary-agent turns through a bounded background queue.
  • Runs multiple named managers with separate models and instructions.
  • Provides workspace-confined read, grep, find, and ls tools.
  • Suppresses duplicate and content-free reports.
  • Steers a material concern into an active primary turn.
  • Preserves late reports without silently starting a completed headless run.
  • Tracks backlog, token use, cost, and failures for each manager.

The extension does not edit files or run commands for a review model. It does not block a primary TUI turn while review work runs.

Configure a project

Add project configuration at .pi/MICRO_MANAGER.yml:

enabled: true
model: anthropic/claude-sonnet-4-6
thinking: low

instructions: |
  Verify every claim against repository evidence.

managers:
  - name: Architecture
    model: anthropic/claude-sonnet-4-6:medium
    tools: [read, grep, find, ls]
    instructions: |
      Check module seams, ownership, and public-interface growth.

  - name: Tests
    model: openai/gpt-5.4:low
    tools: [read, grep, find]
    instructions: |
      Find untested behavior and weak verification.

Add repository-specific priorities at .pi/MICRO_MANAGER.md:

# Review priorities

- Watch for writes that bypass the durable queue.
- Require a focused regression test for each bug fix.

Project files can select models, add instructions, and grant models read-only access to workspace files. The extension reads them only after Pi grants project trust.

Commands

Use these commands in an interactive Pi session:

Command Result
/micro-manager Show current status.
/micro-manager status Show configuration, models, backlog, token use, cost, and errors.
/micro-manager on Enable review for this session. Do not replay old history.
/micro-manager off Stop review for this session.
/micro-manager reload Reload configuration and rebuild manager runtimes.
/micro-manager dump Open each manager's in-memory transcript.
/micro-manager config Show configuration paths and a small example.

The process flag overrides enabled for one Pi process:

pi --micro-manager -p "Review this change."

Report delivery

Delivery depends on severity and primary-agent state:

Report Primary agent active Primary agent idle
nit Queue a follow-up note. Show a card.
concern Steer the active turn. Show a card.
blocker Steer the active turn. Start an interactive correction turn.

immune_turns prevents repeated interruption loops. During immunity, later concerns and blockers become follow-up notes or cards.

Print and JSON modes buffer reports until the primary agent settles. They wait for review work for at most 60 seconds. They never start a hidden primary turn. JSON mode emits a final micro-manager card. Print mode keeps primary stdout unchanged and stores report metadata in the Pi session.

See Architecture for lifecycle, context, delivery, and limit details.

Data and safety

Each manager receives a bounded transcript excerpt. The excerpt can contain:

  • Visible user and assistant text.
  • Tool names, arguments, and text results.
  • Selected primary context messages.

The excerpt excludes hidden reasoning, images, and prior micro-manager messages. Read-tool images become an omission marker. Best-effort redaction removes common credential forms and sensitive argument fields. It cannot detect every secret.

Each configured model can read and search text in the trusted workspace. The tool wrapper rejects paths and symbolic links that resolve outside that workspace. Do not use a model or provider that must not receive project data.

Private review conversations, usage, and errors stay in memory. Visible cards and print-mode report metadata use normal Pi session persistence. The extension writes no separate transcript or analytics database.

Troubleshoot

Start with:

/micro-manager status

The status shows whether review is disabled, active, paused, unavailable, or in error. It also shows loaded files and project-trust state.

See Troubleshooting for missing reports, model resolution, trust, timeout, and headless-mode problems.

Update or remove

Update installed Pi packages:

pi update --extensions

Remove this package:

pi remove git:github.com/Jeecabs/micro-manager

Remove unused MICRO_MANAGER.yml, MICRO_MANAGER.yaml, and MICRO_MANAGER.md files separately.

Develop

Run a local checkout once without installation:

pi --no-extensions -e /absolute/path/to/micro-manager

Install dependencies and run all repository checks:

pnpm install
pnpm verify

pnpm verify runs the TypeScript check, test suite, and package dry run.

See Contributing for change guidelines. Maintainers must follow the release procedure.

Origin and license

The implementation adapts MIT-licensed concepts and selected logic from the original review feature in can1357/oh-my-pi. It replaces upstream runtime integration with public Pi APIs and local modules.

See Origin and standalone boundary, the changelog, and third-party notices.

Security reports follow the security policy. The repository uses the MIT license.