meta(tasks): revert agent-runner churn — restore 5 tasks to ⚪, re-scope yt-tools
An always-on agent-task-runner dry-run (2026-06-08) spuriously claimed/blocked 5 ready tasks via a runner workspace-divergence bug (poller API-claims to origin raced the spawned agent's local-checkout pushes → git pull --ff-only failed → tasks marked blocked, none actually worked). Restore all 5 to ⚪ ready: using-yt-tools-rate-limit-guard, archive-roundtrip-test, skills-grouping-revisit, hermes-converter-ci, tdd-criteria-precommit-hook. yt-tools re-scoped: its target skills/using-yt-tools/SKILL.md is a deprecated stub (v0.4.1); canonical content + referenced sections live in the OpeItcLoc03/yt-tools plugin (v0.6.0). Rule still wanted — re-point at the plugin repo, don't edit the stub. Agent's decision-trail (correct diagnosis) preserved in the per-task file. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# Task Board
|
||||
_Updated: 2026-05-31 (added using-yt-tools-rate-limit-guard ⚪)_
|
||||
_Updated: 2026-06-08 — откат churn'а от агент-раннера (always-on dry-run): 5 тасок (using-yt-tools-rate-limit-guard, archive-roundtrip-test, skills-grouping-revisit, hermes-converter-ci, tdd-criteria-precommit-hook) спуриозно claimed/blocked из-за workspace-divergence бага раннера → возвращены в ⚪ ready. yt-tools re-scoped на plugin-репо `OpeItcLoc03/yt-tools` (исходный stub deprecated)._
|
||||
|
||||
<!--
|
||||
Canonical layout. One block per task. Per-task deep context lives in
|
||||
@@ -14,7 +14,7 @@ _Updated: 2026-05-31 (added using-yt-tools-rate-limit-guard ⚪)_
|
||||
🔵 Blocked — waiting on external input
|
||||
-->
|
||||
|
||||
## 🔵 [using-yt-tools-rate-limit-guard] — Add explicit "don't batch requests at YouTube" rule to `skills/using-yt-tools/SKILL.md` (avoid HTTP 429 IP-block).
|
||||
## ⚪ [using-yt-tools-rate-limit-guard] — Add explicit "don't batch requests at YouTube" rule to `skills/using-yt-tools/SKILL.md` (avoid HTTP 429 IP-block).
|
||||
|
||||
**Эмпирика (2026-05-31, modulair-wiki ingest, DESKTOP).** Владелец кинул подборку из 10 YouTube URL. Агент выстрелил залпом ~21 запрос подряд: `yt-dlp --dump-json` ×10 (метаданные — прошли) + `yt-transcript` ×10 (transcript-api). Первый transcript-вызов достучался (вернул список языков), **со второго пошёл `HTTP 429 / "YouTube is blocking requests from your IP"`**. Блок IP-wide и держится минутами — упёрлись **оба** пути: `youtube-transcript-api` (yt-transcript) И `yt-dlp` timedtext-subtitle endpoint (метаданные при этом ещё проходили, а субтитры — нет). Что разблокировало: ~4-мин cooldown + запросы **по одному** с паузами 25–35с + ранний abort если первый не прошёл (чтобы не жечь cooldown впустую).
|
||||
|
||||
@@ -32,14 +32,12 @@ _Updated: 2026-05-31 (added using-yt-tools-rate-limit-guard ⚪)_
|
||||
**TDD:** не применим (markdown-документ). Behavioral-смок опционален: «дай 5 URL» → агент обрабатывает последовательно с паузами, не залпом.
|
||||
**Дисциплина:** после правки — bump version в frontmatter, commit `feat(using-yt-tools): rate-limit guard (no-batch) vX.Y.Z`; install/hermes-mapping/push — отдельно, как в прошлых yt-tools-тасках (для PATCH достаточно reload-plugins).
|
||||
|
||||
**Status:** blocked
|
||||
**Where I stopped:** PENDING HUMAN: The task [using-yt-tools-rate-limit-guard] (registered in claude-skills/.tasks) says to add a "don't batch requests at YouTube" rule to `claude-skills/skills/using-yt-tools/SKILL.md`. But since the task was created (2026-05-31), that file became a deprecated inert stub — the canonical skill content migrated to the OpeItcLoc03/yt-tools plugin repo (~/projects/yt-tools/, v0.6.0). Should I apply the fix in the plugin repo (the only place it has effect) instead of the dead stub, commit there, and update the task accordingly?
|
||||
**Next action:** Открыть `skills/using-yt-tools/SKILL.md`, внести пункты 1–3, bump PATCH, commit. Свериться, нет ли дубля с существующим "Не retry на yt-dlp failures" — расширить его, а не плодить.
|
||||
**Status:** ready — **RE-SCOPED 2026-06-08:** исходный таргет `skills/using-yt-tools/SKILL.md` устарел — это deprecated inert stub (v0.4.1), канонический контент мигрировал в **plugin-репо `OpeItcLoc03/yt-tools`** (v0.6.0), там же живут секции, на которые ссылается задача (вкл. буллет «Не retry на yt-dlp failures» для расширения). Правило по-прежнему нужно — но вносить его в plugin-репо, не в stub. (Находка автономного агента 2026-06-08; consult по «какой репо править» → halt при `consult_policy=human-only`; decision-trail в per-task файле.)
|
||||
**Where I stopped:** (not started в правильном репо) — баг и фикс зафиксированы по живой сессии 2026-05-31; правка отложена в задачу (владелец просил не лезть в глобальный скил из проекта modulair-wiki).
|
||||
**Next action:** В репо `OpeItcLoc03/yt-tools` (plugin) открыть его SKILL.md, внести пункты 1–3 (rate-limit guard), bump PATCH, commit. Свериться с существующим «Не retry на yt-dlp failures» — расширить его, а не плодить дубль. (НЕ править claude-skills stub.)
|
||||
**Branch:** master
|
||||
**Owner:** DESKTOP-NSEF0UK:claude-opus:35572
|
||||
**Claim token:** e07ff7e7-42cb-4b04-9700-74069adf24f9
|
||||
**Claim expires at:** 2026-06-08T13:06:32.938Z
|
||||
<!-- created-by: vitya@DESKTOP / from: modulair-wiki ingest session / 2026-05-31 -->
|
||||
<!-- re-scoped: vitya@.admin-exec / 2026-06-08 / target moved claude-skills stub → OpeItcLoc03/yt-tools plugin (agent finding during always-on dry-run) -->
|
||||
|
||||
---
|
||||
|
||||
@@ -70,23 +68,11 @@ _Updated: 2026-05-31 (added using-yt-tools-rate-limit-guard ⚪)_
|
||||
|
||||
---
|
||||
|
||||
## 🔵 [archive-roundtrip-test] — smoke-test for .skill archive shape
|
||||
**Status:** blocked
|
||||
**Where I stopped:** workspace: pull --ff-only failed (diverged?): her:
|
||||
hint:
|
||||
hint: git merge --no-ff
|
||||
hint:
|
||||
hint: or:
|
||||
hint:
|
||||
hint: git rebase
|
||||
hint:
|
||||
hint: Disable this message with "git config set advice.diverging false"
|
||||
fatal: Not possible to fast-forward, aborting.
|
||||
## ⚪ [archive-roundtrip-test] — smoke-test for .skill archive shape
|
||||
**Status:** ready
|
||||
**Where I stopped:** (not started) — caught the PowerShell-Compress-Archive backslash bug manually; a smoke-test would catch the next regression automatically
|
||||
**Next action:** add a script that builds `dist/<name>.skill`, unzips into a temp dir, and `diff -r` against `skills/<name>/`. Fail on any difference. Run from CI or pre-commit if we add one
|
||||
**Branch:** (not started)
|
||||
**Owner:** DESKTOP-NSEF0UK:claude-opus:35572
|
||||
**Claim token:** 247cebb3-5b65-447e-8255-e9891cbeee6e
|
||||
**Claim expires at:** 2026-06-08T13:10:12.832Z
|
||||
|
||||
---
|
||||
|
||||
@@ -98,49 +84,25 @@ fatal: Not possible to fast-forward, aborting.
|
||||
|
||||
---
|
||||
|
||||
## 🔵 [skills-grouping-revisit] — revisit flat vs grouped skills/ layout if count grows past ~30
|
||||
**Status:** blocked
|
||||
**Where I stopped:** workspace: pull --ff-only failed (diverged?): her:
|
||||
hint:
|
||||
hint: git merge --no-ff
|
||||
hint:
|
||||
hint: or:
|
||||
hint:
|
||||
hint: git rebase
|
||||
hint:
|
||||
hint: Disable this message with "git config set advice.diverging false"
|
||||
fatal: Not possible to fast-forward, aborting.
|
||||
## ⚪ [skills-grouping-revisit] — revisit flat vs grouped skills/ layout if count grows past ~30
|
||||
**Status:** ready
|
||||
**Where I stopped:** (not started) — current 14 skills fit fine in flat `skills/`; threshold for revisiting is ~30
|
||||
**Next action:** when triggered (skill count crosses threshold), evaluate variant B (grouped by family) vs variant C (flat + manifest) from the original brainstorm in `.wiki/concepts/repo-layout.md`
|
||||
**Branch:** (not started)
|
||||
**Owner:** DESKTOP-NSEF0UK:claude-opus:35572
|
||||
**Claim token:** 267ed03e-dce0-4afd-8c72-6b6d8640d4d3
|
||||
**Claim expires at:** 2026-06-08T13:11:02.850Z
|
||||
|
||||
---
|
||||
|
||||
## 🔵 [hermes-converter-ci] — [deferred — после ручной валидации MVP] CI hook (Gitea-pipeline или GitHub-Action если зеркалим): на push to master запустить `scripts/build-hermes.py`, сравнить diff `dist-hermes/`, авто-коммит если изменения (или PR-шаблон). Цель — чтобы `dist-hermes/` всегда матчил `skills/`+`hermes/mapping.yaml`+`hermes/skills/` без ручного запуска build. Не блокирует MVP — первая итерация делается ручным запуском конвертера. Дизайн: `.wiki/concepts/hermes-skills-rollout-design.md`.
|
||||
## ⚪ [hermes-converter-ci] — [deferred — после ручной валидации MVP] CI hook (Gitea-pipeline или GitHub-Action если зеркалим): на push to master запустить `scripts/build-hermes.py`, сравнить diff `dist-hermes/`, авто-коммит если изменения (или PR-шаблон). Цель — чтобы `dist-hermes/` всегда матчил `skills/`+`hermes/mapping.yaml`+`hermes/skills/` без ручного запуска build. Не блокирует MVP — первая итерация делается ручным запуском конвертера. Дизайн: `.wiki/concepts/hermes-skills-rollout-design.md`.
|
||||
|
||||
**Status:** blocked
|
||||
**Where I stopped:** workspace: pull --ff-only failed (diverged?): her:
|
||||
hint:
|
||||
hint: git merge --no-ff
|
||||
hint:
|
||||
hint: or:
|
||||
hint:
|
||||
hint: git rebase
|
||||
hint:
|
||||
hint: Disable this message with "git config set advice.diverging false"
|
||||
fatal: Not possible to fast-forward, aborting.
|
||||
**Status:** ready
|
||||
**Where I stopped:** unblocked 2026-05-07 — `hermes-mvp-coverage` shipped в `a003b80`; MVP живой на фабрике.
|
||||
**Next action:** Выбрать платформу CI (Gitea Actions vs внешняя), написать workflow, прогнать тестовый push.
|
||||
**Branch:** master
|
||||
**Owner:** DESKTOP-NSEF0UK:claude-opus:35572
|
||||
**Claim token:** a36ec235-bd20-4d57-a0d0-0434a9ef03ab
|
||||
**Claim expires at:** 2026-06-08T13:12:02.587Z
|
||||
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T20:21:57.210Z -->
|
||||
|
||||
---
|
||||
|
||||
## 🔵 [tdd-criteria-precommit-hook] — Optional pre-commit hook script that automates the bright-line checks from `tdd-criteria` Anti-loophole rules 1 and 4. Project owner opts in per-repo by symlinking / copying to `.git/hooks/pre-commit` (or via `husky` / `lefthook` integration if the project uses them).
|
||||
## ⚪ [tdd-criteria-precommit-hook] — Optional pre-commit hook script that automates the bright-line checks from `tdd-criteria` Anti-loophole rules 1 and 4. Project owner opts in per-repo by symlinking / copying to `.git/hooks/pre-commit` (or via `husky` / `lefthook` integration if the project uses them).
|
||||
|
||||
**Two checks** (both bright-line, both fail-closed):
|
||||
|
||||
@@ -205,22 +167,10 @@ The skill is **policy** that lives in claude-skills and gets pulled into agent c
|
||||
|
||||
Pre-commit hooks have `--no-verify`. Per `project-discipline` Rule 4 («never skip hooks unless user explicitly asks») agents must not use `--no-verify` — but humans can in emergencies. Each `--no-verify` use should be self-flagged in the commit body («bypassed pre-commit because: ...»). Not enforceable by the hook itself; this is a higher-level audit.
|
||||
|
||||
**Status:** blocked
|
||||
**Where I stopped:** workspace: pull --ff-only failed (diverged?): her:
|
||||
hint:
|
||||
hint: git merge --no-ff
|
||||
hint:
|
||||
hint: or:
|
||||
hint:
|
||||
hint: git rebase
|
||||
hint:
|
||||
hint: Disable this message with "git config set advice.diverging false"
|
||||
fatal: Not possible to fast-forward, aborting.
|
||||
**Status:** ready
|
||||
**Where I stopped:** (not started)
|
||||
**Next action:** Решить, нужен ли hook (он опционален) — если да, написать `~/projects/claude-skills/scripts/tdd-criteria-precommit-hook.sh` по спеке в description, протестировать на `books` (Jest-конвенция `*.test.js`), задокументировать activation pattern. Если нет — закрыть как `wontfix` с пометкой что fence чисто социальная (commit subject visible в `git log`).
|
||||
**Branch:** master
|
||||
**Owner:** DESKTOP-NSEF0UK:claude-opus:35572
|
||||
**Claim token:** 9704392d-e7fd-48e8-9be3-acc4ab1201d3
|
||||
**Claim expires at:** 2026-06-08T13:13:02.558Z
|
||||
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-07T05:10:28.610Z -->
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user