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

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

КАНОН-ХВОСТ (последние факты):
[fact-82-1] Гром Рид прекратил удерживать Старика Шелка и решил оставить его у шлюза, чтобы немедленно отступать вместе с Марой и Варой. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, shelk-gray)
[fact-82-2] Гром Рид прекратил удерживать Старика Шелка, оставив его у шлюза в ожидании Речного Счётовода. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, shelk-gray)
[fact-82-3] Чёрная вода начала затапливать выходы из Костяной Конторы, отрезая пути к отступлению. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-83-1] На механизме шлюза видны многочисленные регистрационные пометки, где закрытие смерти перечёркнуто и заменено отметкой «живой долг»; имени брата Вары среди видимых надписей нет. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-84-1] Гром, Вара и Мара достигли Затопленной Часовни; переход обратно к Костяной Конторе затоплен и завален сорванными костяными ящиками. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-84-2] Чёрная вода усилила действие чернильной метки Грома: он потерял ещё один неуточнённый фрагмент личной памяти, хотя сохранил вдовье весло. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-84-3] Старик Шелк остался у механизма шлюза вместе с ключом, отрезанный от героев поднявшейся водой. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt, shelk-gray)
[fact-85-1] Мара Солёная согласилась использовать реестр смертей как основание, чтобы призвать имена, проданные Шелком, и потребовать у него ключ от шлюза. (public, свидетели: mara-salt)
[fact-86-1] Гром заклинил плавающую скамью поперёк потока в часовне, выиграв Варе и Маре несколько минут для призыва имён из реестра. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-86-2] Поток ранил ладонь Грома и прижал вдовье весло: пока он удерживает заграждение, ему нельзя покинуть позицию без риска сорвать запруду. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-86-3] Чернильная метка усилилась от речной воды; Гром потерял ещё одно личное воспоминание — происхождение старого шрама на своей руке. (public, свидетели: pc-grom-reed)
[fact-86-4] Гром Рид заклинил плавающую скамью поперёк потока в часовне, создав временную запруду для проведения ритуала. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-86-5] Поток ранил ладонь Грома Рида, зафиксировав его в позиции удерживающего запруду под угрозой срыва потока. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-86-6] Чернильная метка Грома Рида усилилась, лишив его памяти о происхождении шрама на руке. (public, свидетели: pc-grom-reed)
[fact-87-1] Страница реестра с записью о «живом долге» брата Вары размокла и стала нечитаемой после попытки превратить её в бумажный свисток. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-87-2] Чернильное пятно ответило на голос Вары: тени утопленников указали на реестр и отказались повиноваться приказу, исходящему из украденной долговой записи. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-87-3] Запруда в часовне просела; Гром получил новые порезы на удерживающей скамью руке и из-за чернильной метки забыл имя человека, которому когда-то обещал вернуться. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-88-1] Мара Солёная осознала, что утопленники требуют возвращения имён, незаконно удерживаемых в реестре живых должников. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-89-1] Вара Квилл и Мара Солёная отдали реке часть реестра смертей, освобождая удерживаемые в нём имена утопленников как плату. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-89-2] Поток у Затопленной Часовни ненадолго замер, а заваленный путь к Костяной Конторе частично открылся; у героев появился краткий шанс добраться до Шелка и ключа шлюза. (public, свидетели: pc-vara-quill, pc-grom-reed, mara-salt)
[fact-89-3] Вара Квилл добровольно предложила себя в качестве поручителя перед рекой, чтобы скрепить сделку по освобождению имён утопленников. (public, свидетели: pc-vara-quill, mara-salt, pc-grom-reed)
[fact-90-1] Гром Рид вколотил вдовье весло в пол Затопленной Часовни и удержал открытым проход к Костяной Конторе. (public, свидетели: pc-vara-quill, mara-salt)
[fact-90-2] У Грома Рида рассечены ладони и ушиблено плечо, но он сохраняет позицию у весла. (public, свидетели: pc-vara-quill, mara-salt)
[fact-90-3] Вара Квилл и Мара Солёная получили краткое окно, чтобы добраться через проход до Шелка Грея и ключа шлюза. (public, свидетели: pc-grom-reed, mara-salt)
[fact-90-4] Гром Рид вколотил вдовье весло в пол Затопленной Часовни, создав временную запруду для удержания прохода к Костяной Конторе. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-90-5] Гром Рид получил физические травмы ладоней и плеча, удерживая проход. (public, свидетели: pc-grom-reed, pc-vara-quill, mara-salt)
[fact-91-1] Старик Шелк утверждает, что Речной Счётовод уже коснулся печатью порога Костяной Конторы. (public, свидетели: pc-vara-quill, mara-salt, shelk-gray)
[fact-91-2] Вара Квилл не обладает способностью левитации или магического управления гравитацией в Костяной Конторе. (public, свидетели: pc-vara-quill, mara-salt, shelk-gray)
[fact-92-1] Гром Рид публично пригрозил сорвать запруду вдовьего весла, если Шелк не отдаст ключ от шлюза. (public, свидетели: shelk-gray, mara-salt, pc-vara-quill)
[fact-92-2] Вдовье весло, удерживающее проход у Затопленной Часовни, заметно трещит и находится на грани разрушения. (public, свидетели: pc-grom-reed)

ПАМЯТЬ (выборка по текущей сцене, дальнее прошлое):
ФАКТЫ:
- [ход 81 | важность 9] Старик Шелк отказался добровольно отдать ключ от шлюза, заявив о своей неразрывной связи с механизмом и неизбежности гибели героев от рук Речного Счётовода.
- [ход 86 | важность 6] Поток ранил ладонь Грома Рида, зафиксировав его в позиции удерживающего запруду под угрозой срыва потока.
- [ход 90 | важность 8] Гром Рид вколотил вдовье весло в пол Затопленной Часовни, создав временную запруду для удержания прохода к Костяной Конторе.
- [ход 92 | важность 5] Вдовье весло, удерживающее проход у Затопленной Часовни, заметно трещит и находится на грани разрушения.
- [ход 92 | важность 5] Гром Рид публично пригрозил сорвать запруду вдовьего весла, если Шелк не отдаст ключ от шлюза.

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

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

ЗА СТОЛОМ (вне игры):
- [ход 92 | важность 3] Так, девчонки, я чувствую, как дерево под руками начинает гнить — ещё пара секунд, и я здесь останусь навсегда. Мара, если ключ у тебя, рвите когти к выходу прямо сейчас, не оглядывайтесь, я буду следом!
- [ход 92 | важность 3] Мара, хватай ключ, пока он болтает, я прыгаю и сбиваю его с ног, Гром — бросай всё и беги, мы не будем тебя ждать, просто рви когти к выходу!

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

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

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

text: Старик Шелк окончательно отождествил себя с механизмом шлюза, отрицая возможность собственного подчинения.

witnesses: pc-vara-quill mara-salt shelk-gray

entities: shelk-gray lock-ossuary

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

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

entities: pc-grom-reed lock-ossuary

pc-vara-quill: lock-ossuary

pc-grom-reed: lock-ossuary

mara-salt: lock-ossuary

shelk-gray: lock-ossuary

memoryNote: Уверен в своей неуязвимости как части механизма, игнорирует угрозу физического уничтожения.

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

openThreads: Гром Рид находится на грани физического истощения и потери рассудка из-за удержания запруды.

openThreads: Речной Счётовод прибыл к воротам шлюза и готов забрать долги.

openThreads: Старик Шелк удерживает ключ от шлюза и отказывается признать вину.

openThreads: Мара Солёная и Вара Квилл должны отобрать ключ у Шелка до разрушения запруды.

openThreads: Запруда Грома в часовне находится на грани окончательного разрушения.


kind: event

visibility: public


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