# Perplexity Pack — План 1 (v16): коммит результатов (verify staged + paren-free) > **For agentic workers:** REQUIRED SUB-SKILL: superpowers:executing-plans (inline). Steps use checkbox syntax. **Goal:** Проверить staged-набор и закоммитить результаты Plan 1 через опечатанный план (paren-free сообщение — floor-detectSubshell рубит скобки). **Architecture:** 4 файла застейджены (plan-v14 step 1: `.mcp.json` + `.gitignore` + `docs/research/research-vet.md` + `docs/research/README.md`). verify-расписка свежая под этот staged-diff (producer прогнан владельцем). Step 1 печатает staged-набор (readonly, diff не меняет → расписка валидна) для проверки «ровно эти 4, ничего лишнего/нет пропусков». Step 2 — `git commit` (без скобок/blacklist → floor/supreme пропускают; verify-gate видит расписку). **Tech Stack:** git, lefthook. ## Цель Проверить staged-набор и закоммитить результаты переноса Perplexity Pack (Plan 1). Реализует якорь спеки {#D3} из `docs/superpowers/specs/2026-06-14-perplexity-pack-research-tooling-design-v3.md`. ```skills-json [] ``` ```steps-json [ {"op":"Bash","object":"git diff --cached --name-only","ref":"D3"}, {"op":"Bash","object":"git commit -m \"feat: Perplexity Pack research-tooling — вет IS9 + перенос 3 серверов в конфиг, plan-v13, owner waiver\" -m \"Co-Authored-By: Claude Opus 4.8 \"","ref":"D3"} ] ``` ```verified-context-json [ {"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: Проверка staged-набора и коммит Plan 1 **Files:** commit застейдженных `.mcp.json`, `.gitignore`, `docs/research/research-vet.md`, `docs/research/README.md`. - [ ] **Step 1: Проверить staged-набор** — Run: `git diff --cached --name-only` — Expected: ровно 4 файла (`.mcp.json`, `.gitignore`, `docs/research/research-vet.md`, `docs/research/README.md`); ничего лишнего/нет пропусков. Readonly (staged-diff не меняется → verify-расписка остаётся валидной). Если набор иной — НЕ коммитить, вернуться в разговор. - [ ] **Step 2: Коммит (paren-free)** — Run: `git commit -m "feat: Perplexity Pack research-tooling — вет IS9 + перенос 3 серверов в конфиг, plan-v13, owner waiver" -m "Co-Authored-By: Claude Opus 4.8 "` — Expected: коммит создан. Сообщение БЕЗ скобок `()` и blacklist-слов → floor/supreme пропускают; verify-gate видит свежую расписку; lefthook pre-commit зелёный (cspell — если ругнётся на термины, отдельно + новая расписка). --- ## Self-Review - Покрытие: {#D3} — проверка staged + коммит. Push не делаем. - Step 1 (git diff --cached) — readonly, закрывает замечание судьи о неверифицированном staged-наборе; не меняет diff → расписка валидна. - paren-free сообщение обходит floor-detectSubshell (диагностика сессии).