# Точечные фиксы идемпотентности и баг имени play **Приоритет:** средний Быстрые пойнтовые правки без структурных изменений: - **`playbook-wanderer.yml:2`** — play назван `"Configure gramps application"` при `app_name: "wanderer"` (копипаст из gramps). Поправить имя. _(баг)_ - **`playbook-netdata.yml:118-125`** — `changed_when: ...rc != 0` для read-only запроса лишён смысла; должно быть `changed_when: false`. Лучше заменить `shell: grep docker /etc/group` на модуль `ansible.builtin.getent` — уйдёт `pipefail` и хрупкий парсинг. - **`playbook-eget.yml:23-78`** — восемь `command` с `changed_when: false`, хотя реально ставят/обновляют бинарники: прогон всегда «ok», теряется честность `--diff`. Ставить через роль `eget` (она корректно проверяет версию) или через проверку версии. - **`playbook-memos.yml:57-67`** и аналоги — сборка `backup-targets` через `lineinfile` в цикле не удаляет устаревшие строки при изменении списка; `mode: "0750"` на файле-списке выглядит как copy-paste. Чище — `template`/`copy: content` со всем списком. Контекст: [docs/drafts/ansible-review.md](../drafts/ansible-review.md) §4, §7. Связано: playbook-wanderer.yml, playbook-netdata.yml, playbook-eget.yml, playbook-memos.yml, roles/eget.