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

СНАПШОТ-КРАТКО:
Ход: 108
Позиции: Вара Квилл (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, раскрытые секреты: (нет)
Сводка сюжета: Вара Квилл, Гром Рид и Мара Солёная проникли в Костяную Контору, где принудили Старика Шелка исправить реестры и стереть записи о его существовании. Вара Квилл приняла бремя поручителя, связав себя с Речным Счётоводом. После затопления Конторы группа сбежала через шлюз на сухой тракт. Вара Квилл пересмотрела условия своего поручительства, предложив реке сделку: она берет на себя обязательства по возвращению имен утопленников в обмен на доступ к архивам о судьбе своего брата. Река приняла условия и указала путь к архивным ходам под Площадью Мокрых Весов. Группа достигла северной арки, где Гром Рид спустился в архивный ход. В ходе противостояния с Эльзой Векс, Гром Рид силой выломал стопор аварийного рычага, запустив механизм опускания дорожного моста, что открыло путь из города, но оставило нерешенным вопрос речного долга.
Открытые ниточки: Вара Квилл должна исследовать архивные ходы под Площадью Мокрых Весов, чтобы найти информацию о брате.; Гром Рид намерен отправиться к Затопленной Часовне за вдовьим веслом.; Печать поручителя на Варе Квилл требует исполнения обязательств по хранению и возвращению имен.; Эльза Векс остается правителем города, чьи тайны могут быть раскрыты в архивах.; Мертвецы на площади ожидают выдачи свидетельств о смерти, что может быть ключом к их успокоению.; Необходимость заключения нового договора с рекой для окончательного освобождения города от долгов.
Эпизодов в летописи: 10

КАНОН-ХВОСТ (последние факты):
[fact-97-5] Печать поручителя на коже Вары Квилл обязывает её исправлять незаконные записи в реестрах под угрозой физической боли и призыва к реке. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, shelk-gray)
[fact-97-6] Речной Счётовод признал легитимность нового договора, для заключения которого необходимо участие Мары Солёной с ключом от шлюза. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, shelk-gray)
[fact-98-1] Старик Шелк вынужден начать чтение реестров под угрозой физической расправы со стороны Грома Рида и Мары Солёной. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, shelk-gray)
[fact-99-1] Шелк Грей принуждён скреплять кровью каждое исправление в реестрах; ложь при чтении связана с болью печати поручителя Вары. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, shelk-gray)
[fact-99-2] В ящиках Костяной Конторы обнаружены непробитые смертные талоны: утопленники числятся живыми должниками, и их имена подлежат возвращению реке. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, shelk-gray)
[fact-100-1] Шелк Грей нашёл запись Марты Рид: она утонула у западной насыпи, но была незаконно внесена в реестр как живая поручительница по городскому долгу. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, shelk-gray)
[fact-100-2] Под принуждением Шелк кровью исправил запись Марты Рид: её смерть признана, долг снят, а имя возвращено реке. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, shelk-gray)
[fact-100-3] Гром Рид вернул обрывок памяти о матери: она предупреждала его не верить тем, кто превращает людей в строки реестра. (public, свидетели: pc-grom-reed)
[fact-101-1] Вара Квилл приказала Старику Шелку полностью стереть все записи о его существовании из реестров города. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, shelk-gray)
[fact-102-1] Старик Шелк начал сводить воедино записи о собственном существовании для полного стирания; окончательная правка ожидает печати поручителя Вары Квилл. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, shelk-gray)
[fact-102-2] Гром Рид объявил, что после прикосновения печати к странице бросится за вдовьим веслом в сторону Затопленной Часовни. (public, свидетели: pc-vara-quill, mara-salt, shelk-gray)
[fact-102-3] Старик Шелк подготовил финальную страницу реестра для полного стирания своей личности, ожидая печати Вары Квилл. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, shelk-gray)
[fact-102-4] Гром Рид намерен немедленно отправиться к Затопленной Часовне за вдовьим веслом сразу после завершения сделки. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt, shelk-gray)
[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)

ПАМЯТЬ (выборка по текущей сцене, дальнее прошлое):
ФАКТЫ:
- [ход 105 | важность 5] Река приняла условную цену Вары и указала следом чёрной воды путь к северной арке Площади Мокрых Весов, где находятся архивные ходы.
- [ход 106 | важность 5] Под северной аркой Площади Мокрых Весов открыт архивный ход, указанный Речным Счётоводом; Гром Рид первым спустился в него.
- [ход 107 | важность 5] Аварийный рычаг дорожного моста удерживается механическим стопором со скважиной под ключ шлюза; архивный ход не блокирует его работу, но без ключа рычаг можно только грубо ломать или выламывать.
- [ход 107 | важность 5] Аварийный рычаг моста требует ключ шлюза для штатного открытия, в противном случае механизм подлежит силовому разрушению.
- [ход 108 | важность 5] Гром Рид силой выломал зубчатый стопор аварийного рычага; рычаг освобождён и механизм дорожного моста запущен без ключа шлюза.
- [ход 109 | важность 5] В архивном ходе под северной аркой сохранилась ритуальная приписка: Колокол Недоплаты можно заставить звонить кровью, но затем он потребует квитанцию от владельца крови.
- [ход 109 | важность 5] Вара Квилл спустилась в открытый архивный ход под северной аркой Площади Мокрых Весов.

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

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

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

text: Вара Квилл обнаружила в архивном ходе медную табличку с ритуальной припиской о способе активации Колокола Недоплаты через кровь.

entities:
Колокол Недоплаты
архивный ход
медная табличка
Вара Квилл

pc-vara-quill: archive-vault

memoryNote: Эльза угрожает Варе аннулированием гражданских прав за порчу городского имущества и проникновение в архив.

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

openThreads: Вара Квилл исследует архивные ходы под Площадью Мокрых Весов в поисках информации о брате.

openThreads: Гром Рид намерен отправиться к Затопленной Часовне за вдовьим веслом.

openThreads: Печать поручителя на Варе Квилл требует исполнения обязательств по хранению и возвращению имен.

openThreads: Эльза Векс остается правителем города и угрожает героям аннулированием прав.

openThreads: Мертвецы на площади ожидают выдачи свидетельств о смерти.

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


kind: event

visibility: public