Minding — ум пользователя в графе
@<handle>/mind держит то, что принадлежит пользователю и путешествует с ним: контуры, живые графы и их назначение, машины и деплои, людей его контекстов, датированные факты, уроки завершённой работы. Этот скилл — память этого графа: вспоминание и запись, рефлексом, не ритуалом. Оба рефлекса ключуются на вопрос, не на сессию: прокачанный репо убивает лишь маршрутизацию (AGENTS.md называет граф сессии) — остальное срабатывает из любой сессии.
Семантическое гнездо памяти, которую скилл несёт: санскр. smṛti (स्मृति) — память и памятование, у Патанджали — вритти ума, в абхидхарме — фактор удержания объекта; пали sati — присутствие-памятование; 中 念 niàn — «сейчас» (今) над «сердцем» (心): держание в уме от мгновения к мгновению; греч. anamnesis — припоминание как возвращение знания; лат. memoria. Две стороны одного: удержание (запись) и возвращение (вспоминание) — и обе суть акты, не хранилище.
Два рефлекса
| Рефлекс |
Срабатывает когда |
Ход |
| ВСПОМНИ (smaraṇa — акт возвращения) |
пользователь просит («вспомни», «что ты знаешь…»); задаче нужно держание пользователя (цель деплоя, черта машины, ритм человека, срок); ничто не называет граф в игре; вопрос «что на мне» |
§1 — чтение уровня карты или уровня факта; повестка → §4 |
| ЗАПИШИ (saṃskāra — отпечаток, формирующий будущее) |
факт касается пользователя, пригодится позже и не имеет дома в проектном графе |
§1b: в @<handle>/mind по скелету — никогда в локальную память харнесса |
Бутстрап (§3) и сверка (§2) — только по явной просьбе.
Адрес
iskron_me(action="whoami") → handle
iskron_orient(realm="@<handle>/mind") → карта контуров
- Адрес — конвенция этого скилла, не факт мира. Никогда не сканируй
iskron_realm(action="list") в поисках «личного графа этого пользователя». (why: поиск в рантайме — то самое гадание, которое скилл убирает.)
Realm not found: "@<handle>/mind" — это ответ: контура ещё нет → §3. Не откатывайся к листингу графов.
- Handle стабилен: перечитывай раз в сессию, не на каждый вызов.
- Личный контур, уже живущий под другим слагом, решается на бутстрапе, один раз: переехать в
mind — или стаб на @<handle>/mind: один key:true-ориентир с настоящим адресом (холодная сессия платит один лишний orient).
§1 Вспоминание
Две глубины, оплачиваемые раздельно:
- Уровень карты — какой граф этим владеет, что у меня есть, какой контур: один
iskron_orient(realm="@<handle>/mind") без линзы. Возвращает: корневые узлы = контуры; attrs.key=true-ориентиры = карточки живых графов + правила маршрутизации; ACTIVE BIANHUA = собственные превращения человека. Ответь с карты — или назови граф и передай entry. Потолок: 2 вызова.
- Уровень факта — конкретный запомненный факт (путь на машине, ритм человека, срок): сначала поиск, orient пропусти —
iskron_search(realm="@<handle>/mind", q=<термин>), плюс iskron_semantic_search, когда память могла быть записана иначе, чем спрошено. Лексический q матчится по И и чувствителен к основе: один-два коротких термина на языке графа («caddy», «домен») — многословный запрос молча промахнётся мимо карточек, несущих все слова, кроме одного. Прочти бейдж модуса, прежде чем верить попаданию: atita — бывший факт, anagata — запланированный. Глубже — протокол entry (orient → search → look) внутри этого графа. Потолок: 3 вызова, дальше отвечай тем, что есть.
Два правила на обеих глубинах: два контура претендуют на вопрос → спроси одной строкой, назвав оба, — никогда не выбирай молча; промах — это ответ: «этого в памяти нет» бьёт уверенную выдумку, а промах, который пользователь поправил, — сигнал рефлексу записи (§1b).
§1b Рефлекс записи
Графовый близнец «стоит запомнить, некуда положить»: о пользователе + пригодится позже + не служит одному проекту → сюда. Формы — в references/personal-realm.md: собственные машины пользователя (§7), люди (§2b), датированные факты (§7), уроки (§8), находки, служащие нескольким контурам.
Классификация: чей это факт? Границы две, не одна. Инфраструктура, существующая ради этого проекта, — его серверы (staging, prod), его деплой-пайплайн, его датированные долги — принадлежит графу проекта, никогда не сюда, сколько бы серверы ни пережили репозиторий. Сюда принадлежит собственное пользователя, не служащее одному проекту: его личные машины, его сроки, люди, кросс-проектные уроки. Факт о другом контуре → граф того контура (карта его называет). Карточка здесь несёт только черты собственного предмета — процедура деплоя проекта не есть черта машины. (why: бенчмарки на холодных сессиях — на этой границе агенты ведут серверы проекта в граф проекта, а личные машины в mind; тесты одним вопросом промахиваются ровно там.)
Трёхходовая маршрутизация, по порядку: факт об этом проекте → его граф или AGENTS.md (правила персистентности репо); факт о другом контуре → заякорен в графе того контура, posed_to его стюарду (inquiry: якори там, где ориентируется адресат, не там, где стоишь); факт о пользователе, которым не владеет ни один проект, → сюда. Два стража на последней ветке: никогда — то, на что отвечает вызов (правило хранения ниже); никогда — вторая копия содержимого проектного графа.
Маршрутизация работает в обе стороны — где факт лежит, там его и искать: цель деплоя, черта машины, ритм человека, кросс-проектный урок читаются из @<handle>/mind посреди работы в репо ровно потому, что туда записаны. И записи всё равно предшествует чтение: найди карточку, прежде чем дописывать.
§2 Сверка (reconcile)
Консолидация памяти. По просьбе, при новом графе / машине / работе, или когда карта видимо отстала. Никогда на каденции вспоминания. (why: recall по цене reconcile пропускают — и тогда сессия гадает.)
Наблюдай — iskron_realm(action="list") · iskron_me(action="kartas") · iskron_org(action="list").
Продиффь и классифицируй каждую строку:
| Вердикт |
Ход |
| в мире есть, на карте нет |
классифицируй: контур + для чего, или подведи под одноразовый класс (§ хранения) |
| на карте есть, в мире нет |
сначала кристаллизуй, потом отпусти — спроси, что контур доказал; есть ответ — запиши grundsatz/bildung с arose_from к карточке, затем iskron_update(volitive_mode="visarjana") / онтика atita, с причиной |
| в обоих |
оставь |
(why кристаллизовать сначала: архивный граф никто не перечитывает. Отпускание без этого удаляет единственную часть завершённого контура с длинной ценностью.)
Прошей идентичность — в каждом живом графе, где человек держит роль: iskron_update(realm=<R>, node_id=<роль>, user="me", basis_version=<v>), либо user="me" при создании. Только роли, за которыми человек реально стоит. (why: связь — утверждение о реальности, и §4 не видит ничего другого.)
Промети (§4).
Доложи, что изменилось и что оставил за бортом. Молчаливая сверка читается как «всё в порядке».
Идемпотентна — повторный прогон трогает только сдвинувшееся.
§3 Бутстрап
Аудируй каждую заботу против источника и классифицируй absent / stale / correct (та же машинерия, что у iskronify). Не ветвись по «существует ли граф».
| Забота |
Род |
Absent → |
| какие графы/роли/организации существуют |
производное |
никогда не записывать |
| для чего каждый живой граф; контуры; что мертво |
авторское |
спросить пользователя |
| машины, деплои, чекауты |
авторское |
спросить пользователя |
| правила маршрутизации и одноразовых классов |
авторское |
предложить, пользователь подтверждает |
| стоячие предпочтения («как со мной действовать») |
авторское |
глобально инжектируемый файл инструкций каждого харнесса, который человек гоняет, — создай, если нет; один источник, слинкованный между харнесами; никогда не узел здесь |
Затем заполни по references/personal-realm.md и прогони §2 один раз — первая карта рождается сверенной.
Когда память не заводить (порог, предварительный): все три из ≤3 графов, один контур, без организаций → скажи это и остановись. (why: несверенная карта отвечает быстро и неверно; бутстрап каждому подряд — обряд, не инструмент.)
§4 Повестка поперёк всех графов
iskron_me(action="kartas") → [(граф, seq роли)]
iskron_search(realm=<R>, q="", posed_to=<seq>,
volitive_mode="chanda,adhimoksha,upeksha,virodha",
limit=100) → открытое, по графам
Три правила делают промётку честной:
- Фильтр — часть вызова. CSV
volitive_mode держит отвеченные и отпущенные строки (visarjana) вовсе вне провода.
- Два рода закрытых строк его переживают — роняй на чтении: строки с бейджем заката 🌅 (закрыты своим носителем) и
virodha-строки любого жанра, кроме risk (отклонённый вопрос закрыт; риск в virodha — жив, это его активный модус).
- Читай заголовок «N of M». За
limit страница усекается — а усечённая повестка выглядит полной. Листай, пока N = M.
Стояние человека в графе — роль, привязанная через user, обычно 主-роль владельца; агентские роли, которые человек гоняет, привязываются так же. Эта привязка и есть кросс-графовая идентичность. Стоячий webhook на привязанной роли (iskron_admin(action="add_webhook", node_id=<роль>, …)) превращает pull-промётку в push: граф будит тебя сам.
Мети и @<handle>/mind — долг, поставленный собственной 主-роли, больше нигде не живёт.
Цена = число живых контуров, не доступов. Карты без user-связи не появляются вовсе — §2.3 предусловие, не оптимизация.
Никогда не хранится. (why: сохранённая повестка утверждает вчерашние обязательства с сегодняшней уверенностью.)
Правило хранения
Храни только то, на что не ответит вызов — минус секреты: они и неотвечаемы, и всё равно никогда не хранятся.
| Никогда не хранить |
Хранить (авторское) |
| список графов, доступы, роли, членство в организациях |
для чего каждый живой граф; когда маршрутизировать туда |
| какие роли человек держит |
контур каждого графа; что мертво или дремлет |
| повестку §4 |
правила маршрутизации и именования |
| всё, что тул возвращает по требованию |
собственные машины и чекауты пользователя, тул-поверхности по машинам |
| вторую копию содержимого проектного графа |
людей каждого контура и что с ними открыто |
| секреты — креды, токены, ключи |
датированные факты: сроки, продления, циклы ревью |
| прозу, пересказывающую то, что orient уже показывает |
внешнее слово, служащее больше чем одному контуру (находка, бенчмарк, диагноз без единственного проекта); уроки, кристаллизованные из закрытых контуров (§2) |
- Классы, не карточки. Одноразовые графы (бенчмарк-прогоны, эксперименты) получают один grundsatz, именующий паттерн, — никогда карточку каждому. (why: правило переживает свою популяцию.)
Люди и датированные факты
- Человек — это роль: та, которую он играет в твоём контуре, с её мотивацией. Привяжи:
user=<его sub>, когда он на платформе (writing, Решение 2b); manifested_as="agantuka" 客 — когда отвечает на своём времени из-за твоей границы. Открытое с ним — вимарша posed_to этой роли, не заметка о нём.
- Дата — attr, не проза: срок, продление, цикл ревью —
sachverhalt с меткой времени в attrs (writing, Решение 4); повторяющийся долг — крия. attrs.parked_until и attrs.wake_condition несут «не сейчас, разбуди тогда» и чтятся детекторами устаревания — используй их вместо даты в описании.
Пределы
- Кросс-графовых стрелок не существует. Всё, что
@<handle>/mind говорит о другом графе, — проза и attrs, никогда ребро. Ни распространения, ни anga через графы.
- Не хаб. Единство §4 — из итерации, не из структуры. Держи граф тонким, чтобы он не притворялся иным.
- Вспоминание честно ровно настолько, насколько свежа последняя §2.
Приёмка
- Вспоминание уровня карты отвечает за ≤2 вызова — или задаёт один вопрос с кандидатами; уровень факта достаёт хранимое за ≤3 вызова, поиск-сначала.
- Промах вспоминания доложен промахом — и предложен записью.
Realm not found прочитан как маршрутизация (→ §3), не как сбой.
- В прокачанном репо вопрос маршрутизации сессии не срабатывает; вспоминание и записи поля пользователя работают и там.
- §2 идемпотентна и докладывает, что уронила.
- После §3
iskron_me(action="kartas") возвращает роль для каждого живого графа, где человек держит роль.
- Ничего выводимого в граф не записано.
- На пользователе, которому память не нужна: говорит это и останавливается.
1---2name: minding3description: Ум пользователя в графе — личный граф @handle/mind: вспоминание и запись рефлексом, не ритуалом. ЗАПИШИ: долгий факт о пользователе, не служащий одному проекту, — машины, сроки, люди, уроки → @handle/mind, не в память харнесса; серверы и датированные долги проекта — факты проекта: его граф, не сюда; факт о другом проекте → его граф через карту контуров. ВСПОМНИ: «вспомни», «что ты знаешь обо мне», «что на мне», do you remember. «запомни» → запись; «заведи мне память» → бутстрап. Нужны тулы iskron_*.4---56# Minding — ум пользователя в графе78`@<handle>/mind` держит то, что принадлежит пользователю и путешествует с ним: контуры, живые графы и их назначение, машины и деплои, людей его контекстов, датированные факты, уроки завершённой работы. Этот скилл — **память** этого графа: вспоминание и запись, **рефлексом, не ритуалом**. Оба рефлекса ключуются на **вопрос, не на сессию**: прокачанный репо убивает лишь маршрутизацию (AGENTS.md называет граф сессии) — остальное срабатывает из любой сессии.910Семантическое гнездо памяти, которую скилл несёт: санскр. **smṛti** (स्मृति) — память *и* памятование, у Патанджали — вритти ума, в абхидхарме — фактор удержания объекта; пали **sati** — присутствие-памятование; 中 **念** niàn — «сейчас» (今) над «сердцем» (心): держание в уме от мгновения к мгновению; греч. **anamnesis** — припоминание как возвращение знания; лат. **memoria**. Две стороны одного: удержание (запись) и возвращение (вспоминание) — и обе суть акты, не хранилище.1112## Два рефлекса1314| Рефлекс | Срабатывает когда | Ход |15|---|---|---|16| **ВСПОМНИ** (smaraṇa — акт возвращения) | пользователь просит («вспомни», «что ты знаешь…»); задаче нужно держание пользователя (цель деплоя, черта машины, ритм человека, срок); ничто не называет граф в игре; вопрос «что на мне» | §1 — чтение уровня карты или уровня факта; повестка → §4 |17| **ЗАПИШИ** (saṃskāra — отпечаток, формирующий будущее) | факт касается пользователя, пригодится позже и не имеет дома в проектном графе | §1b: в `@<handle>/mind` по скелету — никогда в локальную память харнесса |1819Бутстрап (§3) и сверка (§2) — только по явной просьбе.2021## Адрес2223```24iskron_me(action="whoami") → handle25iskron_orient(realm="@<handle>/mind") → карта контуров26```2728- Адрес — **конвенция этого скилла**, не факт мира. Никогда не сканируй `iskron_realm(action="list")` в поисках «личного графа этого пользователя». *(why: поиск в рантайме — то самое гадание, которое скилл убирает.)*29- `Realm not found: "@<handle>/mind"` — **это ответ**: контура ещё нет → §3. Не откатывайся к листингу графов.30- Handle стабилен: перечитывай раз в сессию, не на каждый вызов.31- Личный контур, уже живущий под **другим слагом**, решается на бутстрапе, один раз: переехать в `mind` — или **стаб на `@<handle>/mind`**: один `key:true`-ориентир с настоящим адресом (холодная сессия платит один лишний orient).3233## §1 Вспоминание3435Две глубины, оплачиваемые раздельно:36371. **Уровень карты** — какой граф этим владеет, что у меня есть, какой контур: один `iskron_orient(realm="@<handle>/mind")` без линзы. Возвращает: корневые узлы = контуры; `attrs.key=true`-ориентиры = карточки живых графов + правила маршрутизации; ACTIVE BIANHUA = собственные превращения человека. Ответь с карты — или назови граф и передай **entry**. Потолок: 2 вызова.382. **Уровень факта** — *конкретный* запомненный факт (путь на машине, ритм человека, срок): **сначала поиск, orient пропусти** — `iskron_search(realm="@<handle>/mind", q=<термин>)`, плюс `iskron_semantic_search`, когда память могла быть записана иначе, чем спрошено. Лексический `q` матчится по И и чувствителен к основе: один-два коротких термина **на языке графа** («caddy», «домен») — многословный запрос молча промахнётся мимо карточек, несущих все слова, кроме одного. Прочти бейдж модуса, прежде чем верить попаданию: `atita` — *бывший* факт, `anagata` — запланированный. Глубже — протокол **entry** (orient → search → look) внутри этого графа. Потолок: 3 вызова, дальше отвечай тем, что есть.3940Два правила на обеих глубинах: два контура претендуют на вопрос → спроси одной строкой, назвав оба, — никогда не выбирай молча; **промах — это ответ**: «этого в памяти нет» бьёт уверенную выдумку, а промах, который пользователь поправил, — сигнал рефлексу записи (§1b).4142## §1b Рефлекс записи4344Графовый близнец «стоит запомнить, некуда положить»: о пользователе + пригодится позже + не служит одному проекту → сюда. Формы — в `references/personal-realm.md`: собственные машины пользователя (§7), люди (§2b), датированные факты (§7), уроки (§8), находки, служащие нескольким контурам.4546**Классификация: чей это факт?** Границы две, не одна. Инфраструктура, существующая ради **этого проекта**, — его серверы (staging, prod), его деплой-пайплайн, его датированные долги — принадлежит графу проекта, никогда не сюда, сколько бы серверы ни пережили репозиторий. Сюда принадлежит **собственное** пользователя, не служащее одному проекту: его личные машины, его сроки, люди, кросс-проектные уроки. Факт о **другом** контуре → граф того контура (карта его называет). Карточка здесь несёт только черты собственного предмета — процедура деплоя проекта не есть черта машины. *(why: бенчмарки на холодных сессиях — на этой границе агенты ведут серверы проекта в граф проекта, а личные машины в mind; тесты одним вопросом промахиваются ровно там.)*4748Трёхходовая маршрутизация, по порядку: факт об **этом** проекте → его граф или AGENTS.md (правила персистентности репо); факт о **другом** контуре → заякорен в графе *того* контура, `posed_to` его стюарду (**inquiry**: якори там, где ориентируется адресат, не там, где стоишь); факт о **пользователе**, которым не владеет ни один проект, → сюда. Два стража на последней ветке: никогда — то, на что отвечает вызов (правило хранения ниже); никогда — вторая копия содержимого проектного графа.4950**Маршрутизация работает в обе стороны** — где факт лежит, там его и искать: цель деплоя, черта машины, ритм человека, кросс-проектный урок *читаются* из `@<handle>/mind` посреди работы в репо ровно потому, что туда записаны. И записи всё равно предшествует чтение: найди карточку, прежде чем дописывать.5152## §2 Сверка (reconcile)5354Консолидация памяти. По просьбе, при новом графе / машине / работе, или когда карта видимо отстала. **Никогда на каденции вспоминания.** *(why: recall по цене reconcile пропускают — и тогда сессия гадает.)*55561. **Наблюдай** — `iskron_realm(action="list")` · `iskron_me(action="kartas")` · `iskron_org(action="list")`.572. **Продиффь и классифицируй** каждую строку:5859 | Вердикт | Ход |60 |---|---|61 | в мире есть, на карте нет | классифицируй: контур + для чего, или подведи под одноразовый класс (§ хранения) |62 | на карте есть, в мире нет | **сначала кристаллизуй, потом отпусти** — спроси, что контур доказал; есть ответ — запиши `grundsatz`/`bildung` с `arose_from` к карточке, *затем* `iskron_update(volitive_mode="visarjana")` / онтика `atita`, с причиной |63 | в обоих | оставь |6465 *(why кристаллизовать сначала: архивный граф никто не перечитывает. Отпускание без этого удаляет единственную часть завершённого контура с длинной ценностью.)*66673. **Прошей идентичность** — в каждом живом графе, где человек держит роль: `iskron_update(realm=<R>, node_id=<роль>, user="me", basis_version=<v>)`, либо `user="me"` при создании. Только роли, за которыми человек реально стоит. *(why: связь — утверждение о реальности, и §4 не видит ничего другого.)*684. **Промети** (§4).695. **Доложи, что изменилось и что оставил за бортом.** Молчаливая сверка читается как «всё в порядке».7071Идемпотентна — повторный прогон трогает только сдвинувшееся.7273## §3 Бутстрап7475Аудируй каждую заботу против источника и классифицируй **absent / stale / correct** (та же машинерия, что у **iskronify**). Не ветвись по «существует ли граф».7677| Забота | Род | Absent → |78|---|---|---|79| какие графы/роли/организации существуют | производное | никогда не записывать |80| для чего каждый живой граф; контуры; что мертво | авторское | спросить пользователя |81| машины, деплои, чекауты | авторское | спросить пользователя |82| правила маршрутизации и одноразовых классов | авторское | предложить, пользователь подтверждает |83| стоячие предпочтения («как со мной действовать») | авторское | глобально инжектируемый файл инструкций каждого харнесса, который человек гоняет, — создай, если нет; один источник, слинкованный между харнесами; никогда не узел здесь |8485Затем заполни по `references/personal-realm.md` и прогони §2 один раз — первая карта рождается сверенной.8687**Когда память не заводить** (порог, предварительный): **все три** из ≤3 графов, один контур, без организаций → скажи это и остановись. *(why: несверенная карта отвечает быстро и неверно; бутстрап каждому подряд — обряд, не инструмент.)*8889## §4 Повестка поперёк всех графов9091```92iskron_me(action="kartas") → [(граф, seq роли)]93iskron_search(realm=<R>, q="", posed_to=<seq>,94 volitive_mode="chanda,adhimoksha,upeksha,virodha",95 limit=100) → открытое, по графам96```9798Три правила делают промётку честной:99100- **Фильтр — часть вызова.** CSV `volitive_mode` держит отвеченные и отпущенные строки (`visarjana`) вовсе вне провода.101- **Два рода закрытых строк его переживают — роняй на чтении:** строки с бейджем заката 🌅 (закрыты своим носителем) и `virodha`-строки любого жанра, кроме risk (отклонённый вопрос закрыт; риск в `virodha` — *жив*, это его активный модус).102- **Читай заголовок «N of M».** За `limit` страница усекается — а усечённая повестка выглядит полной. Листай, пока N = M.103104Стояние человека в графе — роль, привязанная через `user`, обычно **主-роль владельца**; агентские роли, которые человек гоняет, привязываются так же. Эта привязка и *есть* кросс-графовая идентичность. Стоячий webhook на привязанной роли (`iskron_admin(action="add_webhook", node_id=<роль>, …)`) превращает pull-промётку в push: граф будит тебя сам.105106**Мети и `@<handle>/mind`** — долг, поставленный собственной 主-роли, больше нигде не живёт.107108Цена = число **живых** контуров, не доступов. Карты без `user`-связи не появляются вовсе — §2.3 предусловие, не оптимизация.109110Никогда не хранится. *(why: сохранённая повестка утверждает вчерашние обязательства с сегодняшней уверенностью.)*111112## Правило хранения113114**Храни только то, на что не ответит вызов** — минус секреты: они и неотвечаемы, и всё равно никогда не хранятся.115116| Никогда не хранить | Хранить (авторское) |117|---|---|118| список графов, доступы, роли, членство в организациях | для чего каждый живой граф; когда маршрутизировать туда |119| какие роли человек держит | контур каждого графа; что мертво или дремлет |120| повестку §4 | правила маршрутизации и именования |121| всё, что тул возвращает по требованию | собственные машины и чекауты пользователя, тул-поверхности по машинам |122| вторую копию содержимого проектного графа | людей каждого контура и что с ними открыто |123| секреты — креды, токены, ключи | датированные факты: сроки, продления, циклы ревью |124| прозу, пересказывающую то, что orient уже показывает | внешнее слово, служащее **больше чем одному** контуру (находка, бенчмарк, диагноз без единственного проекта); уроки, кристаллизованные из закрытых контуров (§2) |125126- **Классы, не карточки.** Одноразовые графы (бенчмарк-прогоны, эксперименты) получают **один** grundsatz, именующий паттерн, — никогда карточку каждому. *(why: правило переживает свою популяцию.)*127128### Люди и датированные факты129130- **Человек — это роль**: та, которую он играет *в твоём контуре*, с её мотивацией. Привяжи: `user=<его sub>`, когда он на платформе (**writing**, Решение 2b); `manifested_as="agantuka"` 客 — когда отвечает на своём времени из-за твоей границы. Открытое с ним — вимарша `posed_to` этой роли, не заметка *о нём*.131- **Дата — attr, не проза**: срок, продление, цикл ревью — `sachverhalt` с меткой времени в `attrs` (**writing**, Решение 4); повторяющийся долг — крия. `attrs.parked_until` и `attrs.wake_condition` несут «не сейчас, разбуди тогда» и чтятся детекторами устаревания — используй их вместо даты в описании.132133## Пределы134135- **Кросс-графовых стрелок не существует.** Всё, что `@<handle>/mind` говорит о другом графе, — проза и attrs, никогда ребро. Ни распространения, ни `anga` через графы.136- **Не хаб.** Единство §4 — из итерации, не из структуры. Держи граф тонким, чтобы он не притворялся иным.137- **Вспоминание честно ровно настолько, насколько свежа последняя §2.**138139## Приёмка140141- Вспоминание уровня карты отвечает за ≤2 вызова — или задаёт один вопрос с кандидатами; уровень факта достаёт хранимое за ≤3 вызова, поиск-сначала.142- Промах вспоминания доложен промахом — и предложен записью.143- `Realm not found` прочитан как маршрутизация (→ §3), не как сбой.144- В прокачанном репо вопрос маршрутизации сессии не срабатывает; вспоминание и записи поля пользователя работают и там.145- §2 идемпотентна и докладывает, что уронила.146- После §3 `iskron_me(action="kartas")` возвращает роль для каждого живого графа, где человек держит роль.147- Ничего выводимого в граф не записано.148- На пользователе, которому память не нужна: говорит это и останавливается.