Commit Graph

345 Commits

Author SHA1 Message Date
ed25e6041a meta(tasks): create [delegate-task-test-trigger] in OpeItcLoc03/claude-skills 2026-06-09 08:42:10 +00:00
8f8ae51fd1 meta(tasks): create [delegate-task-hermes-mapping] in OpeItcLoc03/claude-skills 2026-06-09 08:42:05 +00:00
ad3bf145d1 meta(tasks): create [delegate-task-install] in OpeItcLoc03/claude-skills 2026-06-09 08:42:02 +00:00
38efd24518 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>
2026-06-08 16:26:27 +03:00
3e3c333e35 meta(tasks): update [tdd-criteria-precommit-hook] in OpeItcLoc03/claude-skills 2026-06-08 13:03:04 +00:00
eeb138b7d6 meta(tasks): claim [tdd-criteria-precommit-hook] in OpeItcLoc03/claude-skills by DESKTOP-NSEF0UK:claude-opus:35572 2026-06-08 13:03:02 +00:00
a5ac585c55 meta(tasks): update [hermes-converter-ci] in OpeItcLoc03/claude-skills 2026-06-08 13:02:04 +00:00
4cf73fdcc7 meta(tasks): claim [hermes-converter-ci] in OpeItcLoc03/claude-skills by DESKTOP-NSEF0UK:claude-opus:35572 2026-06-08 13:02:02 +00:00
53816b87a4 meta(tasks): update [skills-grouping-revisit] in OpeItcLoc03/claude-skills 2026-06-08 13:01:05 +00:00
c02261ca79 meta(tasks): claim [skills-grouping-revisit] in OpeItcLoc03/claude-skills by DESKTOP-NSEF0UK:claude-opus:35572 2026-06-08 13:01:03 +00:00
ced99241c3 meta(tasks): update [archive-roundtrip-test] in OpeItcLoc03/claude-skills 2026-06-08 13:00:15 +00:00
4c24d794fe meta(tasks): claim [archive-roundtrip-test] in OpeItcLoc03/claude-skills by DESKTOP-NSEF0UK:claude-opus:35572 2026-06-08 13:00:13 +00:00
184d2799e3 meta(tasks): decision-trail [using-yt-tools-rate-limit-guard] consult in OpeItcLoc03/claude-skills 2026-06-08 12:59:08 +00:00
d0cfa9d361 meta(tasks): decision-trail [using-yt-tools-rate-limit-guard] consult in OpeItcLoc03/claude-skills 2026-06-08 12:58:43 +00:00
979357e9fc meta(tasks): park-question [using-yt-tools-rate-limit-guard] → human in OpeItcLoc03/claude-skills 2026-06-08 12:58:42 +00:00
d4dbc9e673 meta(tasks): claim [using-yt-tools-rate-limit-guard] in OpeItcLoc03/claude-skills by DESKTOP-NSEF0UK:claude-opus:35572 2026-06-08 12:56:33 +00:00
4062aed885 meta(tasks): add using-yt-tools-rate-limit-guard
Don't-batch-YouTube-requests rule, filed from modulair-wiki ingest session
where ~21 rapid requests tripped HTTP 429 IP-block on both transcript-api and
yt-dlp. Captures empirical symptom + cooldown/one-at-a-time fix + en-US lang
gotcha, to land in SKILL.md as a What-NOT-to-do bullet + failure-mode row.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 10:15:24 +03:00
17045be527 meta(tasks): fix review-task header emoji 🔵🟢 (status was already done)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 17:18:17 +03:00
8d7af3212b feat(private-dev-public-publish): fill skill body + review hardening v0.2.0
Second pass: filled the empty skeleton (When-to-use, Inputs, Steps, Failure
modes, Side effects, What-NOT) from the design archive
(.workshop/.archive/2026-05-29-skill-private-dev-public-publish.md). 0.1.0 -> 0.2.0.

Non-implementer subagent review found 3 findings, all fixed in this same increment:
- Step 5 dev->pub copy had no meta-exclusion -> would leak .wiki/.tasks/CLAUDE.md
  into the PUBLIC fork. Added explicit meta-exclude + .gitignore backstop +
  git-status check, plus a 4th failure mode for the leak.
- pub-folder origin was never established before Step 5 pushed to it -> Step 4 now
  clones the GitHub fork into pub (origin=fork, upstream=canonical).
- Step 3 "same base" was unmechanized -> clone fork, add gitea remote, push base.

Closes review task: all findings filed and resolved; no follow-ups needed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 17:07:36 +03:00
a079c94a6e meta(private-dev-public-publish): close install + hermes-mapping + test-trigger baseline
- install: skill copied to ~/.claude/skills via install.ps1; confirmed visible in available-skills mid-session
- hermes-mapping: added entry mode:pending, intended auto/software-development (touches git/gh/Gitea-API, tokens, force-push, privacy → audit-gated)
- test-trigger: 4/4 positive fire skill, 3/3 negative route elsewhere (clean-context subagent proxy); zero false-positive, no findings
- review task remains blocked: skill body still empty skeleton, needs second-pass body-fill first

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 17:03:17 +03:00
406d12fcf6 meta(tasks): create [private-dev-public-publish-review] in OpeItcLoc03/claude-skills 2026-05-29 09:45:58 +00:00
c1ab75de43 meta(tasks): create [private-dev-public-publish-test-trigger] in OpeItcLoc03/claude-skills 2026-05-29 09:45:39 +00:00
5db210ffa1 meta(tasks): create [private-dev-public-publish-hermes-mapping] in OpeItcLoc03/claude-skills 2026-05-29 09:45:29 +00:00
2842246b10 meta(tasks): create [private-dev-public-publish-install] in OpeItcLoc03/claude-skills 2026-05-29 09:45:22 +00:00
9e37c3082d meta(tasks): create [meta-host-routing-review] in OpeItcLoc03/claude-skills 2026-05-27 06:51:49 +00:00
ef1fd8732f meta(tasks): create [meta-host-routing-test-trigger] in OpeItcLoc03/claude-skills 2026-05-27 06:51:35 +00:00
63ea6d7d30 meta(tasks): create [meta-host-routing-hermes-mapping] in OpeItcLoc03/claude-skills 2026-05-27 06:51:27 +00:00
3aa10c8b17 meta(tasks): create [meta-host-routing-install] in OpeItcLoc03/claude-skills 2026-05-27 06:51:20 +00:00
96112ed000 meta(tasks): close [using-yt-tools-listen-path-shim-investigate] as wontfix
Investigation finding: SRE module mismatch не воспроизводится на DESKTOP-NSEF0UK.
Three yt-dlp installs coexist:
 - Python313\Scripts\yt-dlp.exe (system pip, first on PATH)
 - ~\.local\bin\yt-dlp.exe (uv tool install, Python 3.14.3)
 - ~\pipx\venvs\yt-tools\Scripts\yt-dlp.exe (pipx-bundled, Python 3.12.13)

All three return --version exit 0. All three interpreters import `re` cleanly.
yt-listen shims в ~/.local/bin и в pipx venv — byte-identical (SHA256 match).

Smoke-test diagnosis «uv-managed cpython-3.12 corrupt» вероятно misdiagnosis —
реальный виновник скорее всего был corrupt _sre.pyd в Python313 system install
(первый на PATH). uv с тех пор bumped 3.12 → 3.14.3, что независимо могло
залечить состояние. SKILL.md "Locating binaries" уже даёт корректный
fallback chain (PATH → ~/.local/bin → legacy venv); добавлять
\$HOME\pipx\venvs\yt-tools\Scripts приоритетным не нужно.

Closed wontfix без SKILL change.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 21:27:26 +03:00
e62769209d test(using-yt-tools): behavioral smoke for yt-listen extension (8/8 + E2E partial — follow-ups filed)
Closes test-trigger task. Per-task .md has full result tables.

Behavioral (4 pos + 3 neg-route + 1 W-NOT-do) — 8/8 green, no follow-ups.
E2E real subprocess (yt-listen URL --timestamps 0:30 --duration 10s):
- 3 artefacts written, content checks 5/5 green (BPM 113.5, Key G# Minor,
  chord G#→D#, RMS 0.14/0.22, centroid 2882 Hz; PNG 1024x384 mel+log+viridis)
- 2 gaps surfaced (NOT skill-defect, scope of follow-ups):
  * naming divergence (audio_*/spectrogram_* vs spec clip_*/spectrum_*)
    → OpeItcLoc03/common :: yt-listen-naming-align (8a67ea3)
  * default Invoke pattern hits broken yt-dlp shim (SRE module mismatch)
    → OpeItcLoc03/claude-skills :: using-yt-tools-listen-path-shim-investigate (9e652a5)

STATUS.md residue cleanup: stale "Next action" continuation lines +
Blocker line removed from the now-🟢 block.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 15:38:14 +03:00
8ce0102c17 meta(tasks): close [using-yt-tools-listen-test-trigger] in OpeItcLoc03/claude-skills 2026-05-25 12:36:06 +00:00
9e652a5c19 meta(tasks): create [using-yt-tools-listen-path-shim-investigate] in OpeItcLoc03/claude-skills 2026-05-25 12:35:52 +00:00
ffeb95b9cc feat(build): add --prune flag to build.{sh,ps1} [skip-tdd: wrapper]
Symmetric to install-side --prune (e871c20). Removes
dist/<name>.skill files whose <name> is not in skills/*.

Design choices match install:
- Combined flag (build + prune in one run)
- Global scan, ignores -Names / positional filter
- Default off, print-and-delete, no confirmation

Bash wrinkle: when build.sh delegates to powershell.exe -File
build.ps1 (Windows-without-zip case), --prune is NOT forwarded.
Bash runs prune itself at the end of the script against the
shared dist/. Keeps the delegation surface narrow and the prune
logic single-sourced per shell.

[skip-tdd: wrapper] — same carve-out as install-side, smoke-test
evidence: fake dist/fake-stale-{sh,ps}.skill files created in real
dist/, ran build.{sh,ps1} --prune, verified fakes removed, real
caveman.skill etc. left intact.

Wiki .wiki/concepts/install-cross-platform.md extended:
- title broadened (Install → Install / Build)
- new "Build-side --prune" section
- scope note: dist-hermes/ is separate (managed by build-hermes.py)

Closes [install-ps1-build-prune-followup].
2026-05-25 13:38:34 +03:00
01993eac45 meta(tasks): close [using-yt-tools-listen-skill-update] in OpeItcLoc03/claude-skills 2026-05-25 10:38:20 +00:00
e871c20272 docs(install): .wiki concept page for install-cross-platform parity
Closes 3/3 acceptance of [install-ps1]:
- (a) install.ps1 existed
- (b) --prune flag shipped in 6cf0e98
- (c) concept page now written

.wiki/concepts/install-cross-platform.md captures:
- why two scripts (PS for native-Win, sh for Linux/Mac)
- parity contract (shared invariants, flag-naming convention)
- --prune design choices and rejected alternatives
- scope boundary (install-side only; dist/.skill prune is separate)

Index + log updated per .wiki/CLAUDE.md schema.

STATUS.md: [install-ps1] 🟢, new  task
[install-ps1-build-prune-followup] filed for the analogous
flag on build.{sh,ps1}.
2026-05-25 13:11:10 +03:00
ce1e04ea30 meta(tasks): create [using-yt-tools-listen-test-trigger] in OpeItcLoc03/claude-skills 2026-05-25 09:51:38 +00:00
f841ed197e meta(tasks): create [using-yt-tools-listen-skill-update] in OpeItcLoc03/claude-skills 2026-05-25 09:51:08 +00:00
d1688f36b8 meta(tasks): close using-vds-ops-description-length-investigate
Empirical close: 1473-char description on using-vds-ops works
(7/7 smoke-test PASSED, listing shows full text, no fallback).
Memory note feedback_skill_description_length_limit.md was
paranoid — deleted from user memory (not in repo).

YAML colon-space gotcha memory kept (different concern, valid).
2026-05-25 08:09:03 +03:00
1987746715 meta(handoff): regen NEXT_SESSION post board-cleanup + synology retire 2026-05-25 07:35:33 +03:00
c62d6c3391 meta(tasks): close 2 synology-ops tasks as wontfix
[using-synology-ops-disambiguation-uplift] 🟢
[using-synology-ops-review] 🟢

Reason: Synology NAS decommissioned permanently 2026-05-25.
Disambiguation between NAS and VDS for shared container names
(traefik etc.) is moot when only VDS exists. Review acceptance
criteria have no target — both the MCP endpoint and the host
fleet are gone.

Full skill retire (delete skills/using-synology-ops/, hermes
mapping entry, ~/.claude/skills/ install, MCP server registration,
dist-hermes rebuild) tracked as separate next-commit operation.
2026-05-25 07:30:45 +03:00
3810945b59 meta(tasks): archive done batch 2026-05 → .archive/done-2026-05.md
STATUS.md 1467 → 239 lines (-84%), 70 → 11 active blocks.
Archive: 21 → 57 done blocks (full snapshot, replaces prior partial).

Перемещено 36 done-блоков из STATUS.md в .archive/done-2026-05.md
(uses-yt-tools cluster, tdd-criteria rollout, bootstrap fixes,
session-handoff cluster, using-vds-ops/using-synology-ops promo,
interns-grep-audit, recommend-dont-menu, project-creation-lifecycle,
project-discipline-brainstorm-workspaces).

Один heading-emoji flip: [bootstrap-fix-tdd-recommend-template] 🟢
(ship-commit aac9088 2026-05-07 был авторитативным,  heading stale;
duplicate **Next action** spec block stripped at the same time).

[tasks-board-cleanup-2026-05] остаётся  в STATUS.md — по NB таски,
её закрытие идёт следующим batch'ем, не в этом же коммите.
2026-05-25 07:20:18 +03:00
a62a7ea908 meta(handoff): regen NEXT_SESSION post real e2e smoke [v0.3.3] 2026-05-25 06:55:10 +03:00
ef6fad727c meta(handoff): regen NEXT_SESSION post live-hook smoke + dist-hermes sync 2026-05-25 00:36:58 +03:00
269318dfe5 meta(handoff): regen NEXT_SESSION for cluster 7/7 done [dogfood]
Sliding overwrite после cluster milestone. Manual write по explicit user
direction — substantive-commit hook бы пропустил (предыдущий commit
2673efb prefix meta: в skip-list). Pattern «cluster-milestone regen» —
valid use case вне auto-trigger threshold.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 00:14:25 +03:00
2673efb0e7 meta(tasks): close session-handoff cluster 7/7 [test-trigger + review]
Cluster done end-to-end. Test-trigger smoke 15/15 в новой CC сессии:
6 whitelist → write-mode, 4 antipatterns → skip, ambiguity → ASK,
read-mode R1 orient+ask + R2 staleness query, hook H1/H2/H3 + first-commit
exception все matched. Review 6/6 acceptance dimensions ✓ via smoke,
0 findings. Skill v0.3.1 ships unchanged. Caveat: primed-session smoke
(same precedent as using-yt-tools-trigger-smoke-clean-session).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 00:13:44 +03:00
36e6259f25 chore(handoff): sliding overwrite NEXT_SESSION.md at session close
End-of-session write-mode invocation (trigger phrase "закрываем сессию").
Updates dogfood handoff with:
- self-referential commit 5f6e4e7 in Recent
- .admin push status (was pending → done)
- new Open трек row for unresolved dist-hermes drift
- guard against committing that drift without owner

Sliding contract — no .archive/handoff-*.md, history via git log.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 00:02:56 +03:00
5f6e4e7ed1 feat(handoff): create NEXT_SESSION.md from cluster-5 session [dogfood]
First real session-handoff write-mode invocation — building the skill
and immediately eating own dogfood. Captures handoff for the session
that will pick up [session-handoff-test-trigger] (the last blocker for
[session-handoff-review]).

Sections per SKILL.md spec: Recent commits (8 local + 1 cross-repo),
Open треки (5), Спроси user'а (3), Не делать (5 preemptive guards),
Memory updates (3). Sliding overwrite — history via git log.

Validates:
- Read mode trigger-line discovery (CLAUDE.md now has it)
- Write mode composition (.tasks/STATUS.md + git log + decisions)
- Project-scope invariant (только cwd, никаких других mutations)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 23:56:05 +03:00
b3ba22f4aa meta(tasks): fill close-note for [session-handoff-existing-projects-upgrade]
Previous commit 75d70f3 flipped the heading and _Updated_ but the body
edit silently fell through (multi-block replace miss). The block still
read "Status: ready / Where I stopped: (not started)" with the original
Path A/B next-action list — inconsistent with the 🟢 heading.

Filling the close-note now: 2 done (cwd + .admin/29724d41), 1 skip
(.workshop — workspace-contract format mismatch), 4 deferred (not on
this machine).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 23:44:48 +03:00
75d70f3a4c wiki(claude): add session-handoff trigger line + close existing-projects-upgrade
claude-skills/CLAUDE.md gains `session handoff: read on start, write on end`
between `pull remote before work` and `follow project discipline` — mirrors
the canonical project-bootstrap template (v1.12.0) and .admin/CLAUDE.md.

Existing-projects-upgrade partial close (2/7):
- ✓ cwd (this commit)
- ✓ .admin/  (separate repo commit 29724d41, NOT pushed)
- ⏭ .workshop  skip (workspace-contract prose, flat trigger doesn't fit)
- ⏭ victor/books, pilorama98.ru, pilonuxt, OpeItcLoc03/common, board-viewer
  deferred — not on this machine, per-machine upgrade in respective sessions

Closes [session-handoff-existing-projects-upgrade] (partial — pattern mirrors
using-yt-tools-test-trigger split-out).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 23:43:55 +03:00
d089df7e9f fix(session-handoff): PowerShell hook body char count [v0.3.1]
`(& git log -1 --format='%b')` in PowerShell collapses multi-line subprocess
output into string[]. The threshold check used `$body.Length` which on a
string[] returns the line count, not char count — so the body>200 condition
was effectively comparing "more than 200 lines", which is much harder to
meet. Files-count saves it in practice for big commits, but small-file
big-message commits were under-detected.

Fix: join the array back into a single string with `-join "`n"` before
measuring length. Verified via stdin-pipe smoke against current HEAD:
body chars now report 1255 (vs 29 before — the line count).

POSIX `.sh` variant unaffected — `$()` collapses output and `${#var}` is
char count.

Bump 0.3.0 → 0.3.1 PATCH (bugfix, no behavior contract change).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 23:41:26 +03:00