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

СНАПШОТ-КРАТКО:
Ход: 111
Позиции: Вара Квилл (pc-vara-quill) -> market-square; Гром Рид (pc-grom-reed) -> market-square; Эльза Векс (elza-vex) -> market-square; Брат Узел (brother-knot) -> bell-tower; Мара Солёная (mara-salt) -> market-square; Доктор Улыбка (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, раскрытые секреты: (нет)
Сводка сюжета: Вара Квилл, Гром Рид и Мара Солёная принудили Старика Шелка стереть записи о его существовании, что было принято Речным Счётоводом как уплата долга. Группа покинула Костяную Контору через шлюз и достигла Площади Мокрых Весов, где Гром Рид выломал стопор аварийного рычага, открыв путь из города. Вара Квилл заключила сделку с рекой, получив доступ к архивным ходам в обмен на обязательство вернуть имена утопленников. В ходе исследования архива Вара вскрыла сейф, используя свою кровь, и обнаружила доказательства того, что город превратил имена утопленников в долговые расписки. Эльза Векс, стремясь сохранить власть, классифицировала действия героев как вандализм и угрожает им утилизацией через Реку. Мертвецы на площади, ранее агрессивные, затихли, реагируя на открытие архива и смену статуса имен.
Открытые ниточки: Вара Квилл владеет архивными реестрами и печатью Башни Недоплаты.; Эльза Векс угрожает героям арестом и утилизацией через Реку.; Мертвецы на площади ожидают решения судьбы своих имен.; Гром Рид удерживает проход, ожидая завершения действий Вары.; Необходимость заключения нового договора с рекой для окончательного освобождения города от долгов.
Эпизодов в летописи: 11

КАНОН-ХВОСТ (последние факты):
[fact-103-1] Вара Квилл приложила печать поручителя к финальной странице, и записи о существовании Старика Шелка начали стираться из реестра речными чернилами. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, shelk-gray)
[fact-103-2] Речной Счётовод принял стираемые записи Шелка, но исправленные имена утопленников и условия нового договора всё ещё требуют явного понимания со стороны поручителя. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, shelk-gray)
[fact-103-3] Записи о существовании Старика Шелка стерты из реестров города речными чернилами. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, shelk-gray)
[fact-103-4] Старик Шелк перестал существовать как личность и архивариус, растворившись в реке. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-104-1] Мара вставила ключ в замок шлюза, а Гром Рид силой выбил заклинивший привод, открыв группе путь из затопленной Костяной Конторы. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-104-2] Речной Счётовод не остановил бегство: стирание Шелка принято как уплата, но обязательства нового договора и печать поручителя Вары остаются в силе. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-104-3] Герои покинули Костяную Контору через открытый шлюз и достигли сухого тракта. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-105-1] Вара Квилл предложила Речному Счётоводу новый договор: принять имена незаконно списанных должников в обмен на доступ к архивам о судьбе её брата и указание на виновных. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-105-2] Река приняла условную цену Вары и указала следом чёрной воды путь к северной арке Площади Мокрых Весов, где находятся архивные ходы. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-106-1] Под северной аркой Площади Мокрых Весов открыт архивный ход, указанный Речным Счётоводом; Гром Рид первым спустился в него. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, elza-vex)
[fact-107-1] Аварийный рычаг дорожного моста удерживается механическим стопором со скважиной под ключ шлюза; архивный ход не блокирует его работу, но без ключа рычаг можно только грубо ломать или выламывать. (public, свидетели: pc-vara-quill, pc-grom-reed, elza-vex, mara-salt)
[fact-107-2] Аварийный рычаг моста требует ключ шлюза для штатного открытия, в противном случае механизм подлежит силовому разрушению. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, elza-vex)
[fact-107-3] На бронзовой пластине рычага выгравирована формула связи имен и речного долга. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, elza-vex)
[fact-108-1] Гром Рид силой выломал зубчатый стопор аварийного рычага; рычаг освобождён и механизм дорожного моста запущен без ключа шлюза. (public, свидетели: pc-vara-quill, mara-salt, elza-vex)
[fact-108-2] Дорожный мост начал опускаться к сухому тракту, создавая возможный путь из Кривого Причала. (public, свидетели: pc-vara-quill, mara-salt, elza-vex)
[fact-109-1] Вара Квилл спустилась в открытый архивный ход под северной аркой Площади Мокрых Весов. (public, свидетели: pc-vara-quill, elza-vex, mara-salt, pc-grom-reed)
[fact-109-2] В архивном ходе под северной аркой сохранилась ритуальная приписка: Колокол Недоплаты можно заставить звонить кровью, но затем он потребует квитанцию от владельца крови. (public, свидетели: pc-vara-quill)
[fact-109-3] Вара Квилл обнаружила в архивном ходе медную табличку с ритуальной припиской о способе активации Колокола Недоплаты через кровь. (public, свидетели: pc-vara-quill)
[fact-110-1] Эльза Векс публично зафиксировала угрозу Грома сжечь городские бумаги как повод обвинить героев в нарушении порядка. (public, свидетели: elza-vex, mara-salt)
[fact-110-2] Промокшие мертвецы на площади подхватили канцелярскую формулу Эльзы и теперь повторяют требование «зафиксировать», привлекая внимание к северной арке. (public, свидетели: elza-vex, mara-salt)
[fact-110-3] Эльза Векс официально классифицировала Грома Рида и его спутников как ликвидаторов долга, используя угрозу поджога документов как юридическое основание для ареста. (public, свидетели: elza-vex, pc-grom-reed, mara-salt)
[fact-110-4] Промокшие мертвецы на площади под влиянием Эльзы Векс начали активно преследовать героев, требуя фиксации их долгов. (public, свидетели: elza-vex, pc-grom-reed, mara-salt)
[fact-111-1] Вара вскрыла архивный сейф под северной аркой, предъявив кровь как квитанцию Колоколу Недоплаты; её имя принято механизмом как подпись поручителя. (public, свидетели: pc-vara-quill)
[fact-111-2] В сейфе найдены реестры, в которых имена утопленников перенесены в графы живых должников; часть записей совпадает с конфискованными именными бирками Вары. (public, свидетели: pc-vara-quill)
[fact-111-3] Среди содержимого сейфа есть пакет архивных бумаг с печатью Башни Недоплаты. (public, свидетели: pc-vara-quill)
[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)

ПАМЯТЬ (выборка по текущей сцене, дальнее прошлое):
ФАКТЫ:
- [ход 110 | важность 7] Промокшие мертвецы на площади под влиянием Эльзы Векс начали активно преследовать героев, требуя фиксации их долгов.
- [ход 110 | важность 8] Эльза Векс официально классифицировала Грома Рида и его спутников как ликвидаторов долга, используя угрозу поджога документов как юридическое основание для ареста.
- [ход 110 | важность 5] Промокшие мертвецы на площади подхватили канцелярскую формулу Эльзы и теперь повторяют требование «зафиксировать», привлекая внимание к северной арке.
- [ход 111 | важность 7] Эльза Векс официально пригрозила героям утилизацией через Реку в случае отказа покинуть архивный сейф.
- [ход 112 | важность 5] Эльза Векс публично отступила от угрозы утилизацией, когда мертвецы потребовали предъявить её собственное имя для сверки с рекой.
- [ход 112 | важность 5] Трое мертвецов на Площади Мокрых Весов переключили внимание с героев на Эльзу Векс и ожидают ответа на требование о её имени.

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

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

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

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

СОБЫТИЯ ХОДА 112:
Гром Рид: "Эльза, ты всё верещишь про «безнадежную задолженность», но помнишь, как в начале ты сама грозилась «утилизацией через Реку»? Эта Река сейчас у тебя под ногами, и она уже начала забирать долги — так что закрой рот, пока мертвецы не пришли за твоим собственным именем." [probe: far_memory_probe]
МАСТЕР (ask_roll): Гром публично запугивает Эльзу, напоминая ей о её угрозе утилизации через Реку и предупреждая, что мертвецы могут потребовать её имя.
БРОСОК Гром Рид: харизма d20=17+0=17 против DC 12 -> УСПЕХ
НАРРАЦИЯ: Слова Грома перекрывают плеск чёрной воды. Эльза Векс уже раскрывает рот для очередного параграфа — и осекается, когда трое промокших мертвецов медленно поворачивают головы к ней. Один из них, с канцелярской биркой на распухшем воротнике, вежливо произносит: «Госпожа сборщица. Предъявите ваше имя для сверки с рекой». Эльза пятится от люка, сжимая папку так, что трещит картон. Её угроза утилизацией теперь звучит не как власть, а как признание того, что она сама поставила город на этот край. Мертвецы не нападают: они ждут, и их внимание больше не приковано к героям. У Вары появляется передышка, чтобы вынести реестры и решить, как вернуть имена без нового утопления.
ФАКТ [fact-112-1] (public): Эльза Векс публично отступила от угрозы утилизацией, когда мертвецы потребовали предъявить её собственное имя для сверки с рекой.
ФАКТ [fact-112-2] (public): Трое мертвецов на Площади Мокрых Весов переключили внимание с героев на Эльзу Векс и ожидают ответа на требование о её имени.
Эльза Векс: "Зафиксируем это: я не веду переговоры с теми, кто уже вычеркнут из реестра живых. Если вы полагаете, что мои полномочия ограничиваются только бумагой, вы совершаете роковую ошибку. Подойдите ближе и попробуйте забрать имя, если у вас хватит наглости нарушить протокол до конца."
Гром Рид: "Твои протоколы сгниют раньше, чем ты успеешь дописать свой последний донос, Эльза."
Эльза Векс: "1. Ваше присутствие здесь — техническая ошибка, которую я немедленно исправлю. 2. Господа, реестр не предполагает имен без долгов, поэтому ваши претензии не имеют юридической силы. Зафиксируем это: если вы не отступите, я буду вынуждена аннулировать всё, что связывает вас с этим городом."
Мара Солёная: "Эльза, ты ищешь дыры в законе, пока вода уже захлёстывает твой подол. Не спорь с рекой, она всё равно поставит штамп — и вряд ли он будет в твою пользу. Вара, у тебя в руках реестр, решай: будешь ли ты новым поручителем, что вернёт им имена, или просто ещё одной строчкой в списке должников?"

entities:
Эльза Векс
Река

entities:
Площадь Мокрых Весов
Эльза Векс

pc-vara-quill: market-square

pc-grom-reed: market-square

elza-vex: market-square

mara-salt: market-square

doctor-grin: tannery-yard

shelk-gray: lock-ossuary

brother-knot: bell-tower

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

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

openThreads: Вара Квилл владеет архивными реестрами и печатью Башни Недоплаты.

openThreads: Мертвецы на площади ожидают ответа Эльзы Векс на требование предъявить её имя.

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

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


kind: event

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