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: условие "Оригинальный договор уничтожен у открытых ворот шлюза, а имена погибших вслух возвращены мёртвым до прихода Речного Счётовода." | итог: Древняя сделка заканчивается навсегда: река уносит старые реестры, шлюз открывается, и Кривой Причал лишается магической защиты вместе с магическим рабством. Город выживает беднее, честнее и с крайне нервным отношением к воде.

СНАПШОТ-КРАТКО:
Ход: 148
Позиции: Вара Квилл (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, раскрытые секреты: mara-secret-heir
- Доктор Улыбка (doctor-grin): hostile, доверие 0/5, раскрытые секреты: (нет)
- Старик Шелк (shelk-gray): hostile, доверие 0/5, раскрытые секреты: (нет)
Сводка сюжета: Вара Квилл, Гром Рид и Мара Солёная оказались в ловушке в Затопленной Часовне, где Река требует уплаты долга за безымянных утопленников. Герои обнаружили, что долговые записи были подделаны, а ящик «КК-17/Ш» является инструментом для перераспределения вины. Вара Квилл нашла крещальную полоску ткани, подтверждающую статус Мары Солёной как наследницы поручителей. Гром Рид, рискуя жизнью, разблокировал шлюзовые цепи, что позволило Маре начать слушание с Рекой. Теперь группе предстоит вскрыть ящик «КК-17/Ш» и либо вернуть имена утопленникам, либо назвать виновника подлога, чтобы окончательно завершить сделку и спастись от поглощения Рекой.
Открытые ниточки: Гром Рид находится под угрозой поглощения Рекой, если обвинение не будет подтверждено.; Необходимо вскрыть ящик «КК-17/Ш» у шлюза для идентификации фальсификатора.; Группа должна решить, на кого возложить вину за подлог, чтобы завершить сделку с Рекой.; Мара Солёная ожидает, что герои примут роль поручителей, чтобы завершить сделку.
Эпизодов в летописи: 15

КАНОН-ХВОСТ (последние факты):
[fact-140-1] На обороте костяной таблички Гром различил следы намеренно стёртого кислотой клейма и служебный номер ящика Костяной Конторы «КК-17/Ш»; искать имя фальсификатора следует в документах или ящике с этим номером у шлюза. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-140-2] Долговая метка Грома Рида болезненно усилилась и поднялась выше по ноге после того, как Река не получила названного виновника. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-140-3] Костяная табличка с оттиском Костяной Конторы треснула по краю, хотя её служебный номер пока различим. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-140-4] На обороте костяной таблички Гром различил следы намеренно стёртого кислотой клейма и служебный номер ящика Костяной Конторы «КК-17/Ш». (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-141-1] Вара Квилл и Гром Рид внесли в речной реестр запись об обвинении «Исполнителя ящика КК-17/Ш» в подлоге, скрепив её кровью Грома. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-142-1] Речной реестр принял кровью Грома Рида встречное обвинение против «Исполнителя ящика КК-17/Ш» как действующий служебный долг. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-142-2] Долговая метка Грома временно остановилась: Река не может завершить взыскание с него, пока рассматривает встречное обвинение. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-142-3] Для окончательного переноса вины Реке всё ещё нужны содержимое ящика КК-17/Ш или имя конкретного исполнителя. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-142-4] Долговая метка Грома временно остановилась, так как Река не может завершить взыскание, пока рассматривает встречное обвинение. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-142-5] Для окончательного переноса вины Реке необходимо содержимое ящика КК-17/Ш или имя конкретного исполнителя. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-143-1] Утопленники в Затопленной Часовне удерживают именные бирки над водой, требуя их возвращения, а не атакуя живых. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-143-2] Скрежет цепей у шлюза вызван перемещением опечатанного груза, а не действиями живого существа. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-144-1] Мара Солёная разъяснила, что ящик КК-17/Ш не содержит готового палача: его содержимое заставит вскрывших решить, кому вернуть имена и на кого возложить вину за подлог. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-144-2] Мара Солёная подтвердила, что ящик КК-17/Ш не содержит физического противника, а является инструментом для юридического перераспределения вины и имён. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-145-1] Вара Квилл нашла в кармане утонувшего священника крещальную полоску ткани с фамилией Солёных и знаком хранителей договора. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-145-2] Ниши у алтаря не содержат механизма управления шлюзом или ключа к ящику КК-17/Ш. (public, свидетели: pc-vara-quill)
[fact-146-1] Крещальная полоска рода Солёных подтверждает право Мары говорить с рекой от имени поручителей, но не является ключом к шлюзу. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-146-2] Грохот цепей под часовней усилился; вода в чёрном рукаве реагирует на движение ящика КК-17/Ш к шлюзу. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-146-3] Мара Солёная подтвердила, что наличие крещальной полоски позволяет ей инициировать слушание с Рекой, но не отменяет необходимости возврата имён или указания виновника для завершения сделки. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-146-4] Река реагирует на приближение ящика КК-17/Ш к шлюзу, усиливая скрежет цепей и давление на Затопленную Часовню. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-147-1] Право Мары Солёной как наследницы поручителей позволяет потребовать у Реки слушания, но не позволяет единолично навязать Реке обвиняемого или отменить цену договора. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-147-2] Вара Квилл официально признала Мару Солёную наследницей поручителей и голосом долга перед Рекой. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-148-1] Гром Рид отмычками снял замки со шлюзовых цепей; ворота разомкнуты и больше не давят на Затопленную Часовню, однако течение удерживает их в опасном промежуточном положении. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-148-2] Мара Солёная, признанная наследницей поручителей, начала слушание с Рекой от имени города. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-148-3] Река принимает слушание, но требует для завершения сделки вернуть удержанные имена или назвать виновника подлога. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-148-4] Гром Рид успешно разблокировал шлюзовые цепи, сняв давление Реки на Затопленную Часовню. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-148-5] Мара Солёная инициировала официальное слушание с Рекой, используя статус наследницы поручителей. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-148-6] Река требует для завершения сделки либо возвращения имён утопленников, либо указания виновника подлога. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-149-1] Вара Квилл прочла именные бирки: на них сохранились настоящие имена утопленников, а костяные таблички содержат только долговые суммы и налоговые номера. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-149-2] Река временно ослабила давление на Грома Рида, пока имена утопленников были извлечены и готовы к предъявлению на слушании. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)

ПАМЯТЬ (выборка по текущей сцене, дальнее прошлое):
ФАКТЫ:
- [ход 141 | важность 9] Вара Квилл и Гром Рид внесли в речной реестр запись об обвинении «Исполнителя ящика КК-17/Ш» в подлоге, скрепив её кровью Грома.
- [ход 146 | важность 8] Мара Солёная подтвердила, что наличие крещальной полоски позволяет ей инициировать слушание с Рекой, но не отменяет необходимости возврата имён или указания виновника для завершения сделки.
- [ход 148 | важность 9] Река требует для завершения сделки либо возвращения имён утопленников, либо указания виновника подлога.
- [ход 148 | важность 9] Мара Солёная инициировала официальное слушание с Рекой, используя статус наследницы поручителей.
- [ход 149 | важность 5] Вара Квилл прочла именные бирки: на них сохранились настоящие имена утопленников, а костяные таблички содержат только долговые суммы и налоговые номера.
- [ход 149 | важность 5] Река временно ослабила давление на Грома Рида, пока имена утопленников были извлечены и готовы к предъявлению на слушании.

ЗА СТОЛОМ (вне игры):
- [ход 136 | важность 3] Слушай, Мара явно не просто так нас здесь маринует, она хочет, чтобы мы признали долг, но если мы назовем их имена, мы станем их адвокатами, а не просто должниками. Гром, пока мы на камнях, обыщи таблички на предмет имен, а я попробую прочитать их «мелкий шрифт», чтобы найти лазейку в их последней воле — если мы найдем, кто их предал, мы переложим вину на того, кто их действительно подставил.
- [ход 138 | важность 3] Вара, давай так: я сейчас выкладываю таблички одну за другой, а ты «процессуально» перекидывай ответственность на того, кто их подписал — если вскроется имя заказчика, мы скинем этот груз на него. Кидай кубик на юридическую атаку, а я помогу тебе прожать это дело, пока Река не закрыла реестр!
- [ход 149 | важность 3] Гром, забей на угрозы Мары, она просто берет нас на понт, чтобы мы вскрыли этот ящик! Давай так: я сейчас быстро сканирую бирки на предмет записи, а ты будь готов выбивать засов, если Река совсем взбесится — не хватало нам еще и здесь сгинуть.
- [ход 149 | важность 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 — найдена на ходу 145 (ведёт к lead-mara-heir): Крещальная полоска связывает род Солёных со знаком хранителей договора.
- [clue-heir-mara] npc/secret — найдена на ходу 113 (ведёт к lead-mara-heir): Мара подтверждает, что может говорить с рекой, если ей предъявить доказательство наследства.

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

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

text: Именные бирки утопленников содержат их настоящие имена, в то время как костяные таблички содержат лишь долговые суммы и налоговые номера.

entities:
именные бирки
костяные таблички
утопленники

text: Река временно ослабила давление на Грома Рида, так как имена утопленников были извлечены и готовы к предъявлению на слушании.

entities:
Река
Гром Рид
имена утопленников

memoryNote: Мара продолжает давить на героев, требуя от них решительных действий по завершению сделки, несмотря на их попытки оспорить процедуру.

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

openThreads: Гром Рид находится под угрозой поглощения Рекой, если обвинение не будет подтверждено.

openThreads: Необходимо вскрыть ящик «КК-17/Ш» у шлюза для идентификации фальсификатора.

openThreads: Группа должна решить, на кого возложить вину за подлог, чтобы завершить сделку с Рекой.

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


kind: event

visibility: public

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


entities:
Река
Гром Рид
имена утопленников