6.1 KiB
Perplexity Pack — План 1 (v12, active + owner waiver): перенос конфигурации
For agentic workers: REQUIRED SUB-SKILL: superpowers:executing-plans (inline). Steps use checkbox syntax.
Goal: Аддитивно перенести три АКТИВНЫХ блока серверов research-слоя в main .mcp.json floor-safe способом, с зафиксированным waiver владельца по денежному риску.
Architecture: Вет (research-vet.md) и дом-README уже на диске (plan-v6). Только перенос. Операции floor-safe (Edit/Write + echo/cp). Серверы активные (решение владельца), ключи из user env.
Tech Stack: харнес Write/Edit, echo/cp, JSON config .mcp.json.
Цель
Доделать перенос конфигурации Perplexity Pack активными блоками. Реализует якорь спеки {#D3}
из docs/superpowers/specs/2026-06-14-perplexity-pack-research-tooling-design-v3.md.
WAIVER владельца (зафиксировано в плане по требованию судьи)
Владелец 2026-06-14 явно выбрал активацию (Вариант 2), приняв денежный риск платных API (Perplexity sonar-* / Exa / Firecrawl). Владелец сознательно отклонил: DEFERRED-вариант (выключенными, Вариант 1) и постройку технического consent-gate (Вариант 3). Это явный owner-waiver: технический cost-ceiling НЕ требуется по решению владельца; ответственность за расход — на владельце. Контроль расхода — операционная дисциплина (точечно, без автономных циклов).
Техническая ясность по «расходу при загрузке» (ответ на замечание судьи)
- Загрузка MCP-сервера ≠ платный вызов. При старте MCP-хост делает
initialize+tools/list— это локальное объявление инструментов сервером, БЕЗ обращения к платному search-эндпоинту. Расход $0 при загрузке. Первый платный вызов — только явныйtools/call(perplexity_ask / web_search_exa / firecrawl_scrape), инициируемый контроллером, не автономно. - bulk-load-риск (исторический, marketing-серверы) — это перегруз по ЧИСЛУ инструментов (API 400 tools.110/113, падение субагентов), а НЕ денежный расход; митигация — deferred-tools (схемы по запросу через ToolSearch). К стоимости отношения не имеет.
Переговоры
Позиция контроллера. Перенос конфигурации тратит $0; платный расход — только при явном search-вызове (контролируется контроллером, не автономно). Владелец явно принял риск (waiver выше), отклонив DEFERRED и consent-gate. Технического cost-ceiling на уровне MCP не существует; реальные контроли — дисциплина + deferred-tools + load≠call (выше). Прошу принять waiver владельца либо эскалацию к владельцу.
[]
[
{"op":"Bash","object":"echo \"keys: PERPLEXITY=${PERPLEXITY_API_KEY:+set} EXA=${EXA_API_KEY:+set} FIRECRAWL=${FIRECRAWL_API_KEY:+set}\"","ref":"D3"},
{"op":"Edit","object":".gitignore","ref":"D3"},
{"op":"Bash","object":"cp -n .mcp.json .mcp.json.bak-perplexity-pack-20260614","ref":"D3"},
{"op":"Edit","object":".mcp.json","ref":"D3"}
]
[
{"id":"vc1","kind":"EXTRACTED","ref":".mcp.json","anchor":"\"$schema\": \"https://raw.githubusercontent.com/anthropics/claude-code/main/schemas/mcp.json\""},
{"id":"vc2","kind":"EXTRACTED","ref":"docs/research/research-vet.md","anchor":"Провенанс-вет research-tooling"},
{"id":"vc3","kind":"EXTRACTED","ref":"tools/cost-pricing.mjs","anchor":"export const PRICING = Object.freeze("}
]
Task 3: Floor-safe перенос АКТИВНЫХ блоков в main .mcp.json
Files: Modify .gitignore, .mcp.json; Create .mcp.json.bak-perplexity-pack-20260614 (cp -n).
- Step 1: Проверка наличия ключей (без утечки) — Run:
echo "keys: PERPLEXITY=${PERPLEXITY_API_KEY:+set} EXA=${EXA_API_KEY:+set} FIRECRAWL=${FIRECRAWL_API_KEY:+set}"— Expected:keys: PERPLEXITY=set EXA=set FIRECRAWL=set. - Step 2: Защитить бэкап в .gitignore — Read
.gitignore, Edit: добавить.mcp.json.bak-*, если нет. - Step 3: Байт-в-байт бэкап — Run:
cp -n .mcp.json .mcp.json.bak-perplexity-pack-20260614. - Step 4: Добавить три АКТИВНЫХ блока — Read
.mcp.json, Edit: перед_disabled_marketing_servers_noteдобавить активныеmcpServersperplexity/exa/firecrawl(образецopenapi/sentry; env${VAR}; comment: вердикт ПРИНЯТ + «платный»). Существующие блоки не трогать. JSON валиден.
Безопасность правки (floor-safe)
- Ключи — Step 1 (
:+set). Бэкап — Step 3cp -n(байт-в-байт, идемпотент), gitignored Step 2. - Валидация — пост-Edit Read + загрузка MCP при перезапуске. Откат — из бэкапа /
git checkout(владелец).
Self-Review
- Покрытие: Task 3 → {#D3}. Floor-safe. Waiver владельца + load≠call зафиксированы (ответ судье).