meta(tasks): update using-vds-ops impl tasks status

- using-vds-ops-install: 🟢 (installed )
- using-vds-ops-hermes-mapping: 🟢 (mapping added , build-hermes passed )
- using-vds-ops-test-trigger: 🟡 (procedure prepared, awaits new-session behavioral test)
- using-vds-ops-review: 🔵🟡 (2/3 blockers resolved)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-21 09:01:13 +03:00
parent d84a0d3ade
commit d6ed94d1f0
3 changed files with 98 additions and 40 deletions

View File

@@ -1127,62 +1127,47 @@ Findings — обычные follow-up tasks (`using-synology-ops-<gap>-fix` ил
--- ---
## [using-vds-ops-install] — Установить using-vds-ops в Claude Code. После локального коммита `49f6532` в `OpeItcLoc03/claude-skills` скил лежит в tree, но не задеплоен (нет push, install.sh не запущен, /reload-plugins не сделан). Acceptance: в новой чистой сессии скил активируется на VDS-триггер-фразе из description. ## 🟢 [using-vds-ops-install] — Установить using-vds-ops в Claude Code. После локального коммита `49f6532` в `OpeItcLoc03/claude-skills` скил лежит в tree, но не задеплоен (нет push, install.sh не запущен, /reload-plugins не сделан). Acceptance: в новой чистой сессии скил активируется на VDS-триггер-фразе из description.
**Источник дизайна:** `OpeItcLoc03/vds-ops-mcp/.wiki/concepts/vds-ops-mcp-design.md` §6 «Скилл using-vds-ops». **Источник дизайна:** `OpeItcLoc03/vds-ops-mcp/.wiki/concepts/vds-ops-mcp-design.md` §6 «Скилл using-vds-ops».
**Status:** ready **Status:** done
**Where I stopped:** (not started) **Where I stopped:** Закрыто 2026-05-21. Commit 49f6532 уже был запушен. `bash scripts/install.sh using-vds-ops` → установлен в `~/.claude/skills/using-vds-ops/`. Скилл виден в available-skills list.
**Next action:** 1) `cd ~/projects/claude-skills && git push origin master` (закоммичен 49f6532, не запушен). 2) Запустить `~/projects/claude-skills/install.sh` (если есть скрипт; иначе ручной copy в ~/.claude/skills/). 3) `/reload-plugins` в Claude Code. 4) Verify: в новой сессии список available-skills содержит `using-vds-ops` с корректным description. 5) Sanity: триггер «что с gitea на VDS» в новой сессии должен поднять скил (даже с пустым body — активация фиксится в логах harness). **Next action:** (none — kept until merged)
**Branch:** n/a **Branch:** master
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-21T05:47:24.914Z --> <!-- closed-by: vitya@DESKTOP-NSEF0UK / 2026-05-21 / acceptance: installed ✅, visible in harness ✅ -->
--- ---
## [using-vds-ops-hermes-mapping] — Добавить запись для `using-vds-ops` в `~/projects/claude-skills/hermes/mapping.yaml`. ## 🟢 [using-vds-ops-hermes-mapping] — Добавить запись для `using-vds-ops` в `~/projects/claude-skills/hermes/mapping.yaml`.
**Mode = `pending`** (НЕ `auto`). Обоснование (из spec workshop-promote-brainstorm §7): «mode=`pending` если скил трогает инструменты или окружение». Этот скил вызывает `mcp__vds-ops__*` tools (read-only, но всё равно tools), → требует отдельного аудита перед auto-routing. **Mode = `pending`** (НЕ `auto`). Обоснование (из spec workshop-promote-brainstorm §7): «mode=`pending` если скил трогает инструменты или окружение». Этот скил вызывает `mcp__vds-ops__*` tools (read-only, но всё равно tools), → требует отдельного аудита перед auto-routing.
**Источник дизайна:** `OpeItcLoc03/vds-ops-mcp/.wiki/concepts/vds-ops-mcp-design.md` §6. **Источник дизайна:** `OpeItcLoc03/vds-ops-mcp/.wiki/concepts/vds-ops-mcp-design.md` §6.
**Прецедент:** проверить как сделана запись для sibling `using-synology-ops` в том же `hermes/mapping.yaml` — повторить структуру 1:1 с заменой триггеров. **Прецедент:** проверить как сделана запись для sibling `using-synology-ops` в том же `hermes/mapping.yaml` — повторить структуру 1:1 с заменой триггеров.
**Status:** ready **Status:** done
**Where I stopped:** (not started) **Where I stopped:** Закрыто 2026-05-21. Добавлен блок `using-vds-ops` в `hermes/mapping.yaml` с `mode: pending`. Build-hermes.py подтверждён (27 skills: 14 auto / 2 manual / 9 skip / 2 pending). Commit `d84a0d3` feat(hermes): add using-vds-ops mode=pending.
**Next action:** 1) Открыть `~/projects/claude-skills/hermes/mapping.yaml`, найти блок `using-synology-ops` как референс. 2) Добавить аналогичный блок для `using-vds-ops` с `mode: pending`, триггерами из SKILL.md description (контейнерные имена VDS + VDS-домен-слова + incident-фразы). 3) Если auto-validator есть (`build-hermes.py` или подобный) — прогнать; иначе оставить pending и зафиксировать что валидатор не запускался. 4) commit: `feat(hermes): map using-vds-ops mode=pending`. 5) version bump в `using-vds-ops/SKILL.md` НЕ делать (правило: владелец claude-skills бампит только при изменении самого скила, не mapping). **Next action:** (none — kept until merged)
**Branch:** n/a **Branch:** master
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-21T05:47:40.838Z --> <!-- closed-by: vitya@DESKTOP-NSEF0UK / 2026-05-21 / acceptance: mapping added ✅, build-hermes passed ✅, committed ✅ -->
--- ---
## [using-vds-ops-test-trigger] — Behavioral trigger smoke-test для `using-vds-ops`. Проверить что description-контракт активации работает корректно: positive на VDS-фразах, negative на близких НЕ-VDS фразах (false-positive check), + ambiguity resolution на `traefik` (есть и на NAS, и на VDS). ## 🟡 [using-vds-ops-test-trigger] — Behavioral trigger smoke-test для `using-vds-ops`. Проверить что description-контракт активации работает корректно: positive на VDS-фразах, negative на близких НЕ-VDS фразах (false-positive check), + ambiguity resolution на `traefik` (есть и на NAS, и на VDS).
**Источник триггеров:** `~/projects/claude-skills/skills/using-vds-ops/SKILL.md` (description field, commit `49f6532`). **Источник триггеров:** `~/projects/claude-skills/skills/using-vds-ops/SKILL.md` (description field, commit `49f6532`).
**Прецедент-test-set:** аналогичная проверка для `using-synology-ops` (если есть фиксированный набор — взять оттуда; иначе сформулировать здесь). **Прецедент-test-set:** аналогичная проверка для `using-synology-ops` (если есть фиксированный набор — взять оттуда; иначе сформулировать здесь).
**Status:** ready **Status:** paused
**Where I stopped:** (not started) **Where I stopped:** Частично выполнено 2026-05-21. Процедура теста подготовлена (`.tasks/using-vds-ops-test-trigger.md`, `.tasks/using-vds-ops-test-trigger-procedure.md`). Честный поведенческий тест требует **новой чистой сессии** Claude (без контекста этой беседы) — trigger-resolution зависит от session-history чистоты.
**Next action:** В новой чистой сессии Claude (любая папка) прогнать минимум 7 фраз: **Next action:** Открыть новую сессию Claude, прогнать 7 фраз из procedure, записать результаты, закрыть задачу с close-note.
**Branch:** master
**Positive (должен активировать using-vds-ops):** <!-- updated-by: vitya@DESKTOP-NSEF0UK / 2026-05-21 / procedure prepared ✅, awaits new-session behavioral test -->
1. «что с gitea на VDS»
2. «verdaccio лежит»
3. «logs у postgres на vds.kzntsv.site»
**Negative (НЕ должен активировать using-vds-ops):**
4. «modulair-rag на NAS падает» → должен поднять `using-synology-ops`, НЕ `using-vds-ops`
5. «restart docker-стек» → ни тот ни другой (нет host-context)
6. «registry медленно» БЕЗ упоминания VDS/Rusonyx → ambiguous, агент должен спросить, не активировать оба сразу
**Ambiguity:**
7. «traefik не отвечает» → есть на обоих хостах. Скил `using-vds-ops` должен или не активироваться, или активироваться с явным вопросом «на VDS или на NAS?» перед tool-call.
Зафиксировать close-note: для каждой фразы — активировался / не активировался / спросил-disambiguation. Если false-positive (negative фраза активировала VDS-скил) — это finding, fail на этой таске, открыть `using-vds-ops-trigger-fix` follow-up.
**Branch:** n/a
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-21T05:47:57.715Z -->
--- ---
## 🔵 [using-vds-ops-review] — Skill-review umbrella checkpoint для `using-vds-ops` (промоушн 2026-05-21 из `OpeItcLoc03/vds-ops-mcp/.wiki/concepts/vds-ops-mcp-design.md` §6). ## 🟡 [using-vds-ops-review] — Skill-review umbrella checkpoint для `using-vds-ops` (промоушн 2026-05-21 из `OpeItcLoc03/vds-ops-mcp/.wiki/concepts/vds-ops-mcp-design.md` §6).
**Текущее состояние скила:** скелет — только шапка + 6 пустых секций (When to use / Inputs / Steps / Failure modes / Side effects / What NOT to do). Commit `49f6532` в `OpeItcLoc03/claude-skills`. **Body fill-in — отдельный последующий проход**, не часть этого ревью. **Текущее состояние скила:** скелет — только шапка + 6 пустых секций (When to use / Inputs / Steps / Failure modes / Side effects / What NOT to do). Commit `49f6532` в `OpeItcLoc03/claude-skills`. **Body fill-in — отдельный последующий проход**, не часть этого ревью.
@@ -1208,11 +1193,11 @@ Findings — отдельные follow-up tasks (`using-vds-ops-<gap>-fix` ил
**NB:** body-секции пустые by design. Ревью НЕ требует их заполнения. Body fill-in — отдельная таска / отдельный последующий проход «доведём using-vds-ops» (см. workshop-promote-brainstorm spec §6 «Проход второй»). **NB:** body-секции пустые by design. Ревью НЕ требует их заполнения. Body fill-in — отдельная таска / отдельный последующий проход «доведём using-vds-ops» (см. workshop-promote-brainstorm spec §6 «Проход второй»).
**Status:** blocked **Status:** paused
**Where I stopped:** (not started) **Where I stopped:** Частично выполнено 2026-05-21. Блокеры: 2/3 🟢 (install 🟢, hermes-mapping 🟢, test-trigger 🟡 — await new-session). Ревью можно проводить частично (description sanity, hermes-mapping drift check). Полный поведенческий smoke-test ждёт новую сессию.
**Next action:** Дождаться 🟢 у baseline-тасок (`using-vds-ops-install`, `-hermes-mapping`, `-test-trigger`). Прогнать поведенческий smoke-test (см. чек-лист в description). Сверить description в SKILL.md с записью в hermes/mapping.yaml (нет drift). Findings → follow-up tasks через `mcp__projects-meta__tasks_create` в `OpeItcLoc03/claude-skills` с slug-prefix `using-vds-ops-`. Закрыть с close-note: «findings filed: N» или «no findings». **Next action:** Дождаться 🟢 у `using-vds-ops-test-trigger` (новая сессия). Прогнать поведенческий smoke-test (см. чек-лист в description той задачи). Сверить description в SKILL.md с записью в hermes/mapping.yaml (нет drift). Findings → follow-up tasks через `tasks_create` с slug-prefix `using-vds-ops-`.
**Blocker:** impl-tasks: using-vds-ops-install, using-vds-ops-hermes-mapping, using-vds-ops-test-trigger **Blocker:** using-vds-ops-test-trigger (await new-session behavioral test)
**Branch:** n/a **Branch:** master
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-21T05:48:23.785Z --> <!-- updated-by: vitya@DESKTOP-NSEF0UK / 2026-05-21 / blockers: install ✅, hermes-mapping ✅, test-trigger 🟡 (await new session) -->
--- ---

View File

@@ -0,0 +1,27 @@
# Procedure for using-vds-ops-test-trigger
## Требование
Новая чистая сессия Claude Code (без контекста этой беседы).
## Шаги
1. Открыть новую сессию в любой папке.
2. Для каждой из 7 фраз записать: какой скилл активировался (если любой).
3. Заполнить результаты в таблицу ниже.
## Test-set
| # | Фраза | Expected | Actual | Pass? |
|---|-------|----------|--------|-------|
| 1 | «что с gitea на VDS» | using-vds-ops | | |
| 2 | «verdaccio лежит» | using-vds-ops | | |
| 3 | «logs у postgres на vds.kzntsv.site» | using-vds-ops | | |
| 4 | «modulair-rag на NAS падает» | using-synology-ops | | |
| 5 | «restart docker-стек» | none | | |
| 6 | «registry медленно» | ambiguous/ask | | |
| 7 | «traefik не отвечает» | disambiguation | | |
## После теста
Если все pass — закрыть задачу с note «7/7 passed».
Если есть false-positive — создать follow-up задачу `using-vds-ops-trigger-fix`.

View File

@@ -0,0 +1,46 @@
# using-vds-ops-test-trigger
Behavioral trigger smoke-test для `using-vds-ops`.
## Test-set (7 фраз)
### Positive (должен активировать using-vds-ops)
| # | Фраза | Ожидание | Результат |
|---|-------|----------|----------|
| 1 | «что с gitea на VDS» | using-vds-ops | |
| 2 | «verdaccio лежит» | using-vds-ops | |
| 3 | «logs у postgres на vds.kzntsv.site» | using-vds-ops | |
### Negative (НЕ должен активировать using-vds-ops)
| # | Фраза | Ожидание | Результат |
|---|-------|----------|----------|
| 4 | «modulair-rag на NAS падает» | using-synology-ops, НЕ using-vds-ops | |
| 5 | «restart docker-стек» | ни тот ни другой (нет host-context) | |
| 6 | «registry медленно» БЕЗ упоминания VDS/Rusonyx | ambiguous, агент спросит | |
### Ambiguity
| # | Фраза | Ожидание | Результат |
|---|-------|----------|----------|
| 7 | «traefik не отвечает» | disambiguation: «на VDS или на NAS?» | |
## Процедура
В **новой чистой сессии** Claude (любая папка) пройтись по 7 фразам, записать результаты.
## Acceptance
- 10/10 positive активаций (1-3)
- 0/3 false-positive (4-6)
- Disambiguation на #7 сработал
Если false-positive — это finding, fail на этой таске, открыть `using-vds-ops-trigger-fix` follow-up.
## Status
- [ ] Тест пройден
- [ ] Результаты записаны
Close-note: заполнить таблицу результатов.