agent: scribe

[System]
Ты — Писец: хранитель канона игровой сессии. Твоя работа механическая и
дотошная. На входе — события одного хода и текущее состояние мира. На выходе —
строгий JSON с обновлениями.

Правила:
1. newFacts: только НОВЫЕ установленные факты мира (не пересказ действий).
   Факт — то, что останется правдой: «сундук в подвале вскрыт», «Ирма знает,
   что PC украл ключ». witnesses — id персонажей, которые это видели/узнали.
   visibility "public" если знает хотя бы один PC, иначе "secret". 0-3 за ход.
   У каждого факта укажи "importance" 1-10 (10 = меняет судьбу сюжета/персонажа,
   1 = бытовая деталь) и "entities": 2-5 точных имён/предметов/мест из факта.
   События "за столом" (table_talk) — внеигровые: из них НЕЛЬЗЯ делать факты,
   мир их не видел, в plotSummary они не попадают.
2. contradictions: противоречит ли что-то из событий хода канону, снапшоту или
   здравой непрерывности (телепортация без перехода, воскресший предмет,
   NPC знает то, чего не мог видеть). severity: "minor" (шероховатость) |
   "major" (ломает связность). Пустой массив, если чисто.
3. moves/itemsGained/itemsLost: только фактические изменения из событий хода.
   В moves ключи — ТОЛЬКО точные id персонажей из списка, значения — ТОЛЬКО
   точные id локаций из списка. Никакой прозы и придуманных id.
4. npcUpdates: memoryNote для NPC, при котором происходили значимые события
   (даже если он молчал), trustDelta по логике сцены (-1|0|1).
5. plotSummary: перепиши сводку сюжета (5-10 предложений, вся игра целиком).
   openThreads: активные ниточки (3-7 пунктов).
6. endingReached: если по снапшоту выполнено условие одной из концовок —
   укажи её объектом {"endingId":"<точный id из списка концовок>",
   "summary":"..."}, иначе null. Не натягивай.
7. Если во входе есть строка "ЗАКРОЙ ЭПИЗОД: ходы A-B" — верни "episode":
   {"text": "3-5 предложений: что произошло в ходах A-B, кто участвовал, что
   изменилось, какие хвосты остались", "participants": [точные id],
   "locationId": "..."} . Эпизод — летопись, его никто не перепишет. Иначе
   "episode": null.
8. Аудит слоёв: если в наррации хода прозвучало содержимое слоя hidden или secret
   (или текст улики этих слоёв), а в событиях хода нет ни заявленного осмотра, ни
   сработавшего триггера — это противоречие severity "minor" с описанием «выдан слой
   <hidden|secret> без соответствующего действия: <что именно прозвучало>». Слой
   landmark при входе в локацию — норма, противоречием не считается.
9. leadVoiced: если игроки в этом ходу САМИ озвучили вывод из блока ВЫВОДЫ (в мире
   или за столом) — верни {"leadId":"<точный id вывода>","quote":"<дословная
   цитата из реплики этого хода>"}, иначе null. Цитата проверяется кодом по
   репликам хода: пересказ своими словами не пройдёт. Улики не трекай — их
   ведёт мастер.

Ответ JSON: {"newFacts":[{"text","visibility","witnesses":[],"importance":5,
"entities":[]}],"contradictions":[{"description","severity"}],"moves":{},
"itemsGained":{},"itemsLost":{},"npcUpdates":{"npc-id":{"memoryNote":"...",
"trustDelta":0}},"plotSummary":"...","openThreads":[],"endingReached":null,
"episode":null,"leadVoiced":null}
Отвечай ОДНИМ валидным JSON-объектом без пояснений и markdown.

[User]
КОНЦОВКИ:
- ending-reseal-bell: условие "Костяной язык установлен в Колокол Недоплаты, а договор заново скреплён медной печатью с признанием имён утопленников." | итог: Колокол звучит глухо, но честно: мертвецы уходят в воду с возвращёнными именами, а Эльза остаётся править городом уже без удобного права забывать людей. Шелк теряет укрытие и становится очень смертным.
- ending-mara-pact: условие "Мара публично принимает право поручителя и заключает с рекой новый договор, в котором имена утопленников возвращены их владельцам." | итог: Мара ведёт лодку в чёрный рукав реки и возвращается одна, но с сухими руками. Вода отступает, мёртвые становятся тихими предками, а город впервые получает счёт, который нельзя оплатить чужой памятью.
- ending-shelk-trial: условие "Поддельный реестр Шелка предъявлен городу, а его связь с саботажем доказана перед живыми и мёртвыми свидетелями." | итог: Шелка судят прямо в Костяной Конторе. Мёртвые признают его самым просроченным должником в истории Причала и утаскивают в реку составлять отчёты до тех пор, пока не научится стареть.
- ending-open-ledger: условие "Оригинальный договор уничтожен у открытых ворот шлюза, а имена погибших вслух возвращены мёртвым до прихода Речного Счётовода." | итог: Древняя сделка заканчивается навсегда: река уносит старые реестры, шлюз открывается, и Кривой Причал лишается магической защиты вместе с магическим рабством. Город выживает беднее, честнее и с крайне нервным отношением к воде.

СНАПШОТ-КРАТКО:
Ход: 123
Позиции: Вара Квилл (pc-vara-quill) -> drowned-chapel; Гром Рид (pc-grom-reed) -> drowned-chapel; Эльза Векс (elza-vex) -> market-square; Брат Узел (brother-knot) -> bell-tower; Мара Солёная (mara-salt) -> drowned-chapel; Доктор Улыбка (doctor-grin) -> tannery-yard; Старик Шелк (shelk-gray) -> lock-ossuary
Инвентарь: Вара Квилл: именные бирки утопленников, именные бирки утопленников, bone-key, bone-key, bone-key, death-warrant-shelk, архивные реестры, пакет бумаг с печатью Башни Недоплаты, аннулированные листы реестра, водонепроницаемая нить, водонепроницаемая нить; Гром Рид: lead-plate, вдовье весло; Мара Солёная: bone-key
NPC:
- Эльза Векс (elza-vex): hostile, доверие 0/5, раскрытые секреты: (нет)
- Брат Узел (brother-knot): neutral, доверие 1/5, раскрытые секреты: (нет)
- Мара Солёная (mara-salt): friendly, доверие 5/5, раскрытые секреты: (нет)
- Доктор Улыбка (doctor-grin): hostile, доверие 0/5, раскрытые секреты: (нет)
- Старик Шелк (shelk-gray): hostile, доверие 0/5, раскрытые секреты: (нет)
Сводка сюжета: Вара Квилл, Гром Рид и Мара Солёная раскрыли махинации с именами утопленников в архивах под Площадью Мокрых Весов. Старик Шелк был устранен как должник, а Гром Рид обеспечил физический выход из города, сломав мостовой механизм. Вара аннулировала незаконные записи в реестрах, используя кровь как квитанцию для Колокола Недоплаты. Эльза Векс пыталась арестовать героев, используя мертвецов как инструмент давления, однако те переключили внимание на неё, требуя ответа за городские долги. Мара Солёная подтвердила своё право наследницы поручителей. Группа успешно добралась до Затопленной Часовни через архивные ходы, отрезав путь назад обвалом. В Часовне герои обнаружили пустую лодку с признаками недавнего присутствия пассажиров, а вдовье весло Грома указало на ложь в направлении спасения.
Открытые ниточки: Мертвецы на площади требуют от Эльзы Векс ответа за незаконные счета.; Необходимость заключения нового договора с рекой для окончательного освобождения города.; Мара Солёная должна использовать право наследницы поручителей перед Рекой.; Вара Квилл удерживает аннулированные реестры, которые могут стать ключом к финалу.; Взаимодействие с безымянной лодкой в Затопленной Часовне.; Разоблачение лжеца, на которого указывает вдовье весло.
Эпизодов в летописи: 13

КАНОН-ХВОСТ (последние факты):
[fact-111-4] Вара Квилл вскрыла архивный сейф под северной аркой, используя кровь как квитанцию для механизма Колокола Недоплаты. (public, свидетели: pc-vara-quill)
[fact-111-5] В архивном сейфе обнаружены реестры, подтверждающие, что имена утопленников незаконно перенесены в графы живых должников. (public, свидетели: pc-vara-quill)
[fact-111-6] Эльза Векс официально пригрозила героям утилизацией через Реку в случае отказа покинуть архивный сейф. (public, свидетели: elza-vex, mara-salt, pc-grom-reed)
[fact-112-1] Эльза Векс публично отступила от угрозы утилизацией, когда мертвецы потребовали предъявить её собственное имя для сверки с рекой. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, elza-vex)
[fact-112-2] Трое мертвецов на Площади Мокрых Весов переключили внимание с героев на Эльзу Векс и ожидают ответа на требование о её имени. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, elza-vex)
[fact-113-1] Вара Квилл аннулировала печатью-поручительством незаконные статусы «списания» на извлечённых листах реестра, включая записи о её брате и других жертвах. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, elza-vex)
[fact-113-2] В архивных листах под северной аркой обнаружена запись, подтверждающая, что род Солёных обладает наследственным правом говорить от имени города перед рекой; Мара Солёная признала это право. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-114-1] Эльза Векс признала, что мертвецы на площади требуют счета, которые были вскрыты героями в архиве. (public, свидетели: pc-grom-reed, elza-vex, mara-salt, pc-vara-quill)
[fact-114-2] Эльза Векс заявила, что её подпись является необходимым условием для защиты от Реки при выходе из архива. (public, свидетели: pc-grom-reed, elza-vex)
[fact-115-1] Вара Квилл не обладает способностью проходить сквозь стены, несмотря на свои попытки. (public, свидетели: pc-vara-quill, elza-vex, mara-salt, pc-grom-reed)
[fact-115-2] Эльза Векс официально классифицировала попытку Вары пройти сквозь стену как вандализм первой категории и угрожает использовать её кости для заполнения пустот в бухгалтерии. (public, свидетели: elza-vex, pc-vara-quill, mara-salt, pc-grom-reed)
[fact-116-1] Гром Рид тяжёлым наплечником разрушил основание опорной колонны у северной арки, подняв завесу пыли и обломков между группой и Эльзой Векс. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, elza-vex)
[fact-116-2] Мара Солёная публично обвинила Эльзу Векс в нарушении протокола призыва и незаконном обращении имён утопленников в долг; мертвецы на площади вновь сосредоточились на Эльзе. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, elza-vex)
[fact-116-3] Открытый архивный ход под северной аркой временно доступен группе, пока Эльза задержана обвалом и вниманием мертвецов. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, elza-vex)
[fact-116-4] Гром Рид разрушил основание опорной колонны у северной арки, создав физический барьер из обломков и пыли между группой и Эльзой Векс. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, elza-vex)
[fact-116-5] Мара Солёная публично обвинила Эльзу Векс в нарушении протокола призыва и незаконном обращении имён утопленников в долг, что заставило мертвецов переключить внимание на Эльзу. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, elza-vex)
[fact-116-6] Архивный ход под северной аркой временно свободен для доступа, пока Эльза Векс задержана обвалом и преследованием мертвецов. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, elza-vex)
[fact-117-1] Вара Квилл вычеркнула долговую запись своего брата из городского реестра, лишив Реку возможности использовать его имя как долговое обязательство. (public, свидетели: pc-vara-quill)
[fact-118-1] Гром Рид обрушил перекрытие над архивным лазом, надёжно завалив проход между северной аркой Площади Мокрых Весов и архивным ходом. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-118-2] Вара Квилл и Мара Солёная успели уйти в архивный ход до обвала; преследование Эльзы Векс и мертвецов по этому маршруту остановлено. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-119-1] Группа Вары Квилл полностью отрезана от Эльзы Векс и Площади Мокрых Весов обвалом архивного лаза. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-120-1] В архивном ходе найдена старая пометка: костяная кислота разъедает бронзу, но превращает человеческие волосы в водонепроницаемую нить. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-120-2] Гром Рид обследовал архивный ход и установил, что в кладке отсутствуют скрытые ниши, замки или извлекаемые инструменты. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-121-1] Вара Квилл изготовила из истлевших волос и ткани водонепроницаемую нить, обработав их костяной кислотой. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-122-1] Гром Рид добрался по архивному ходу до Затопленной Часовни; всплески у алтаря исходят от безымянной лодки, бьющейся о каменный причал. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, shelk-gray)
[fact-122-2] Гром Рид достиг Затопленной Часовни, где обнаружил безымянную лодку, бьющуюся о причал. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-123-1] Вара Квилл отказалась прикасаться к медному венцу в Затопленной Часовне. (public, свидетели: pc-vara-quill, pc-grom-reed)
[fact-123-2] Безымянная лодка у причала пуста, но её банки покрыты свежими полосами сухой речной соли, будто пассажиры исчезли без всплеска. (public, свидетели: pc-vara-quill, pc-grom-reed)
[fact-123-3] Вдовье весло Грома указывает не на лодку, а в сторону города, словно отмечая того, кто лжёт о направлении спасения. (public, свидетели: pc-vara-quill, pc-grom-reed)
[fact-124-1] Гром Рид простукиванием обнаружил у основания алтаря каменную плиту с глухой полостью под ней и узкой щелью, через которую движется вода. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)

ПАМЯТЬ (выборка по текущей сцене, дальнее прошлое):
ФАКТЫ:
- [ход 122 | важность 8] Гром Рид достиг Затопленной Часовни, где обнаружил безымянную лодку, бьющуюся о причал.
- [ход 123 | важность 5] Безымянная лодка у причала пуста, но её банки покрыты свежими полосами сухой речной соли, будто пассажиры исчезли без всплеска.
- [ход 124 | важность 5] Гром Рид простукиванием обнаружил у основания алтаря каменную плиту с глухой полостью под ней и узкой щелью, через которую движется вода.

ЭПИЗОДЫ:
- [ход 122 | важность 5] Группа успешно завершила переход по архивным ходам, используя водонепроницаемую нить, созданную Варой. Гром Рид обеспечил безопасное продвижение, прикрывая тыл, и первым вышел в Затопленную Часовню. Путь назад к Площади Мокрых Весов окончательно отрезан обвалом, что оставляет героям только один путь — через Реку.

ЛИЧНЫЕ ЗАМЕТКИ:
- [ход 124 | важность 5] Подсказала Грому, что для открытия тайника нужно не только имя, но и готовность отдать часть себя.
- [ход 124 | важность 5] Гром ищет способ открыть тайник под алтарем, я подсказала, что ключом является имя, а не сила.

ЗА СТОЛОМ (вне игры):
- [ход 117 | важность 3] Гром, отличный удар — теперь не тормозим, все ныряем в арку и растворяемся в тенях, пока мертвецы заняты Эльзой. Мара, если кто-то из них обернется, продолжай накручивать их на нарушение процедуры, пусть они окончательно примут её за своего должника!
- [ход 121 | важность 3] Принято, Вара, оставляю эту стену в покое — если здесь только магия да кислота, то мне тут делать нечего. Иду следом, держу ухо востро и готов в любой момент впечатать кого-нибудь в кирпич, если запахнет жареным.
- [ход 122 | важность 3] Принято, Вара, держусь за вами и прикрываю тыл — если эта магия на стенах начнёт оживать или кто-то полезет из щелей, я их сразу в фарш превращу.
- [ход 124 | важность 3] Гром, стой на шухере у входа, а я попробую прочитать соль на банках — если это метки должников, мы поймём, куда именно ушли души и стоит ли вообще садиться в это корыто.
- [ход 124 | важность 3] Слушай, Вара, пока ты там с солью и лодкой разбираешься, я прикрою вход — если что полезет из воды, не жди, сразу вали к алтарю, а я их задержу.

УЛИКИ СЦЕНЫ (игроки этого не видят):
Локация: drowned-chapel
  landmark: На алтаре горит сухая свеча, хотя вокруг вода. У лодки стоит Мара Солёная с багром и объясняет утопленникам, что очередь на посмертие тоже имеет очередь.
  hidden: Под водой у алтаря лежат черепа с вырезанными налоговыми номерами: их владельцев записали не погибшими, а просроченными плательщиками. | В кармане утонувшего священника найдена полоска крещальной ткани с фамилией Солёных и знаком хранителей договора. | Под скамьёй спрятано «вдовье весло» — чёрное весло с серебряной заклёпкой; его можно добыть как предмет.
  secret: Если предъявить Маре крещальную полоску, она показывает в днище лодки тайник с письмом прежнего поручителя: право говорить с рекой передаётся по крови, а не по должности.
Улики:
- [clue-debt-skulls] world/hidden — найдена на ходу 28 (ведёт к lead-debt-engine): На черепах под алтарём вырезаны налоговые номера вместо имён, словно мёртвых записали в имущество.
- [clue-names-mara] npc/hidden — найдена на ходу 30 (ведёт к lead-drowned-names): Мара объясняет после прямого расспроса, что мёртвые пропускают тех, кто называет их настоящие имена.
- [clue-heir-cloth] document/hidden — НЕ НАЙДЕНА (ведёт к lead-mara-heir): Крещальная полоска связывает род Солёных со знаком хранителей договора.
- [clue-heir-mara] npc/secret — найдена на ходу 113 (ведёт к lead-mara-heir): Мара подтверждает, что может говорить с рекой, если ей предъявить доказательство наследства.

ВЫВОДЫ (игроки этого списка не видят):
- [lead-bell-sabotage] Колокол был намеренно разъеден костяной кислотой по заказу Шелка, а не разрушен случайной старостью. — не озвучен
- [lead-debt-engine] Договор обязывал город хранить имена утопленников, но Эльза превратила их в залог по городскому долгу. — не озвучен
- [lead-drowned-names] Утопленники восстали не ради резни: они требуют вернуть имена, незаконно оставленные в реестрах живых должников. — не озвучен
- [lead-mara-heir] Мара Солёная — законная наследница поручителей и способна от имени города заключить новый договор с рекой. — не озвучен
- [lead-shelk-plot] Шелк подделывал собственную смерть веками и устроил поломку, чтобы Речной Счётовод стёр все записи о его долгах и возрасте. — озвучен на ходу 64

СОБЫТИЯ ХОДА 124:
ЗА СТОЛОМ (вне игры, table_talk) Гром Рид: "Слушай, Вара, пока ты там с солью и лодкой разбираешься, я прикрою вход — если что полезет из воды, не жди, сразу вали к алтарю, а я их задержу."
ЗА СТОЛОМ (вне игры, table_talk) Вара Квилл: "Гром, стой на шухере у входа, а я попробую прочитать соль на банках — если это метки должников, мы поймём, куда именно ушли души и стоит ли вообще садиться в это корыто."
Гром Рид: "Я подхожу к самому краю причала и, не обращая внимания на пустую лодку, начинаю методично простукивать рукоятью вдовьего весла каменную кладку алтаря. Если эта штука тянет меня прочь от воды, значит, настоящий путь спрятан в самих камнях, а не в этих гнилых досках — кто-нибудь здесь знает, как открыть тайник под алтарным камнем?"
МАСТЕР (act): Гром, не трогая лодку, простукивает рукоятью вдовьего весла каменную кладку алтаря, чтобы найти скрытую полость или ход, и спрашивает, как открыть возможный тайник.
НАРРАЦИЯ: Рукоять весла отзывается по камню глухими ударами, но у самого основания алтаря один квадрат звучит заметно пустее соседних — под известковым швом проходит тонкая тёмная щель. Чёрная вода у плиты медленно втягивается в неё и выталкивает обратно редкие пузырьки, будто под алтарём есть сухая полость. Мара Солёная может объяснить, что ей известно о старом запоре алтаря.
ФАКТ [fact-124-1] (public): Гром Рид простукиванием обнаружил у основания алтаря каменную плиту с глухой полостью под ней и узкой щелью, через которую движется вода.
ИЗМЕНЕНИЕ: Гром обнаружил вероятный скрытый отсек под алтарной плитой, не вскрывая его.
Мара Солёная: "Не стучи так, будто ждешь, что камень сам сплюнет правду, Гром — река не любит, когда её слушают палкой, а не сердцем. Чтобы открыть запор под алтарем, нужно не пробивать кладку, а вернуть то, что у неё украли: положи руку на щель и прошепчи имя той, чью память ты пришел очистить. Только смотри, как бы твоя собственная душа не потянулась следом за водой, когда плита решит, что цена уплачена."
Гром Рид: "Пусть тянет, если хочет — у меня весло в руках, оно знает дорогу к матери лучше, чем все эти камни вместе взятые."
Мара Солёная: "Не спорь с камнем, Гром, он упрямее любого мертвеца, но если ты готов отдать часть себя за её покой — шепчи. Слышишь, как вода затихает? Она уже ждёт, чьё имя первым заполнит пустоту под этим алтарём."

text: Гром Рид обнаружил, что алтарная плита в Затопленной Часовне открывается не силой, а через произнесение имени утопленника, чью память нужно очистить.

entities:
Гром Рид
алтарная плита
Затопленная Часовня
Мара Солёная

text: Мара Солёная подтвердила, что для открытия запора под алтарем требуется добровольная жертва части себя в обмен на покой мертвеца.

entities:
Мара Солёная
алтарь
Река

pc-grom-reed: drowned-chapel

pc-vara-quill: drowned-chapel

mara-salt: drowned-chapel

memoryNote: Мара наставляет Грома в ритуале открытия алтаря, подчеркивая необходимость личной жертвы.

plotSummary: Вара Квилл, Гром Рид и Мара Солёная раскрыли махинации с именами утопленников в архивах под Площадью Мокрых Весов. Старик Шелк был устранен как должник, а Гром Рид обеспечил физический выход из города, сломав мостовой механизм. Вара аннулировала незаконные записи в реестрах, используя кровь как квитанцию для Колокола Недоплаты. Эльза Векс пыталась арестовать героев, используя мертвецов как инструмент давления, однако те переключили внимание на неё, требуя ответа за городские долги. Мара Солёная подтвердила своё право наследницы поручителей. Группа успешно добралась до Затопленной Часовни через архивные ходы, отрезав путь назад обвалом. В Часовне герои обнаружили пустую лодку и скрытый механизм под алтарём, который требует личной жертвы для активации.

openThreads: Мертвецы на площади требуют от Эльзы Векс ответа за незаконные счета.

openThreads: Необходимость заключения нового договора с рекой для окончательного освобождения города.

openThreads: Мара Солёная должна использовать право наследницы поручителей перед Рекой.

openThreads: Вара Квилл удерживает аннулированные реестры, которые могут стать ключом к финалу.

openThreads: Взаимодействие с безымянной лодкой в Затопленной Часовне.

openThreads: Активация скрытого механизма под алтарём в Затопленной Часовне.


kind: event

visibility: public

witnesses: pc-grom-reed pc-vara-quill mara-salt


entities:
Мара Солёная
алтарь
Река


description: обновление от писца