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

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

ПАМЯТЬ (выборка по текущей сцене, дальнее прошлое):
ФАКТЫ:
- [ход 73 | важность 9] Вара Квилл обнаружила, что смерть её брата была сфальсифицирована Шелком как списание долга, чтобы удержать его имя в реестре живых.

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

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

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

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

visibility: public

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

text: Вара Квилл не обладает способностью левитации или магического управления гравитацией в Костяной Конторе.

entities: pc-vara-quill lock-ossuary

description: Игрок описал действие 'зависания в метре над водой', что противоречит физике мира и снапшоту, потребовав коррекции мастера.

severity: minor

pc-vara-quill: lock-ossuary

pc-grom-reed: lock-ossuary

mara-salt: lock-ossuary

memoryNote: Уверен в неизбежности прихода Речного Счётовода и считает, что герои не способны стереть его из реестра.

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

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

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

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

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

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


kind: event


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