doc-touchlisted
Install: claude install-skill pedroberaldo87/pedro-plugins
# doc-touch — atualização incremental da doc
Irmã do `/project-doc` (mesmo plugin, mesma estrutura de doc, mesmos invariantes). O FULL minera tudo e re-projeta tudo; o **touch** atualiza só os docs cujo `scope:` intersecta o diff do trabalho recente. Mexeu → tocou a doc. O FULL vira evento raro.
## Fluxo (5 passos)
### 1 · Grafo fresco + plano determinístico
```bash
graphify update "<root>" --force # AST, ZERO LLM, segundos, idempotente. Ausente → cria; fresco → no-op.
python3 plugins/project-doc/lib/pattern_check.py --project-root "<root>" --touch-plan --json
```
O touch **documenta** ⇒ é modo PESADO na regra do grafo (canônica: `skills/project-doc/SKILL.md` → Workflow Engine → Passo 0): doc nova nunca sai de grafo velho. Rode sem anunciar custo nem pedir confirmação — só informe o status. `graphify` não instalado ⇒ **avise e siga** (a re-projeção vem do diff, não do mapa; o touch não consome `graph_map`).
Devolve `{changed, docs:{doc:{files, already_current}}, pending_docs, seam_review, unscoped_new, dead_scope, ledger_last_commit, last_full_age_days}`. O `changed` = working tree ∪ staged ∪ `ledger.last_commit..HEAD` (mesma janela do backward-delta do journal, **lida read-only**). ⚠️ `git diff` **não lista untracked** — arquivo novo só entra no `changed` depois do `git add`.
**Escalada touch → FULL: decida AQUI, antes de re-projetar nada.** Quem chama o touch (o Pedro, ou a `/sovai`) não tem como saber se o caso pede FULL — a informação nasce neste passo. Um sinal só