diff --git a/.tasks/NEXT_SESSION.md b/.tasks/NEXT_SESSION.md index d972a59..9d8e7b0 100644 --- a/.tasks/NEXT_SESSION.md +++ b/.tasks/NEXT_SESSION.md @@ -1,48 +1,49 @@ --- _last_updated_: 2026-05-25 -session_id: 2026-05-25-hook-fix-and-real-e2e-smoke +session_id: 2026-05-25-board-cleanup-synology-retire --- # Next session handoff -Live-hook e2e smoke **реально** закрыт после fix'а `f1be677` (v0.3.3). До этого hook был мёртв на Windows из-за PowerShell-style `$env:USERPROFILE` в install snippet — Claude Code запускает hook command через git-bash, который мангляет `$env:USERPROFILE` в `":USERPROFILE\..."` и PowerShell падает на bad filename. Synthetic replay через PowerShell tool в обход harness давал false-positive «работает». Retract'нул вчерашний optimistic закрытие cluster-item. - -Fix: install snippet в `hooks/README.md` теперь рекомендует **литеральный абсолютный путь** `C:\Users\\.claude\...` с явным «Why literal path» разделом (объясняет почему `$env:VAR` / `%VAR%` / `~` все ломаются через bash-harness chain). Settings.json на этой машине обновлён, CC получил перезагрузку, hook теперь surface'ит `additionalContext` post-substantive-commit (verified this session — этот handoff пишется ровно после такого surface'а). +Two-commit board hygiene session: archived 56 done-blocks из STATUS.md в `.archive/done-2026-05.md` (cleanup), затем retired `using-synology-ops` skill после permanent NAS decommission. STATUS.md shrunk 1467 → 230 строк, 11 → 9 active blocks. Repo + user-config side оба прочесаны (skill source, hermes mapping, dist-hermes artifact, installed `~/.claude/skills/using-synology-ops/`, MCP server entry в `~/.claude.json`). ## Recent commits +- `3f8262b` feat(retire): drop using-synology-ops skill — NAS decommissioned +- `c62d6c3` meta(tasks): close 2 synology-ops tasks as wontfix +- `3810945` meta(tasks): archive done batch 2026-05 → .archive/done-2026-05.md +- `a62a7ea` meta(handoff): regen NEXT_SESSION post real e2e smoke [v0.3.3] - `f1be677` fix(session-handoff): hook command literal path [v0.3.3] -- `ef6fad7` meta(handoff): regen NEXT_SESSION post live-hook smoke + dist-hermes sync -- `bcb500b` build(dist-hermes): rebuild from source (wiki 1.1.0, projects-meta 1.2.0) -- `790f1f4` docs(session-handoff): pwsh/powershell choice + restart-after-edit caveat [v0.3.2] -- `e5839bd` feat(wiki): document session-handoff skill design rationale -`f1be677` — **NOT pushed** (autopush этой сессии не давался). `bcb500b` + `ef6fad7` похоже подтянулись на origin внешне между ходами (`origin/master..HEAD` пуст до `f1be677`). +Все три новых commit'а — **NOT pushed** (autopush этой сессии не давался). origin/master отстаёт на 3 коммита. ## Open треки | Трек | Готовность | Entry-point | |---|---|---| -| **Hook propagation per-machine fix** | this machine 🟢, others ⚪ | Каждая машина с уже-enabled hook'ом имеет broken `$env:USERPROFILE` в `~/.claude/settings.json` (если устанавливали по pre-v0.3.3 snippet'у). Fix: открыть `~/.claude/settings.json`, заменить `$env:USERPROFILE` на литеральный `C:\Users\\` (Windows) или оставить как есть (Linux/macOS — bash snippet не страдает). Restart CC. Затем смоук substantive commit'ом. | -| `[session-handoff-existing-projects-upgrade]` per-machine | 4 deferred (1 done) | victor/books, victor/pilorama98.ru, victor/pilonuxt, OpeItcLoc03/common, OpeItcLoc03/board-viewer — upgrade при заходе в каждый. `.workshop/CLAUDE.md` намеренно SKIP. | +| **Push pending** | 3 commits ahead | `3810945`, `c62d6c3`, `3f8262b` ждут push. Спросить «push» / «разреши автопуш». | +| **synology-ops source repo** | ⚪ decision needed | `C:/Users/vitya/projects/synology-ops-mcp/` — отдельный repo с source MCP сервера для мёртвого NAS. Archive / delete / leave? Out of scope этого сеанса. | +| **Hook propagation per-machine** | this machine 🟢, others ⚪ | Из прошлого handoff: каждая машина с pre-v0.3.3 hook'ом имеет broken `$env:USERPROFILE`. Fix per-machine: edit `~/.claude/settings.json`, заменить на литеральный путь, restart CC. | +| `[session-handoff-existing-projects-upgrade]` per-machine | 4 deferred | victor/books, victor/pilorama98.ru, victor/pilonuxt, OpeItcLoc03/common, OpeItcLoc03/board-viewer — upgrade при заходе. `.workshop/CLAUDE.md` SKIP (format mismatch). | | `[skill-readmes]` 🟡 | infra-кластер done | next batch suggestion: caveman cluster (`caveman`, `caveman-commit`, `caveman-review`, `caveman-help`, `caveman-compress`) или active-platform / find-skills / setup-context7 / using-context7 / using-markitdown. | | `[active-platform-eval]` 🟡 | design+per-task done | resume = answer Q2 (solo 20 queries vs skill-creator HTML review first), затем eval-set kickoff. | -| ⚪ backlog (~10 tasks) | низкий priority | `install-ps1` (+`--prune`), `archive-roundtrip-test`, `skills-grouping-revisit` (≥30 skill threshold), `tdd-criteria-precommit-hook`, `tasks-board-cleanup-2026-05` (архивная чистка done-блоков), 3x using-vds-ops / using-synology-ops items. | +| ⚪ backlog (5 tasks) | низкий priority | `install-ps1 --prune`, `archive-roundtrip-test`, `tdd-criteria-precommit-hook`, `using-vds-ops-description-length-investigate`, `[tasks-board-cleanup-2026-05]` (закроется в следующем batch'е). | +| ⚪ gated | threshold | `[skills-grouping-revisit]` — ждёт count > 30 (сейчас ~24 skill). | ## Спроси user'а -- **Push разрешён?** `f1be677` (hook fix) pending push к `origin/master`. Autopush этой сессии не давался. -- **Cluster session-handoff финально закрыт?** Все 7/7 🟢 в STATUS.md, smoke реально пройден post-fix, propagation gap resolved. Можно считать кластер архивно-done и убрать из «Open треки»? -- **Что дальше?** Рекомендация: `[skill-readmes]` caveman cluster — natural next step (READMEs нужны, каждая = substantive commit = ещё точка hook-наблюдения для confidence). Альтернативы: existing-projects-upgrade per-machine (быстро через ssh + edit), active-platform-eval resume. +- **Push разрешён?** 3 commits pending (board-cleanup + 2 synology). Без grant пушить нельзя (project-discipline Rule 4). +- **`synology-ops-mcp` repo?** Source-код MCP сервера для мёртвого NAS лежит в `C:/Users/vitya/projects/synology-ops-mcp/` как отдельный git-repo. Архивировать / удалить / оставить? +- **Что дальше из 9 open треков?** Quick wins (≤30 мин): `[using-vds-ops-description-length-investigate]` (исследование memory feedback'а), `[install-ps1] --prune` (добавить flag). Большие: `[skill-readmes]` caveman cluster, `[active-platform-eval]` resume. ## Не делать (preemptive guards) -- **НЕ повторять synthetic-replay аргумент** как доказательство e2e — он валиден только для script logic, не для harness chain. Реальный smoke = реальный substantive commit + наблюдение system-reminder в **следующем** turn'е агента. -- **НЕ enable hook автоматически** в чужих settings.json — opt-in deliberate. -- **НЕ apply session-handoff к `.workshop/CLAUDE.md`** — workspace-contract format mismatch. +- **НЕ перерегистрировать `synology-ops` MCP server** в `~/.claude.json` — URL dead (`opsmcp.kzntsv.site` не существует), NAS gone permanently. Bearer token уже dead, но привычка перерегистрировать всё подряд опасна. +- **НЕ ссылаться на `using-synology-ops`** в новых skill descriptions / body — skill retired, файлов нет. +- **НЕ восстанавливать NAS-disambiguation clause** в `using-vds-ops` description — она удалена осознанно (sibling skill больше нет). - **НЕ push без явного «push» / «разреши автопуш»** — Rule 4 default ask-mode. -- **НЕ читать STATUS.md как single source** для plan'а — handoff forward-looking, не replica STATUS.md. +- **НЕ читать STATUS.md целиком** для plan'а — теперь 230 строк, но handoff forward-looking, не replica STATUS.md. ## Memory updates за сессию -- **Кандидат на feedback memory:** «PowerShell-style `$env:VAR` в Claude Code hook command'е на Windows ломается через git-bash outer shell — использовать литеральный абсолютный путь». Single observation воспроизведена и пофикшена в одной сессии, root cause confirmed двумя независимыми сигналами (user-side error + my "propagation gap"). Worth saving для предотвращения повтора на других hook'ах в будущем. **Не сохранил автоматически** — спросить user'а сохранять или нет. +- (нет на этом раунде) — никаких saves этой сессии. Кандидат из прошлого handoff (`$env:USERPROFILE` PowerShell-style в hook command'е через bash-shell ломается) — не сохранён, всё ещё валидный candidate.