# tools-dev-context

Статус: отключен по умолчанию и fail-closed. Этот extension больше не выполняет `todo_write`, `checkpoint`, `rewind`, `job`, `recipe`, `eval` или `render_mermaid`; он сохраняет только старые tool names как явный contract shell до разделения на отдельные OMP-backed plugins.

## Назначение

`tools-dev-context` был смешанным dev-loop bundle. В одном extension находились todo state, checkpoints, background jobs, recipes, JavaScript eval и Mermaid helper. После OMP-grounded review это признано неправильной границей: у этих capabilities разные владельцы, разные риски и разные runtime expectations.

## Почему он есть в проекте

Extension оставлен как disabled compatibility shell, чтобы старые manifests, registry checks и документация явно показывали прежнюю поверхность и новое решение. Он не должен выглядеть как готовый product surface.

Активная OMP-style todo compatibility теперь живет в отдельном `todo-context`. Остальные pieces должны возвращаться только как отдельные плагины: `omp-checkpoint-rewind`, `omp-job`, `omp-bash-approval`, `omp-eval` и `omp-render-mermaid`.

## Пользовательская поверхность

Каждый tool валидирует параметры и затем возвращает `isError=true`. Result включает `details.owner`, `details.ported=false`, `details.requestedSurface` и `details.splitRequired=true`.

`todo_write` дополнительно сообщает, что текущая выделенная поверхность находится в `todo-context`. Это не forwarding и не runtime delegation; это явное указание, что mixed bundle больше не владеет todo behavior.

## Как работает по коду

Entrypoint регистрирует прежние TypeBox tool schemas, но не импортирует `spawn`, не вызывает `Function`, не читает и не пишет filesystem, не мутирует `sharedState.todos`, не отправляет dev events и не держит in-memory jobs/checkpoints.

- Entrypoint: `./extensions/tools-dev-context/index.ts`
- Manifest: `extensions/tools-dev-context/manifest.json`
- Commands: none
- Tools: `todo_write`, `checkpoint`, `rewind`, `job`, `recipe`, `eval`, `render_mermaid`
- Hooks: none
- Permissions: fs.read=none, fs.write=none, subprocess=none, network=none, browser=false, models=false, ui=none
- State: none
- Review: status=reviewed, source=wrapper-first, reviewedBy=pi-dev-extensions, reviewedAt=2026-06-01, risk=high

## Ограничения и риски

Этот extension intentionally does not provide live functionality. Если потребителю нужен `job`, `eval`, Mermaid rendering или checkpoint/rewind, надо создать отдельный subtask, указать OMP source files, перенести или тонко упаковать конкретную capability и доказать ее runtime behavior тестами.

## Решение

Решение: `split-required`, fail-closed locally. Mixed bundle не включается и не выполняет risky behavior. Конкретные части можно включать только после отдельного OMP-backed plugin implementation.
