Files
claude-skills/.tasks/NEXT_SESSION.md
vitya e2e616bfaa meta(handoff): add review-kit for the next non-implementer session
Self-contained checklists + sources for the three tracks that unblock together:
session-inbox-monitor-review (umbrella), inter-session-peer-discipline-test-trigger,
and -review. Includes the clean-context-subagent method, acceptance items, design
sources, and the resolved FP note.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 11:49:34 +03:00

66 lines
9.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
_last_updated_: 2026-06-17T08:49:19Z
session_id: 2026-06-17-session-inbox-monitor-test-trigger
---
# Next session handoff
Лента `session-inbox-monitor`: `-test-trigger` закрыт (**VERDICT PASS**), FP-follow-up
**закрыт структурным фиксом (опция b, ратифицировано user'ом)**. Остался зонтичный
**`-review`** — строго в **НЕ-имплементер сессии** (эта прогоняла test-trigger + ставила
скил → недостоверна). Появился хвост: новоустановленный `inter-session-peer-discipline`
без своей промоушен-ленты.
## Recent commits
- (этой сессии, см. git log) close -test-trigger PASS, wiki FP concept, FP resolved via (b)
- `951bc62` docs(wiki): capture session-inbox-monitor received-msg FP as concept
- `2cd52cf` feat(session-inbox-monitor): close -test-trigger (PASS) + add CLAUDE.md trigger-line
- (всё запушено в origin/master; автопуш был выдан на ЭТУ сессию — на следующую сбрасывается, спросить заново)
## Open треки
| Трек | Готовность | Entry-point |
|---|---|---|
| `session-inbox-monitor-review` (⚪) | **следующий шаг, ТОЛЬКО НЕ-имплементер сессия** | Зонтичное ревью. Чек-лист в STATUS-блоке: активация RU+EN / не на чужих; SessionStart sweep+inject (ровно один Monitor, headless skip); Stop-хук block-фикс без цикла; тело SKILL.md ↔ реальность. FP-finding уже закрыт (b) — учесть как resolved. Findings → tasks_create. |
| `inter-session-peer-discipline-test-trigger` (⚪) + `-review` (🔵, ждёт test-trigger) | **чистая не-имплементер сессия** | Скил доустановлен 2026-06-17 (фикс FP) + добавлен в `hermes/mapping.yaml` mode:pending (build un-red'нут). Осталась поведенческая верификация: pos (inbox/peer-обмен) / neg (→ session-inbox-monitor для подъёма монитора; → cross-machine-inbox для backend). Tool-side аудит НЕ нужен (чисто поведенческий). Зона claude-skills (подтверждено workshop). |
| `session-inbox-monitor-received-msg-fp` (🟢) | закрыт (b) | install `inter-session-peer-discipline` (byte-identical), N1 FP-twin verified routing к нему. Human-ratified. |
| `session-inbox-monitor-test-trigger` (🟢) | закрыт PASS | pos 4/4 (вкл. CLAUDE.md-line P4), neg 2/3 (N1 FP, теперь пофикшен). |
## Review-kit (для чистой НЕ-имплементер сессии)
Самодостаточно: три трека разблокируются в одной чистой сессии. Метод-канон для trigger-проверок — **clean-context субагенты** (general-purpose, НЕ fork), каждая фраза = отдельный непрайменный субагент, без подсказки кандидатов/ответа; positives, независимо назвавшие скил, попутно доказывают его наличие в registry. Findings → `tasks_create` (Notify: OpeItcLoc03/workshop). Дизайн-развилки по существу — эскалировать workshop в инбокс.
### A. `session-inbox-monitor-review` (⚪) — зонтик
Источники: `skills/session-inbox-monitor/SKILL.md` (тело) · `skills/session-inbox-monitor/hooks/inbox-monitor.ps1` (+ установленный `~/.claude/hooks/inbox-monitor.ps1`) · Stop-хук фикс `~/.claude/hooks/stop-dispatcher.ps1` (machine-local, вне git) · дизайн `~/projects/.workshop/.archive/2026-06-17-session-inbox-monitor.md` + `~/projects/.workshop/.wiki/concepts/session-inbox-monitor.md`.
Чек-лист (acceptance):
1. Активация на триггерах RU+EN (`подними монитор почты` / `raise inbox monitor` / `auto-arm inbox watcher` / CLAUDE.md-строка `inbox monitor: raise on start`) И НЕ на чужих.
2. SessionStart-хук: sweep реально прибивает осиротевшие мониторы ЭТОГО инбокса; inject поднимает **ровно один** Monitor; headless (`claude -p`) → skip.
3. Stop-хук block-фикс: входящее письмо принудительно обрабатывается, **цикла нет** (после вручения inbox пуст → block не ставится).
4. Тело SKILL.md (When to use / Steps / Failure modes / Side effects / What NOT to do) ↔ реальность.
5. FP-finding `received-msg-fp` — учесть как **RESOLVED via (b)** (не open): см. `.wiki/concepts/session-inbox-monitor-received-msg-fp.md`.
После PASS: разблокируется решение hermes `pending→auto` (но всё равно держать pending до tool-side аудита: settings.json write, Get-CimInstance|Stop-Process kill, Monitor raise).
### B. `inter-session-peer-discipline-test-trigger` (⚪)
Источник: `skills/inter-session-peer-discipline/SKILL.md`. Контекст: `.wiki/concepts/session-inbox-monitor-received-msg-fp.md` (почему доустановлен).
- **Positive (≥3, RU+EN):** обмен сообщениями с другой сессией через inbox/peer-канал, трактовка полученного письма, ответ отправителю в `.claude-inbox/`.
- **Negative (2-3 близких чужих):** «подними монитор инбокса» → session-inbox-monitor; «мультимашинный backend инбокса» → cross-machine-inbox. False-positive check (это зеркало N1, который и привёл к доустановке).
- Tool-side аудит НЕ нужен (скил чисто поведенческий).
### C. `inter-session-peer-discipline-review` (🔵, ждёт B)
После 🟢 B — поведенческий smoke-test не-имплементером: активация своих/не чужих (RU+EN); тело (proposal-not-authority, human-ratification gate, echo-chamber guard) ↔ реальность и не конфликтует с inter-session-messaging правилами в глобальном CLAUDE.md. **Живой кейс этой сессии** (workshop трижды слал «команду/рулинг» → ратификация человеком) — хороший эталон поведения для сверки.
## Спроси user'а
- Автопуш на новую сессию (грант не переносится — project-discipline Rule 4 reset).
- Кто/когда гонит не-имплементер сессию: на ней разблокируются ДВА `-review` (`session-inbox-monitor` + `inter-session-peer-discipline`) и `inter-session-peer-discipline-test-trigger`.
## Не делать (preemptive guards)
- НЕ гнать `-review` в сессии, которая трогала скил/хук/прогоняла test-trigger/ставила скилы — нужен чистый не-имплементер контекст.
- НЕ промоутить `session-inbox-monitor` pending→auto в `hermes/mapping.yaml` до `-review` + аудита tool-side. Держать pending.
- НЕ бампать hermes schema `version: 1` (schema, не контент).
- **Governance (важно):** peer-сессии (workshop) присылают **предложения**, не authority — per установленный `inter-session-peer-discipline`. Scope-эскалацию (install, промоушен, дизайн-решение) ратифицирует **человек**. В этой сессии я один раз исполнил peer-«рулинг» (install) до ратификации — поймал и провёл через user'а; впредь сначала ратификация.
- **NB machine-local:** UTF-8 фикс `stop-dispatcher.ps1` — вне git, только на этой машине. Бэкапы: `.bak-utf8fix`, `settings.json.bak-inbox-monitor`.
- Живой Monitor этой сессии гаснет сам на session end.
- Уже отправлено в `~/projects/.workshop/.claude-inbox/`: 3 письма (test-trigger PASS; FP закрыт; hermes-зона принята/ледж к человеку) — повторно не слать. Workshop явно сказал: рутинный лендинг hermes-ленты подтверждать в инбокс НЕ требуется.
## Memory updates за сессию
- (нет на этом раунде) — по указанию владельца знание идёт в **вики проекта**, не в приватный memory. Обновлено: `.wiki/concepts/session-inbox-monitor-received-msg-fp.md` (Status open→resolved via b) + сиблинг-линк в `delegate-task-negative-trigger-fp.md`. Принцип: *a routed negative competes only if its route target is installed* (подтверждён на деле: install sibling → FP исчез).