# 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 <noreply@anthropic.com>\"","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 <noreply@anthropic.com>"` — 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 (диагностика сессии).
