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

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

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

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

ЗА СТОЛОМ (вне игры):
- [ход 88 | важность 3] Вара, жги по списку, я эту скамью больше секунды не удержу — руки деревенеют! Мара, как только увидишь, что старик дёрнулся, ныряй за ключом и сразу на выход, я вас там прикрою, пока всё к чертям не обрушилось.
- [ход 91 | важность 3] Слушайте, давайте заканчивать этот цирк, пока я не врос в это дерево по локоть. Как только ключ у вас в руках, прыгайте в проход, а я рвану следом — не ждите сигнала, просто бегите!
- [ход 93 | важность 3] Мара, забирай ключ, я сбиваю старика с ног, чтобы он не успел захлопнуть шлюз! Гром, как только мы оттолкнемся, бросай весло и прыгай — если замешкаешься, вода нас всех здесь похоронит.
- [ход 94 | важность 3] Мара, хватай ключ, я снова влетаю в него — в этот раз намертво прижму к столу, чтобы он не дернулся! Гром, не жди ни секунды, как только увидишь, что мы двинулись, прыгай к чертям, иначе нас накроет обеих.
- [ход 94 | важность 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

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

text: Старик Шелк окончательно признал прибытие Речного Счётовода и неизбежность обнуления всех записей в реестрах.

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

entities:
shelk-gray
Речной Счётовод
реестр смертей

text: Мара Солёная публично призвала Вару Квилл атаковать Шелка, утверждая, что река признала её хозяином долга.

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

pc-vara-quill: lock-ossuary

pc-grom-reed: lock-ossuary

mara-salt: lock-ossuary

shelk-gray: lock-ossuary

memoryNote: Шелк считает, что Речной Счётовод обнулит все долги, включая его собственные, и готов погибнуть в потоке ради этого.

memoryNote: Мара уверена в своей связи с рекой и готовности забрать долг у Шелка.

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

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

openThreads: Речной Счётовод прибыл к порогу Костяной Конторы и требует оплаты долгов.

openThreads: Старик Шелк удерживает ключ от шлюза и ожидает обнуления своих долгов через Счётовода.

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

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


kind: event

visibility: public


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