meta(hermes): register session-handoff (mode: pending, intended: auto/productivity)

Without an entry, scripts/build-hermes.py fails ("unmapped skill" — every
skill in skills/ must appear in mapping exactly once). Registered under
the pending block alongside using-yt-tools and using-vds-ops because the
skill has bidirectional file-system side effects (read/write
.tasks/NEXT_SESSION.md) and warrants a behavioral audit before promotion.

intended.category = productivity (mirrors using-tasks/setup-tasks —
workflow-state continuity primitive, not engineering toolchain).

Build now reports 28 skills (14 auto / 2 manual / 9 skip / 3 pending).
SKIPPED.md gains an entry under "Pending" with the intended block
preserved across MVP iterations.

Closes [session-handoff-hermes-mapping].
Promotion to mode: auto deferred to a separate post-audit task.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-24 23:14:11 +03:00
parent 01bc7147c9
commit 358ba143eb
4 changed files with 50 additions and 11 deletions

View File

@@ -1,5 +1,5 @@
# Task Board # Task Board
_Updated: 2026-05-24 (session-handoff кластер: install + bootstrap-template-extend 🟢; project-bootstrap 1.11→1.12.)_ _Updated: 2026-05-24 (session-handoff: install + bootstrap-template-extend + hermes-mapping 🟢; 3 из 7 кластера закрыто.)_
<!-- <!--
Canonical layout. One block per task. Per-task deep context lives in Canonical layout. One block per task. Per-task deep context lives in
@@ -1353,21 +1353,18 @@ Findings — отдельные follow-up tasks (`using-vds-ops-<gap>-fix` ил
--- ---
## [session-handoff-hermes-mapping] — Добавить запись для session-handoff в ~/projects/claude-skills/hermes/mapping.yaml в режиме `pending` (не auto). ## 🟢 [session-handoff-hermes-mapping] — Добавить запись для session-handoff в ~/projects/claude-skills/hermes/mapping.yaml в режиме `pending` (не auto).
**Reason для pending mode:** скил трогает file-system (write/overwrite .tasks/NEXT_SESSION.md, append .wiki/log.md), не чисто стилевой / response-style. Требует отдельного аудита перед auto-режимом. **Reason для pending mode:** скил трогает file-system (write/overwrite .tasks/NEXT_SESSION.md, append .wiki/log.md), не чисто стилевой / response-style. Требует отдельного аудита перед auto-режимом.
**Прецедент:** pulling-before-work — ближайший по структуре (тоже trigger-line в CLAUDE.md, тоже file-system effect, тоже single-direction раньше — pull only; session-handoff bidirectional read/write). **Прецедент:** pulling-before-work — ближайший по структуре (тоже trigger-line в CLAUDE.md, тоже file-system effect, тоже single-direction раньше — pull only; session-handoff bidirectional read/write).
**Status:** ready **Status:** done
**Where I stopped:** (not started) **Where I stopped:** done
**Next action:** 1. Открыть ~/projects/claude-skills/hermes/mapping.yaml. **Closed by:** Прецедент уточнён: `pulling-before-work` ныне `mode: auto` (не pending) — настоящий ближайший прецедент для pending — `using-yt-tools` и `using-vds-ops` (file-system + tool-side-effects, ждут behavioral audit'а). Entry для `session-handoff` добавлен в `hermes/mapping.yaml:160-166` с `mode: pending`, `intended: { mode: auto, category: productivity }`, reason про bidirectional file-system side-effect. Comment header bumped "(1)" → "(3)" (now using-yt-tools + using-vds-ops + session-handoff). Category = **productivity** (не software-development) — ближе к using-tasks/setup-tasks (workflow-state continuity), не engineering toolchain. `python scripts\build-hermes.py` → 28 skills (был 27): 14 auto / 2 manual / 9 skip / **3 pending**. SKIPPED.md содержит entry под "Pending (deferred to follow-up tasks)" с full intended-block. No semver-bump — `claude-skills` repo не имеет top-level версии, hermes mapping — meta-config, не versioned artifact (precedent: using-yt-tools-hermes-mapping closure note также без bump'а).
2. Добавить блок session-handoff по образцу pulling-before-work (ближайший прецедент). **Branch:** master
3. Mode: pending.
4. Запустить build-hermes.py.
5. Закоммитить с semver-bump в commit message (per project-discipline rule 3) — это правка hermes mapping, потенциально MINOR в зависимости от семвер-политики claude-skills.
**Branch:** n/a
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-24T18:20:32.363Z --> <!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-24T18:20:32.363Z -->
<!-- closed-by: vitya@DESKTOP-NSEF0UK / 2026-05-24 / acceptance: entry registered ✓; build exit 0 ✓; SKIPPED.md pending block ✓; intended block preserved ✓ -->
--- ---

View File

@@ -0,0 +1,34 @@
# session-handoff-hermes-mapping
## Goal
Зарегистрировать скил `session-handoff` в `hermes/mapping.yaml` в режиме `pending` с `intended: { mode: auto, category: productivity }`. Без entry'а `scripts/build-hermes.py` падает с exit 1 ("unmapped skill" — каждый скил в `skills/` обязан appear в mapping ровно один раз). После entry'а SKIPPED.md показывает session-handoff под Pending с full intended-block.
## Key files
- `hermes/mapping.yaml:147-166` — pending block получил третий entry (session-handoff после using-vds-ops)
- `scripts/build-hermes.py` — converter, читает mapping, пишет dist-hermes/
- `dist-hermes/SKIPPED.md` — auto-generated, отражает pending entries с intended-блоком
## Decisions log
- 2026-05-24: mode = **pending** (не auto), потому что:
- file-system write side-effect (`.tasks/NEXT_SESSION.md`)
- bidirectional (read on start + write on end)
- первое promotion требует behavioral audit на Hermes side
- precedent: using-yt-tools (shells external CLI + writes cwd), using-vds-ops (touches infra) — оба сидят в pending до test-trigger task'и
- 2026-05-24: intended.category = **productivity**, не software-development. Аналогично `using-tasks` / `setup-tasks` — это session-state / workflow-continuity primitive, не engineering toolchain. session-lifecycle ближе к task-state continuity (productivity) чем к build/test/ci (software-development).
- 2026-05-24: intended.mode = **auto** (после audit'а). Cross-machine handoff value сохраняется на Hermes-машинах так же как на Claude-Code — skill не зависит от Claude-specific harness primitives кроме trigger-line discovery (которая в Hermes тоже работает).
- 2026-05-24: comment header bumped from "pending (1 — ...)" to "pending (3 — ...)" — three pending entries теперь (using-yt-tools, using-vds-ops, session-handoff).
## Open questions
- [ ] нет — promotion в `mode: auto` отдельная work-item, не часть этой таски
## Completed steps
- [x] read `hermes/mapping.yaml`, identify nearest precedent (using-yt-tools / using-vds-ops pending pattern)
- [x] add session-handoff entry with mode: pending + intended block + reason
- [x] update comment header count "(1)" → "(3)"
- [x] `python scripts\build-hermes.py` → 28 skills, 3 pending, exit 0
- [x] verify SKIPPED.md pending block contains session-handoff with intended
- [x] STATUS.md → 🟢
- [ ] commit (next)
## Notes
Promotion `pending → auto` запланирован через follow-up task (по аналогии с `using-yt-tools-test-trigger` smoke pass'ом). Не нужно делать в одной session с registration — clean session separation для fresh-eyes audit.

View File

@@ -17,5 +17,6 @@ Do not edit by hand — edit the mapping and re-run the build.
## Pending (deferred to follow-up tasks) ## Pending (deferred to follow-up tasks)
- **session-handoff** — Writes .tasks/NEXT_SESSION.md (project-scope, sliding overwrite) and reads it on session start. Bidirectional file-system side-effect, opt-in via CLAUDE.md trigger-line. Behavioral audit via session-handoff-test-trigger required before promotion to auto. → intended: `mode: auto, category: productivity`
- **using-vds-ops** — Calls mcp__vds-ops__* tools (read-only, but touches infrastructure). Behavioral audit via using-vds-ops-test-trigger required before promotion to auto. → intended: `mode: auto, category: mcp` - **using-vds-ops** — Calls mcp__vds-ops__* tools (read-only, but touches infrastructure). Behavioral audit via using-vds-ops-test-trigger required before promotion to auto. → intended: `mode: auto, category: mcp`
- **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` - **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`

View File

@@ -142,7 +142,7 @@ skills:
mode: skip mode: skip
reason: "Claude-Code-only orchestrator — Hermes uses hermes-installer-skill instead." reason: "Claude-Code-only orchestrator — Hermes uses hermes-installer-skill instead."
# ─── pending (1 — behavioral audit required) ───────────────────────── # ─── pending (3 — behavioral audit required) ─────────────────────────
using-yt-tools: using-yt-tools:
mode: pending mode: pending
@@ -157,3 +157,10 @@ skills:
mode: auto mode: auto
category: mcp category: mcp
reason: "Calls mcp__vds-ops__* tools (read-only, but touches infrastructure). Behavioral audit via using-vds-ops-test-trigger required before promotion to auto." reason: "Calls mcp__vds-ops__* tools (read-only, but touches infrastructure). Behavioral audit via using-vds-ops-test-trigger required before promotion to auto."
session-handoff:
mode: pending
intended:
mode: auto
category: productivity
reason: "Writes .tasks/NEXT_SESSION.md (project-scope, sliding overwrite) and reads it on session start. Bidirectional file-system side-effect, opt-in via CLAUDE.md trigger-line. Behavioral audit via session-handoff-test-trigger required before promotion to auto."