diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index cd8d7bc..b125faf 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -1,5 +1,5 @@ # Task Board -_Updated: 2026-05-20 (promoted using-yt-tools v0.1.0 → 4 tasks: install/hermes-mapping/test-trigger ⚪ ready + review 🔵 blocked-by-impl)_ +_Updated: 2026-05-20 (using-yt-tools impl: install + hermes-mapping 🟢; test-trigger 🔴 active, CLI e2e in progress)_ -## ⚪ [using-yt-tools-install] — Install env deps (ffmpeg + python venv + 3 pip libs) for using-yt-tools on agent machine. +## 🟢 [using-yt-tools-install] — Install env deps (ffmpeg + python venv + 3 pip libs) for using-yt-tools on agent machine. **Этапы:** 1. **Сейчас** — system-level: `ffmpeg` через OS-пакетник (`winget install Gyan.FFmpeg` / `brew install ffmpeg` / `apt install ffmpeg`); python venv в `~/projects/.common/lib/yt-tools/.venv`; `pip install youtube-transcript-api pyscenedetect yt-dlp`. @@ -24,15 +24,16 @@ Cross-platform: повторить на каждой агент-машине (Wi **Источник дизайна:** `.workshop/.archive/2026-05-20-yt-tools.md` (разделы «Зависимости» и «Упаковка»). -**Status:** ready -**Where I stopped:** (not started) -**Next action:** Этап 1 сейчас (см. выше); Этап 2 после того как `.common/lib/yt-tools/` существует. Проверка: `yt-dlp --version`, `ffmpeg -version`, `python -c "import youtube_transcript_api, scenedetect"`. +**Status:** done (2026-05-20, vitya@DESKTOP-NSEF0UK / Windows) +**Where I stopped:** done — both stages green +**Closed by:** ffmpeg 8.1.1 (Gyan.FFmpeg) on user PATH; yt-dlp 2026.3.17; venv at `~/projects/.common/lib/yt-tools/.venv` with youtube-transcript-api 1.2.4, yt-dlp 2026.3.17, scenedetect[opencv] 0.7, opencv-python 4.13.0.92; `pip install -e` of yt-tools (v0.1.0) already in place; all 4 CLI entry-points (`yt-transcript/yt-frames/yt-watch/yt-tools`) print help; 67/67 unit tests pass (`python -m pytest tests/ -q`). **Branch:** n/a + --- -## ⚪ [using-yt-tools-hermes-mapping] — Register `using-yt-tools` in `~/projects/claude-skills/hermes/mapping.yaml` (mode: pending). +## 🟢 [using-yt-tools-hermes-mapping] — Register `using-yt-tools` in `~/projects/claude-skills/hermes/mapping.yaml` (mode: pending). Mode: **`pending`** — скил вызывает внешние CLI (yt-dlp/ffmpeg) и пишет файлы в `./yt-cache/`. Требует ручного аудита перед переходом на `auto`. @@ -43,32 +44,16 @@ Mode: **`pending`** — скил вызывает внешние CLI (yt-dlp/ffm **Источник дизайна:** `.workshop/.archive/2026-05-20-yt-tools.md` (раздел «Triggers для skill»). -**Status:** ready -**Where I stopped:** (not started) -**Next action:** В `hermes/mapping.yaml` добавить блок (формат — посмотреть `using-synology-ops` рядом): -``` -- skill: using-yt-tools - mode: pending - triggers: - - "транскрипт видео" - - "расшифровка YouTube" - - "что в этом ролике" - - "о чём ролик" - - "покажи кадр на" - - "посмотри момент" - - "что показано в видео на" - - "watch this video" - - "video summary" - - "youtube transcript" - url_pattern: "youtube\\.com|youtu\\.be" -``` -Прогнать `python hermes/build-hermes.py`. После аудита поведения (см. `using-yt-tools-test-trigger`) — рассмотреть переход на `mode: auto`. +**Status:** done (2026-05-20) +**Where I stopped:** done — entry added, build green +**Closed by:** `hermes/mapping.yaml` got a new pending entry `using-yt-tools` with `intended: { mode: auto, category: research }` and audit reason. `python scripts/build-hermes.py` outputs 26 skills (14 auto / 2 manual / 9 skip / 1 pending); SKIPPED.md lists the entry under Pending with the intended block. NB: triggers/url_pattern from the task sketch don't fit the mapping schema (build script reads only mode/category/reason/intended/replace-rules); triggers live in SKILL.md frontmatter description and are picked up automatically by Hermes. Promotion to `auto` after `using-yt-tools-test-trigger` 🟢. **Branch:** n/a + --- -## ⚪ [using-yt-tools-test-trigger] — Behavioral smoke-test using-yt-tools on a clean session + e2e CLI pipeline on a test YouTube URL. +## 🔴 [using-yt-tools-test-trigger] — Behavioral smoke-test using-yt-tools on a clean session + e2e CLI pipeline on a test YouTube URL. **Что проверяется:** diff --git a/dist-hermes/SKIPPED.md b/dist-hermes/SKIPPED.md index fdc0ff5..25f46a2 100644 --- a/dist-hermes/SKIPPED.md +++ b/dist-hermes/SKIPPED.md @@ -17,4 +17,4 @@ Do not edit by hand — edit the mapping and re-run the build. ## Pending (deferred to follow-up tasks) -(none) +- **using-yt-tools** — Shells out to yt-dlp + ffmpeg and writes ./yt-cache/ in cwd. Behavioral audit via using-yt-tools-test-trigger required before promotion to auto. → intended: `mode: auto, category: research` diff --git a/hermes/mapping.yaml b/hermes/mapping.yaml index a051e80..1a9abfe 100644 --- a/hermes/mapping.yaml +++ b/hermes/mapping.yaml @@ -141,3 +141,12 @@ skills: update-claude-skills: mode: skip reason: "Claude-Code-only orchestrator — Hermes uses hermes-installer-skill instead." + + # ─── pending (1 — behavioral audit required) ───────────────────────── + + using-yt-tools: + mode: pending + intended: + mode: auto + category: research + reason: "Shells out to yt-dlp + ffmpeg and writes ./yt-cache/ in cwd. Behavioral audit via using-yt-tools-test-trigger required before promotion to auto."