Files
brain/docs/superpowers/plans/2026-06-14-perplexity-pack-plan-2a-gate-classification.md
T

2.2 KiB

План: gate-классификация research-tooling MCP (Perplexity Pack)

Дата: 2026-06-14

Цель

Завести три семейства MCP-инструментов research-слоя (mcp__perplexity__*, mcp__exa__*, mcp__firecrawl__*) в карту классификации gate-config tools/mcp-tool-classifier.mjs категорией read_only. Сейчас неклассифицированные MCP-инструменты получают default-block в гейте enforce-mcp-classification, поэтому вызовы пака (включая приёмочный live-smoke) блокируются. Постура read_only зафиксирована решением владельца 2026-06-14 и закрепляется в ADR-019: веб-разведка читает внешние источники и не мутирует state проекта; egress-скан исходящих аргументов (секреты / base64 / file:// / IP-литерал) остаётся активным на каждый вызов.

Изменение по TDD: сначала красный тест на классификацию трёх семейств в tools/mcp-tool-classifier.test.mjs, затем минимальная аддитивная правка карты DEFAULT_MCP_CLASSIFICATION, затем зелёный прогон и полная регрессия инструментов.

["test-driven-development"]
[
  {"op":"Edit","object":"tools/mcp-tool-classifier.test.mjs","ref":"D6"},
  {"op":"Bash","object":"npx vitest run --root app --config vitest.config.tools.mjs","ref":"D6"},
  {"op":"Edit","object":"tools/mcp-tool-classifier.mjs","ref":"D6"},
  {"op":"Bash","object":"npx vitest run --root app --config vitest.config.tools.mjs","ref":"D6"},
  {"op":"Bash","object":"npx vitest run --root app --config vitest.config.tools.mjs","ref":"D8"}
]
[
  {"id":"vc1","kind":"EXTRACTED","ref":"tools/mcp-tool-classifier.mjs","anchor":"export const DEFAULT_MCP_CLASSIFICATION = Object.freeze({"},
  {"id":"vc2","kind":"EXTRACTED","ref":"tools/cost-pricing.mjs","anchor":"export const PRICING = Object.freeze("}
]