# tools-dev-context

Decision: split-required. The local mixed bundle is fail-closed; every old tool name remains only as a disabled contract shell until its capability is ported or wrapped as a dedicated OMP-backed plugin.

## Current Local State

- `extensions/tools-dev-context/index.ts` registers `todo_write`, `checkpoint`, `rewind`, `job`, `recipe`, `eval` and `render_mermaid`.
- The registered tools validate parameters and then return `isError=true` with `owner`, `ported=false`, `requestedSurface` and `splitRequired=true`.
- The extension no longer imports `spawn`, no longer uses `Function`, no longer mutates `sharedState.todos`, no longer emits dev events and no longer stores in-memory jobs or checkpoints.
- `extensions/tools-dev-context/manifest.json` keeps `defaultEnabled=false` and removes filesystem and subprocess permissions.

## OMP Source Evidence

Relevant OMP references found in `/tmp/oh-my-pi-review`:

- `packages/coding-agent/src/tools/todo-write.ts`
- `packages/coding-agent/src/tools/checkpoint.ts`
- `packages/coding-agent/src/tools/job.ts`
- `packages/coding-agent/src/async/job-manager.ts`
- `packages/coding-agent/src/tools/eval.ts`
- `packages/coding-agent/src/tools/render-mermaid.ts`

These files describe separate capabilities, not one shared product boundary. That is the reason this extension is not treated as an import target as a bundle.

## Boundary

The old `tools-dev-context` name should not own runtime todo state, shell jobs, eval, checkpoints or Mermaid rendering. Future work should create separate subtasks and plugins:

- `todo_write` belongs to `todo-context` or a future direct OMP todo import.
- `checkpoint` and `rewind` belong to a checkpoint/rewind plugin.
- `job` belongs to an OMP job manager plugin.
- `recipe` belongs to OMP bash and approval policy integration.
- `eval` belongs to a dedicated eval plugin with its own policy.
- `render_mermaid` belongs to a rendering plugin.

## License And Attribution

No OMP code was copied into this extension in this slice. If a future plugin ports code from the OMP files listed above, that subtask must record the exact source files, symbols and license/attribution decision.
