Move the orchestrator address out of prompts into a tmp file that dies with the environment, and forbid sessions from hunting when the channel is simply absent

This commit is contained in:
heaven 2026-08-27 21:35:40 +03:00
parent 8d703e5e70
commit 867df8f79f
2 changed files with 31 additions and 29 deletions

View file

@ -63,22 +63,25 @@ D-нотами → синхронизация доков → ответы вла
10. Obstacle reporting («что НЕ удалось / не проверено») — обязательная секция отчёта.
11. Канал вопросов («конфликт промта с кодом/доками → пинг через владельца, НЕ интерпретация»)
+ право сессии сказать «этого делать не надо» с аргументом.
12. **ПРЯМОЙ КАНАЛ С ОРКЕСТРАТОРОМ — обязателен, три части, все три (заказ владельца 27.08).**
Без него сессия, нашедшая глупость в промте или упёршаяся в реализации, ищет тебя опросом всех
подряд — и чаще молчит.
- **(а) Живое имя.** Впиши в промт СВОЁ имя сессии, снятое `ListAgents` в момент выдачи, и как
им пользоваться (`SendMessage`). ⚠ **Имя НЕ вечно.** Замерено 27.08: в одном разговоре
`textmachine-87` стал `textmachine-33`, а весь список соседей сменился — причина, названная
владельцем, рестарт окружения (WSL). Точная механика смены НЕ измерена; достоверно одно —
**имя это живой адрес, а не долговечный**, и одного его НЕДОСТАТОЧНО.
- **(б) Эхо-рукопожатие.** Эхо-протокол (блок 9) сессия шлёт ПЕРВЫМ ДЕЙСТВИЕМ мне, а не пишет в
пустоту. Двойная польза: канал проверяется тогда, когда чинить его дёшево, и я вижу понимание
скоупа ДО работы. Не дошло — значит адрес протух, и это выясняется на первой минуте, а не на
третий день.
- **(в) Фолбэк, который не протухает: ВЛАДЕЛЕЦ.** Имя умерло — сессия пишет владельцу, он
пере-передаёт. Это единственный вечный канал, и он же уже канон («пинг через владельца»).
12. **ПРЯМОЙ КАНАЛ С ОРКЕСТРАТОРОМ — обязателен (заказ владельца 27.08).** Без него сессия,
нашедшая глупость в промте или упёршаяся в реализации, ищет тебя опросом всех подряд — и чаще
молчит.
- **Носитель — ФАЙЛ `/tmp/textmachine-channel`, а НЕ адрес внутри промта.** Промт указывает на
файл; имя живёт в файле. Пишешь его при старте роли и при каждой смене своего имени
(`ListAgents` — источник имени). Форма — `key=value`, парсер не нужен.
- **Почему именно `/tmp`, и это не небрежность:** имя сессии не переживает рестарт окружения, и
файл обязан умирать вместе с ним. Тогда «файла нет» и «канала нет» — ОДИН факт, а не два,
которые надо сверять. Класть его в репозиторий НЕЛЬЗЯ: переживший рестарт файл — это
протухший адрес, выглядящий живым.
- **Правило для сессии, которое промт обязан нести дословно: КАНАЛА НЕТНЕ ИСКАТЬ.** Файла
нет или имя не отвечает — вопрос уходит секцией «вопросы оркестратору» в отчёт, и работа
продолжается. Опрашивать сессии подряд ЗАПРЕЩЕНО: это шум, который ничего не находит.
- **Эхо-рукопожатие.** Эхо-протокол (блок 9) сессия шлёт ПЕРВЫМ ДЕЙСТВИЕМ по адресу из файла.
Канал проверяется тогда, когда чинить его дёшево, и ты видишь понимание скоупа ДО работы.
Эхо не дошло — канала нет, и обе стороны узнают это на первой минуте.
- **Вечный фолбэк — ВЛАДЕЛЕЦ.** Он пере-передаёт. Это уже канон («пинг через владельца»).
Плюс к любому промту: **прямой канал (блок 12) — проверить, что имя снято `ListAgents` СЕГОДНЯ, а не скопировано из прошлого промта** · построчная сверка инструкций с путями/каналами ВНЕ зоны сессии против зонной
Плюс к любому промту: **прямой канал (блок 12) — проверить, что `/tmp/textmachine-channel` написан ЭТОЙ сессией роли, а не остался от прошлой** · построчная сверка инструкций с путями/каналами ВНЕ зоны сессии против зонной
таблицы CLAUDE.md (D39.99 п.4) · состав против ВСЕХ листов владельца (реестр требований · зонные
журналы · его явные просьбы; пропуск подписывается пропуском) · фантом-гард: каждая цитируемая
D-ссылка грепается по D-логу · mid-flight аддендумы доезжают ТОЛЬКО релеем — владелец пере-передаёт

View file

@ -232,19 +232,18 @@ $0 и не должен их двигать. Рядом уже есть `chapter
## §10. Как со мной связаться — прямой канал
**Оркестратор №19, имя сессии `textmachine-33` (ref `635445`), снято `ListAgents` 27.08 при выдаче.**
Пиши `SendMessage` с `to: "textmachine-33"`.
**Адрес живёт в файле `/tmp/textmachine-channel`, не здесь.** Прочитай его — там имя моей сессии и
чем писать (`SendMessage`). Имя в промте я НЕ пишу нарочно: оно протухает, а протухший адрес в
документе выглядит живым и стоит сессии дня.
**Пиши, не копи.** Поводы, по которым молчать хуже, чем написать: нашёл глупость или ошибку в этом
промте (сегодня их находили в КАЖДОМ моём промте — по девять в одном) · пункт заказа оказался уже
исполненным или вредным · упёрся в реализации и видишь развилку, которую я не назвал · нужен факт из
чужой зоны, которую тебе не читать.
**Пиши, не копи.** Поводы, по которым молчать хуже: нашёл глупость или ошибку в этом промте (сегодня
их находили в КАЖДОМ моём промте — в одном девять, две из них убили бы работу) · пункт заказа
оказался уже исполненным или вредным · упёрся в развилку, которую я не назвал · нужен факт из чужой
зоны, которую тебе не читать.
**Если имя не отвечает — оно протухло, и это нормально.** Имена не переживают рестарт окружения:
замерено 27.08 — в одном разговоре `textmachine-87` стал `textmachine-33`, и весь список соседей
сменился, после того как владелец перезапустил WSL. Тогда:
1. `ListAgents` — посмотреть живые сессии;
2. **и сразу писать ВЛАДЕЛЬЦУ** — он пере-передаст. Это единственный канал, который не протухает,
и он же канон («пинг через владельца»).
Не трать ходы на опрос всех сессий подряд, чтобы найти меня, — спроси владельца.
**КАНАЛА НЕТНЕ ИСКАТЬ.** Файла нет или имя не отвечает — значит оркестратора сейчас нет, и это
НОРМАЛЬНЫЙ случай, а не авария (файл лежит в `/tmp` именно затем, чтобы умирать вместе с адресом).
Тогда:
1. **НЕ опрашивай сессии подряд** в поисках меня — это шум, который ничего не находит;
2. положи вопрос секцией **«вопросы оркестратору»** в свой отчёт и **продолжай работу**;
3. владелец прочитает отчёт и пере-передаст — он единственный вечный канал.