Commit Graph

125 Commits

Author SHA1 Message Date
d6ed94d1f0 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>
2026-05-21 09:01:13 +03:00
79043732c2 meta(tasks): create [using-vds-ops-review] in OpeItcLoc03/claude-skills 2026-05-21 05:48:25 +00:00
c4cca7c2c1 meta(tasks): create [using-vds-ops-test-trigger] in OpeItcLoc03/claude-skills 2026-05-21 05:47:58 +00:00
9ba6661d58 meta(tasks): create [using-vds-ops-hermes-mapping] in OpeItcLoc03/claude-skills 2026-05-21 05:47:41 +00:00
ffb31d9a19 meta(tasks): create [using-vds-ops-install] in OpeItcLoc03/claude-skills 2026-05-21 05:47:26 +00:00
dc8db38f68 tasks(using-yt-tools): close 2 findings 🟢
- skill-body-venv-invocation: venv activation documented in Prerequisites, step 0 added to flows, v0.2.2→0.2.3
- windows-powershell-path-doc-fix: README now covers both bash+PowerShell subshells, v0.1.5→0.1.6

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 14:44:18 +03:00
70078999b0 tasks: 2 new using-yt-tools findings from concurrent-session observation
- [using-yt-tools-skill-body-venv-invocation]: SKILL.md Prereq/Steps не упоминает venv-activation / full-path invocation; concurrent сессия упёрлась в `yt-frames: command not found`.
- [using-yt-tools-windows-powershell-path-doc-fix]: prior fix покрыл только git-bash subshell, PowerShell subshell имеет ту же restart-after-winget проблему симметрично.

Origin: real-time observation в concurrent CC сессии после /reload-plugins (vitya@DESKTOP-NSEF0UK, 2026-05-20). Local-write workaround — gitea down.
2026-05-20 14:34:12 +03:00
c7ee3d80d5 tasks(using-yt-tools): close 3 nice-to-have findings 🟢
* empty-cache-dir-on-failure — fixed via `common@fc400b7` (defer mkdir
  in transcript.py + watch.py; 2 regression tests + 1 happy-path).
* warning-mojibake — fixed in same `common@fc400b7` (force_utf8_streams
  helper called from trio CLI entries; capsys-safe).
* frames-multiline-stdout — fixed via `claude-skills@b2c1a21` (spec
  describes per-CLI stdout shape; existing piping contract preserved
  rather than rewritten).

Cluster fully closed. Header _Updated_ note rewritten to reflect closure.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 13:37:27 +03:00
f11a6b8b6b tasks(using-yt-tools): close review 🟢 + file 3 nice-to-have findings
[using-yt-tools-review] 🟢. Fresh-eyes subagent reviewer (no impl
priming) prošёл все 4 acceptance dimensions:

- Flow A PASS — URL OmJ-4B-mS-Y (Domain of Science, 11:06 en),
  transcript header + paragraph segmentation OK, 3 frames at
  4:23/4:41/8:16 visually consistent with chosen paragraphs.
- Flow B PASS — URL gCfzeONu3Mo (TED-Ed), 1 frame at 2:00, no
  transcript dependency.
- Failure modes PASS — broken URL exit 1; --lang zz proxy для
  no-captions exit 1 с available-langs hint; non-YouTube URL
  «cannot extract video id».
- What NOT to do PASS — rules agent-side policy, CLI не
  contradicts; --mode interval/scene flags существуют, но spec
  явно их называет в prohibition (intentional).

3 nice-to-have findings зафайлены как  siblings:
- [using-yt-tools-empty-cache-dir-on-failure] — yt-transcript
  mkdir до фетча captions, на abort оставляет пустую папку.
- [using-yt-tools-frames-multiline-stdout] — SKILL.md обещает
  single-line EOF path, но yt-frames с N timestamps выдаёт N
  строк «Wrote: <path>». Spec/CLI mismatch.
- [using-yt-tools-warning-mojibake] — yt-dlp warnings на Windows
  console показывают «�» вместо unicode quotes (cp1251 vs UTF-8).

No blockers, no functional break. Закрытие по «findings зафайлены»
ветке review-acceptance.

Tasks_create через MCP сорвался на write-side (Gitea POST 404,
known bug cluster — preview OK, confirm fails); все 4 правки
сделаны через local-file edit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 13:23:32 +03:00
ca95e5cc54 tasks(using-yt-tools): backfill commit hash in trigger-smoke close-note
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 13:01:04 +03:00
13ee8d3a75 tasks(using-yt-tools): close trigger-smoke-clean-session 🟢 (13/13); unblock review (🔵)
Per-task checklist `.tasks/using-yt-tools-trigger-smoke-clean-session.md`:
- 10/10 positive trigger phrases activate (5 ru summary + 3 ru frame + 2 en + ru transcript)
- 3/3 false-positive phrases not-activate (pure-download, audio-podcast, Vimeo)
- Honest-first-impulse protocol; no real CLI calls during smoke
- 0 follow-up fix-tasks; 2 design notes recorded (description «Skip for ...» line
  is load-bearing — preserve through future rewrites; smoke run carries partial
  priming bias since user named the cluster — rerun in fresh instance optional)

Review-task: 🔵 ready. Все blockers сняты (body-fill 🟢 + 3 finding-fixes 🟢
+ trigger-smoke 🟢). Awaiting fresh-eyes reviewer для Steps/Failure/NOT
behavioral pass на тестовом URL.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 13:00:51 +03:00
eb357fc249 tasks(using-yt-tools): bump header version to 0.1.4 (README Linux/macOS parity)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 12:41:37 +03:00
47aea18b39 tasks(using-yt-tools): backfill commit hash in skill-body-fill close-note
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 12:39:57 +03:00
4956beba5f feat(using-yt-tools): SKILL.md body fill (2 flows) [0.1.0 → 0.2.0]
Fill the v0.1.0 stub body. Description rewritten to document two distinct flows
(was iterative-only, even though triggers already listed targeted-frames phrases):

- Flow A — iterative-watch (transcript → pick anchors → frames): for "what's
  in this video / summary / о чём ролик / video summary / youtube transcript"
- Flow B — targeted-frames (frames only, no transcript): for "посмотри 1:23 /
  покажи кадр на N / что показано на N" — user already named timestamps,
  transcript fetch would be pure waste

Body sections filled (6): When/Prereq/Inputs/Steps/Failure/Side/NOT — Flow A
and Flow B distinguished throughout. Failure modes table covers missing CLI,
missing yt-dlp/ffmpeg (with Windows winget+PATH note), network/private/age-
gated, subs-disabled. What NOT to do explicitly forbids the "always-iterative"
trap that the v0.1.0 description implicitly invited.

Bump version 0.1.0 → 0.2.0 (MINOR — documents new capability set). Description
744 chars (under 900-char soft budget; well below ~1024 hard limit). Installed
to ~/.claude/skills/using-yt-tools/ via scripts/install.ps1 — harness skill-
listing renders full description, not truncated to H1.

STATUS.md: closes new [using-yt-tools-skill-body-fill] 🟢 (filed+closed
in-place since this is one body-fill task, not a multi-session workstream).
[using-yt-tools-review] stays 🔵 — body-fill blocker removed, but still
blocked on [using-yt-tools-trigger-smoke-clean-session] (needs fresh CC
session). Caveat recorded: body-fill was done by implementer instead of the
'fresh agent' the review-task originally specified — explicit user approval.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 12:39:40 +03:00
e83038965b tasks(using-yt-tools): close 3 finding fixes 🟢🟢🟢
- using-yt-tools-transcript-paragraphs-fix → a0e4cc8 (yt-tools 0.1.1, hybrid #4)
- using-yt-tools-frames-stderr-fix → 6961796 (yt-tools 0.1.2, ffmpeg pre-check + _format_subprocess_failure)
- using-yt-tools-windows-path-doc-fix → 2471228 (yt-tools 0.1.3, README winget+PATH note)

yt-tools 0.1.0 → 0.1.3. 67 → 74 tests (3 markdown + 4 frames). 74/74 green.
Remaining:  using-yt-tools-trigger-smoke-clean-session (needs fresh CC session),
🔵 using-yt-tools-review (still blocked on SKILL.md body fill).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 12:27:53 +03:00
e3cfe623d8 tasks(using-yt-tools): close test-trigger partial + file 4 findings 🟢
Closed using-yt-tools-test-trigger as **partial** — CLI e2e +
iterative-flow on 3blue1brown «Vectors, Ch.1» (fNk_zzaMoSs, 9:51 EN)
exercised the primary path: yt-transcript ✓, yt-frames ✓, Read on
3 jpgs ✓, vision-anchored answer ✓. Trigger smoke (parts 1+2)
split out — it needs a clean CC session, which this one is not.

Filed 4 new  tasks:
- transcript-paragraphs-fix — _group_paragraphs collapses dense
  captions into 1 block (broken on community/auto subs without
  >4s gaps); single [0:00] anchor on a 9:51 video kills the
  iterative-flow primary use-case.
- frames-stderr-fix — `error: yt-dlp source download failed:`
  with empty tail when ffmpeg missing; real cause swallowed.
- windows-path-doc-fix — README should note restart-shell after
  `winget install Gyan.FFmpeg` (user-PATH not picked up by the
  currently-running git-bash subshell).
- trigger-smoke-clean-session — 10 positive + 3 false-positive
  trigger probes, requires a fresh CC session.

Review (🔵) updated: 3 baseline impl tasks all 🟢, but the
acceptance criteria for Steps / Failure modes / What NOT to do
target SKILL.md body which is still empty stub. New blocker:
second-pass body fill (separate task — not filed here).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 10:58:48 +03:00
396ebc1c9c tasks(using-yt-tools): close install + hermes-mapping [🟢🟢]
- using-yt-tools-install: ffmpeg 8.1.1 on PATH, venv populated,
  yt-tools 0.1.0 editable, 4 CLIs respond, 67/67 unit tests pass
  on this Windows host.
- using-yt-tools-hermes-mapping: registered as `pending` with
  intended:{mode:auto, category:research}; build-hermes.py emits
  26 skills (1 pending) and SKIPPED.md lists the entry. Promotion
  to `auto` gated on using-yt-tools-test-trigger 🟢.

NB: triggers/url_pattern from the task block's yaml sketch don't
match the mapping schema — they live in SKILL.md description and
Hermes picks them up automatically. Build script only consumes
mode/category/reason/intended/replace-rules.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 10:53:19 +03:00
f04f51ac05 tasks(using-yt-tools-review): link to .common [yt-tools-impl] (7779f8e) 2026-05-20 09:52:00 +03:00
ae8a4256a2 tasks: add using-yt-tools promotion bundle (3 baseline + 1 review 🔵)
Local-write workaround — Gitea backend temporarily down,
projects-meta tasks_create returned 404.
Source: .workshop/.archive/2026-05-20-yt-tools.md
2026-05-20 09:32:54 +03:00
f14b579429 fix(skills): using-synology-ops 0.1.0→0.1.1 — extend skip-rule with non-NAS hosts
Behavioral fire-test of trigger phrases (10 parallel general-purpose subagents,
each phrase as isolated user message, META: skills_invoked= parsed) revealed
one false-positive: «restart-loop in books-pipeline» fired the skill despite
books-pipeline not being a NAS-hosted container — static-pass prediction
confirmed (implicit NAS-context discriminator, LLM keyed on `restart-loop`
without host check).

Tuning: extended skip-rule with non-NAS hosts examples
(`books-pipeline`, `vps-*` etc. — only the 6 listed above are NAS-hosted).
Description 941 chars / 1024 limit. PATCH bump (fix only, no new triggers).
Retest of NEG#3 → PASS (subagent quoted new skip-rule). Final 10/10.

Closes [using-synology-ops-test-trigger]; unblocks [using-synology-ops-review]
(ready, baseline tasks all 🟢, but body still <пусто> stub — separate debt).

dist-hermes/mcp/using-synology-ops/SKILL.md regenerated via build-hermes.py.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 20:39:48 +03:00
0505e2e7ab meta(tasks): close [using-synology-ops-review] in OpeItcLoc03/claude-skills 2026-05-12 17:07:32 +00:00
19d93082bc meta(tasks): create [using-synology-ops-body-fill] in OpeItcLoc03/claude-skills 2026-05-12 17:07:25 +00:00
10fae61758 meta(tasks): pause [using-synology-ops-test-trigger] — static pass done, fire-test handoff 2026-05-12 19:44:58 +03:00
e186788971 feat(hermes): register using-synology-ops in mapping.yaml (auto/mcp) 2026-05-12 19:38:37 +03:00
2646c7aeaf meta(tasks): close [using-synology-ops-install] — installed to ~/.claude/skills, SHA256 match 2026-05-12 19:31:55 +03:00
1108731b21 meta(tasks): create [using-synology-ops-review] in OpeItcLoc03/claude-skills 2026-05-12 16:22:05 +00:00
b00763fa57 meta(tasks): create [using-synology-ops-test-trigger] in OpeItcLoc03/claude-skills 2026-05-12 16:21:57 +00:00
579a6f2ce5 meta(tasks): create [using-synology-ops-hermes-mapping] in OpeItcLoc03/claude-skills 2026-05-12 16:21:53 +00:00
93c910ac00 meta(tasks): create [using-synology-ops-install] in OpeItcLoc03/claude-skills 2026-05-12 16:21:51 +00:00
6d503b16dc feat(skills): project-bootstrap@1.11.0 — .gitignore meta-isolation block
Step 1 now ships agent meta-paths inversions (`!.claude/`, `!.tasks/`,
`!.wiki/`, `!.brainstorm/`, `!.archive/`, `!.mcp/`, `!.mcp.json`,
`!MEMORY.md`) so own greenfield/upgrade projects re-enable visibility
against the global `core.excludesFile` cutter (`~/.config/git/ignore`)
that hides obvyaska from forks of upstream open-source. Without it any
fresh bootstrap landed an empty first commit on machines with the global
configured: setup-wiki/setup-tasks/Step 5 created .wiki/.tasks/CLAUDE.md
but git ignored them.

Two cases handled in Step 1:
- no .gitignore → write template (block included unconditionally)
- existing .gitignore → marker-based (`# AI обвеска — слой 2:`)
  append-if-missing; idempotent on re-run

Smoke-tested in %TEMP%\test-bootstrap-meta-iso: all 3 acceptance
criteria pass + negative control (strip block → global hides) +
idempotency (re-run with marker present skips). Source concept:
workshop wiki concepts/meta-out-of-repo.md. Closes board task
[meta-isolation-bootstrap-skill-update].

MINOR bump (1.10.1 → 1.11.0) — new feature, backward-compat.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 14:27:59 +03:00
8593490a4b meta(tasks): create [meta-isolation-bootstrap-skill-update] in OpeItcLoc03/claude-skills 2026-05-10 11:05:00 +00:00
b0aee3795d meta(tasks): close [update-setup-projects-meta-auth-toml] in OpeItcLoc03/claude-skills 2026-05-09 17:57:52 +00:00
799bee9f30 meta(tasks): close [update-using-projects-meta-qualified-names] in OpeItcLoc03/claude-skills 2026-05-09 17:57:51 +00:00
1e15a5319d feat(skills): multi-owner v2.x sweep — using-projects-meta v1.2.0 + setup-projects-meta v1.1.0
- using-projects-meta 1.1.0 → 1.2.0: examples qualified (`victor/books`, `OpeItcLoc03/claude-skills`), `target_project` description rewrites _meta → `agenda` literal + bare-name reject; new common-mistake row; cross-ref to `concepts/projects-meta-multi-owner`.
- setup-projects-meta 1.0.1 → 1.1.0: auth.toml template now reflects v2.x schema (`gitea_owners`, `agenda_tasks_repo` qualified, optional `gitea_aggregate_skip_owners`); added schema-notes block with backwards-compat for legacy `gitea_user`-only installs.
- closes [update-using-projects-meta-qualified-names] + [update-setup-projects-meta-auth-toml] (last 2 of 14 multi-owner umbrella blockers).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 20:53:57 +03:00
fb304757cd meta(tasks): create [update-setup-projects-meta-auth-toml] in claude-skills 2026-05-08 08:15:21 +00:00
07c5b6d3d2 meta(tasks): create [update-using-projects-meta-qualified-names] in claude-skills 2026-05-08 08:15:18 +00:00
cec2b8b61c meta(tasks): close [claude-skills-update-skill] — shipped v0.1.0 + PS 5.1 bugfix
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 15:33:18 +03:00
f0161fe821 meta(tasks): update [claude-skills-update-skill] in claude-skills 2026-05-07 12:02:09 +00:00
627a183b3e feat(update-claude-skills): add update skill + scripts [v0.1.0]
New skill and cross-platform scripts that automate the full uplift cycle:
git pull → conditionally rebuild MCP servers → install skills → version
diff → reload hints. Claude-Code-only (Hermes uses hermes-installer-skill).

- scripts/update.sh: bash version (Linux/macOS/git-bash)
- scripts/update.ps1: PowerShell version (Windows)
- skills/update-claude-skills/SKILL.md: thin wrapper, detects platform
- hermes/mapping.yaml: mode: skip (Claude-Code-only)
- dist/update-claude-skills.skill: built archive
- .tasks/STATUS.md: task marked done

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 14:04:27 +03:00
efd73ec4e6 meta(tasks): update [setup-interns-clone-fallback] in claude-skills 2026-05-07 10:37:46 +00:00
b20ea8a463 meta(tasks): close [setup-interns-fix-paths] + [setup-interns-clone-fallback]
Both tasks shipped in 54ba5ca (path fix + clone fallback) and 90d066b
(monorepo clone correction — interns-mcp is a subdir of common, not a
separate repo).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 13:26:56 +03:00
9e2517f370 meta(tasks): update [setup-interns-clone-fallback] in claude-skills 2026-05-07 10:04:12 +00:00
65bea633b9 meta(tasks): create [setup-interns-clone-fallback] in claude-skills 2026-05-07 09:57:33 +00:00
6601910fb7 meta(tasks): create [tasks-board-cleanup-2026-05] in claude-skills 2026-05-07 09:43:26 +00:00
5d9d2f88f9 meta(tasks): close [bootstrap-fix-tdd-recommend-template] + [bootstrap-upgrade-canonical-triggers]
Both tasks done. v1.10.1 fix shipped (aac9088), upgrade tested on claude-skills (ac0fa57).
Unblock ready — mass-rollout of 5-string group can proceed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 12:07:29 +03:00
d5155c33e2 meta(tasks): create [bootstrap-fix-tdd-recommend-template] in claude-skills 2026-05-07 08:57:55 +00:00
2347f4e9b5 meta(tasks): update [claude-skills-update-skill] in claude-skills 2026-05-07 07:52:50 +00:00
d70c16db5b meta(tasks): update [install-ps1] in claude-skills 2026-05-07 07:52:40 +00:00
2c7eb1f70a meta(tasks): close [refresh-project-bootstrap] in claude-skills 2026-05-07 07:52:32 +00:00
7acda2ecc2 meta(tasks): create [claude-skills-update-skill] in claude-skills 2026-05-07 07:42:05 +00:00