From 358ba143eb795e56959a0b6f6d114b7a3ecf3a93 Mon Sep 17 00:00:00 2001 From: vitya Date: Sun, 24 May 2026 23:14:11 +0300 Subject: [PATCH] meta(hermes): register session-handoff (mode: pending, intended: auto/productivity) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- .tasks/STATUS.md | 17 +++++------- .tasks/session-handoff-hermes-mapping.md | 34 ++++++++++++++++++++++++ dist-hermes/SKIPPED.md | 1 + hermes/mapping.yaml | 9 ++++++- 4 files changed, 50 insertions(+), 11 deletions(-) create mode 100644 .tasks/session-handoff-hermes-mapping.md diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index d424562..2bd6185 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -1,5 +1,5 @@ # 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 кластера закрыто.)_ + --- diff --git a/.tasks/session-handoff-hermes-mapping.md b/.tasks/session-handoff-hermes-mapping.md new file mode 100644 index 0000000..019f659 --- /dev/null +++ b/.tasks/session-handoff-hermes-mapping.md @@ -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. diff --git a/dist-hermes/SKIPPED.md b/dist-hermes/SKIPPED.md index 74c59e8..03cf28d 100644 --- a/dist-hermes/SKIPPED.md +++ b/dist-hermes/SKIPPED.md @@ -17,5 +17,6 @@ Do not edit by hand — edit the mapping and re-run the build. ## 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-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` diff --git a/hermes/mapping.yaml b/hermes/mapping.yaml index ea9797d..0246356 100644 --- a/hermes/mapping.yaml +++ b/hermes/mapping.yaml @@ -142,7 +142,7 @@ skills: mode: skip reason: "Claude-Code-only orchestrator — Hermes uses hermes-installer-skill instead." - # ─── pending (1 — behavioral audit required) ───────────────────────── + # ─── pending (3 — behavioral audit required) ───────────────────────── using-yt-tools: mode: pending @@ -157,3 +157,10 @@ skills: mode: auto 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." + + 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."