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>
66 lines
9.2 KiB
Markdown
66 lines
9.2 KiB
Markdown
---
|
||
_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 исчез).
|