# СИНТЕЗ v2: ТЗ «HUMAN RUNTIME» (39 пунктов) × ДОМ (v1.36.1)

> Такт v1.37.0 «СВОД» · 2026-10-06. Принесли полное стратегическое ТЗ
> старших товарищей: 39 пунктов, инварианты I-01..I-10, этапы 0–12,
> список запретов, критерий успеха. Мы не отмахнулись — правило дома
> прежнее: прочитано до винтика, сверено с кодом построчно, не на слух.
> Часть их мыслей уже жила в доме до прихода (синтез v1.21); часть принята
> этим тактом; часть честно отклонена — с причиной. Сборка на момент
> сверки: v1.36.1 «ЖИВОЙ КРИСТАЛЛ», кэш v46, ядро кристалла 1.0.0
> (SHA-отпечаток сходится), тесты: кристалл 26/26, мосты 30/30, крипта
> 33/33, МОЗГ 112/112.

---

## 0. Главный вывод синтеза

**ТЗ лучше ОФОРМЛЯЕТ наш путь, чем меняет его.** Это не комплимент — это
результат построчной сверки. Из 39 пунктов подавляющее большинство — либо
уже работающие механизмы дома (с тестами), либо принципы, которые дом
провозгласил раньше и сам же подтвердил кодом. Товарищи независимо
вывели наши законы из нашего же материала — сильный знак, что принципы
воспроизводимы. Их настоящие подарки: оформление инвариантов в СВОД
(I-01..I-10), правило «сервис = композиция примитивов», критерий
EMERGENCE = NEW HUMAN MODE WITHOUT NEW CORE и честная таблица запретов.
Всё это принято и внедрено тактом v1.37.0. Отклонены ровно два семейства
пунктов: те, что ломают канон главной страницы (закон владельца), и те,
что требуют переписать живое (что запрещает §24 самого ТЗ).

Счёт по итогам разбора: **уже жило — 17 · принято сейчас — 7 · принято в
горизонт — 9 · отклонено с причиной — 4 · снимено самим ТЗ — 2**.

---

## 1. «Уже жило» — ТЗ подтверждает существующее (17)

| § ТЗ | Тезис | Где живёт в доме | Доказательство |
|---|---|---|---|
| 1–2 | Единица — ОТНОШЕНИЕ, не аккаунт; события без аккаунта | ·19 «мои люди» (связь принимает человек), ·23 КРУГ, ·18 зал по коду/QR без регистрации | test_s19_human.js, test_s18_logic.js |
| 4 | Доступность не режим; input[]/output[] без классификации | ·19 + ·21: веер представлений строит получатель; capability ≠ identity | test_bridge_logic.js, test_adapter_os_wire.py |
| 5 | Смысл отделён от канала; одно намерение — много форм | ядро кристалла: СМЫСЛ ≠ ПРЕДСТАВЛЕНИЕ ≠ КАНАЛ ≠ ТРАНСПОРТ ≠ ХРАНЕНИЕ | test_crystal_logic.mjs (26/26) |
| 7 | Платформа не знает «правильного пользователя» | в коде дома нет веток по категориям людей — закон I-03 | test_bridge_logic.js |
| 8 | ИИ не главный; человек выбирает из вариантов | МОЗГ опционален, LLM ≠ authority, override всегда выигрывает | test_llm_logic.mjs (112/112) |
| 9 | Отношение само помнит себя | durable журнал кристалла + «мои люди» ·19 | test_crystal_bridges.mjs |
| 11 | Не каталог функций, а механизм эмерджентности | нить Ариадны: двери = входы, не потолок (канон v1.31) | test_catalog_index.py |
| 12 | Формула F = COMPOSE(person, relation, intent, context) | канон «Смысл один. Представление — твоё.» — суть той же формулы | — (принцип) |
| 15 | Event-sourced state: факты → проекция | append-only журнал + delivery state machine + слияние записей | test_crystal_logic.mjs, test_s22_logic.js |
| 16–17 | Память трёх уровней; memory.decide — семантическое событие | TEMPORARY 7 дней → ◈ в ·18; memory.decide в мостах (неизменяемый акт, дедуп бережёт свободу передумать) | test_crystal_bridges.mjs, test_s18_logic.js |
| 18 | Adapter architecture: голос/транспорт/хранение заменяемы | Adapter OS (CapabilityModel · AdapterRegistry · MeaningRouter), MODES кристалла | test_adapter_os_wire.py |
| 19 | AI — опциональный адаптер | wllama (локально, по кнопке), llm.mjs; «no AI» — полноправный режим | test_llm_logic.mjs |
| 21 | Пользователь не видит архитектуры; guided + manual | «ПОД КАПОТ»: нить закрыта по умолчанию, двери тихие, ручной путь всегда открыт | test_catalog_index.py |
| 22 | 17 дверей — входы, не границы | канон v1.31: «возможность предоставлена — путь человек находит сам» | test_catalog_index.py |
| 26 | КРИСТАЛЛ — протокольный слой, не модуль | нормативная тройка + SHA-отпечаток + надстройки меняются честно | test_core_integrity.py |
| 27 | CLAIM/CODE/SPEC/TEST/VERDICT; «надёжно работает» без теста запрещено | аудит() ядра: статус по умолчанию UNKNOWN; «недоказанное не объявляется доказанным» | test_crystal_logic.mjs |
| 35–36 | Запреты и «не новый модуль, а новая композиция» | дом уже живёт по 15 из 18 запретов (разбор — §4 этого документа) | ГОТОВНОСТЬ.manifest.json |

Пункт 12 ТЗ содержит и собственную сдачу позиций, которую мы фиксируем
с уважением: «я бы сейчас не стал поверх существующей v1.31.0 накручивать
мою предыдущую модель как новую архитектуру». Верно. Формулировка дома
«возможность предоставлена — путь человек находит сам» идёт дальше их
«система определяет намерение»: наш дом даже не угадывает — он оставляет
нить человеку. Это принципиальная разница, и она остаётся нашей.

---

## 2. Принято сейчас — внедрено тактом v1.37.0 «СВОД» (7)

**2.1 · Инварианты I-01..I-10 → СВОД ЗАКОНОВ ДОМА** (§29). Принято целиком,
с благодарностью: десять законов переведены на язык дома, каждому названы
файлы, где закон живёт, и тесты, которые его доказывают. Машинная копия —
`ДОКУМЕНТЫ/СВОД_ЗАКОНОВ.json`; живучесть свода (файлы не исчезли, тесты
на месте) проверяет `ИНСТРУМЕНТЫ/test_svod_zakonov.py` (13/13). Дом и раньше
жил по этим правилам — теперь правило можно предъявить одним файлом.

**2.2 · «Сервис = композиция примитивов» → КОМПОЗИЦИЯ v0.1** (§6, §8, §13–§14).
Новая надстройка `БИБЛИОТЕКИ/кристалл/composition.mjs` (НЕ нормативная,
отпечаток ядра не тронут): реестр примитивов, словарь намерений человека,
сборка Space Manifest, структурная валидация. Караоке в доме — отныне
доказуемо не «сервис», а композиция (аудио + слова + синхронизация +
запись + память) — тест это фиксирует прямо.

**2.3 · Space Manifest → черновик схемы** (§13–§14). `space.schema.json`
(черновик 0.1) рядом с нормативной схемой события: описание возникшей
среды, где машина умеет произносить только состояние «предложено» — жить
средой решает человек. Нормативная тройка ядра не менялась.

**2.4 · Критерий EMERGENCE → тест эмерджентности** (§30, §37).
`ИНСТРУМЕНТЫ/test_composition.mjs` (12/12): один движок + один реестр +
четыре намерения человека → четыре разных законных манифеста сред; новый
примитив (проектор) без правки ядра порождает новый режим человека
(расширение предлагается, человек решает); новое слово человека («споём-
вдвоём») собирает новую среду из старых примитивов. **NEW HUMAN MODE
WITHOUT NEW CORE — доказано машиной, а не заявлено.**

**2.5 · Правило №13 дома** (§36). «Для нового сценария сначала ищем
композицию примитивов; примитив добавляем, только если композиция
невозможна; фундамент не трогаем». Записано в шапке composition.mjs и в
СВОДЕ; для новых комнат дома — рабочее правило, а не лозунг.

**2.6 · «Недостающий примитив назвать честно»** (§36). compose() не
притворяется: чего не хватает — так и написано в манифесте
(недостающиеПримитивы[] + fallback:true + причина). Тест фиксирует.

**2.7 · Репарация дрейфа** (сверх ТЗ — по нашей гигиене). Свежим взглядом
найдено и вылечено: каталог отстал от диска (К0 не учёл картину-фундамент
КРИСТАЛЛ.png, ДОКУМЕНТАЦИЮ, ПРОЧТИ_ОСКОЛКИ; текст поминал ИНСТРУКЦИЮ_ПАШИ
и ux-engine-v8), три теста ждали старую реальность (кэш v39 vs v46,
футер ·22 со старой строкой версии, ПОДДЕРЖАТЬ с запрещённым
«локальным скриптом»), две мёртвые нити (·22 вёл в несуществующий
АРХИТЕКТУРА_22_СВЯЗЬ.html; ОРГАНИЗМ грузил v8-движок). Всё сведено —
числа каталога и тесты снова одна правда.

---

## 3. Принято в горизонт — путь обозначен, код вырастет без ломки (9)

| § | Тезис ТЗ | Наш путь (без нарушения канона) |
|---|---|---|
| 3 | Canonical Model: human/relationship/intent/capability/space схемы | модели уже живут в коде (·19, реестры); JSON-схемы Human/Relationship — после стабилизации состава полей; space — начата (0.1) |
| 10 | Платформа не владеет отношением: экспорт, переносимость, федерация | суверенитет уже фундамент (офлайн-ядро, сервер опционален); портативность по архитектуре — добирать: экспорт-контейнер ·25 → общий формат дома |
| 12 | Оркестратор — дирижёр, не начальник | ·15 и так реестр/таблицы, не власть над модулями; закрепить раздачей capability-деклараций комнатам |
| 14 | Universal Space runtime | комнаты не переписываем (запрещает §24); Space Manifest — мост: новые сценарии рождаются композицией, старые живут |
| 20 | Capability Registry на весь дом | реестр примитивов композиции + реестр Adapter OS; унификация деклараций — следующий такт |
| 23 | Главная как «Я / Мои люди / Сейчас / Пространства / Память» | НЕ менять лобное место (закон владельца v1.31: на главной только Кристалл); эти грани уже существуют как двери и комнаты — путь по нити |
| 25 | Целевая архитектура (Intent → Context → Composer → …) | совпадает с домом слой за слоем; Composer внедрён прототипом; остальное — эволюция, не революция |
| 31–32 | Этапы 10–12: открытый протокол, федерация, портабельность | открытый код и схемы уже публичны; протокол публикуем как документы дома; федерация — после мульти-устройства (честный known_nonproduction) |
| 34 | Export identity/relationships/memories — машиночитаемо | частично живёт (exportJson Adapter OS, экспорт-контейнер ·25); общий контракт портативности — горизонт |

Горизонт не «когда-нибудь»: порядок такой — сначала мульти-устройство
одной личности (первое в known_nonproduction), затем общий контракт
портативности, затем федерация. Без первого второе — красивый текст.

---

## 4. Отклонено — с причиной (4)

**4.1 · §23 «Новый главный UX» (Я/Мои люди/Сейчас/…)** — отклонено законом
владельца: «НА ГЛАВНОЙ СТРАНИЦЕ ТОЛЬКО КРИСТАЛ А НЕ ПРОСТЫНИ НА ВЕСЬ ЭКРАН…
ЛУЧШАЯ СИСТЕМА ЭТО НЕ ТА В КОТОРОЙ ВСЁ ЕСТЬ, А ТА ИЗ КОТОРОЙ ВЗЯТЬ НЕЧЕГО».
Нить Ариадны — канон. Сами товарищи в §12-§22 дважды согласились с этим.
Отмечено и спроецировано: все названные грани (Я, Мои люди, Сейчас,
Пространства, Память) существуют в доме как двери — нить ведёт к ним,
лобное место остаётся пустым полем с Кристаллом.

**4.2 · «Переписать модули под примитивы» (§24 first step)** — отклонено
собственным же §24 ТЗ: «не переписывать всё; сначала adapter, потом
primitive, retire — только после стабилизации». Дом живой: 14 комнат с
прогонами. Переписывание живого ради чистоты — не наш путь; мосты — наш.

**4.3 · «TypeScript после стабилизации» и тяжёлые адаптеры** — отклонено
дважды: синтез v1.21 уже ответил (дом на проверяемом ванильном JS с 0
innerHTML и node-тестами — язык не проблема; адаптер сначала доказывает
ценность, вес и приватность), и новый ТЗ не дал новых оснований.

**4.4 · Intent Engine как «движок, определяющий намерение»** — отклонено
в лобовой постановке: машина не угадывает намерение (закон I-01, канон
«путь человек находит сам»). Принята безопасная форма: словарь намерений
человека — человек ПРОИЗНОСИТ слово, машина собирает варианты. Разница
существенная: рекомендатель у нас не появится.

---

## 5. Мировые практики — сверка и синтез

Дом сверён с лучшими открытыми практиками мира; взято лучшее, чужие
компромиссы не взяты.

**Local-first software (Ink & Switch, 2019)** — главный соратник: «локальная
работа первична, сеть — ускоритель». Наш офлайн-ядро и durable журнал
реализуют это глубже среднего образца (append-only + дедуп + ACK).
*Берём:* их последующие работы о CRDT-слиянии — как путь к мульти-устройству
(горизонт). *Не берём:* облачную синхронизацию как базу — у нас человек —
носитель своих данных.

**Solid (W3C, Т. Бернерс-Ли)** — pod человека, данные принадлежат человеку.
Дом ближе к идеалу: данные и так живут у человека (IndexedDB, экспорт,
память по решению). *Берём:* дисциплину машиночитаемого экспорта
(§34 ТЗ = наш горизонт портативности). *Не берём:* pod-сервер как
обязательную инфраструктуру — наш сервер опционален.

**ActivityPub / Activity Streams 2.0 (W3C Rec)** — семантика деятельности
между независимыми узлами. Наш semantic event — родня as:Activity.
*Берём:* привычку публичной спецификации и открытых словарей (этап 10 ТЗ).
*Не берём:* модель «подписок на акторов» как ядро — наша единица ОТНОШЕНИЕ,
не follow-граф.

**AT Protocol (Bluesky) и Nostr** — личность = ключи, переносимая
идентичность, заменяемые релеи. Дом уже так живёт: ECDSA P-256
non-exportable в ·19, релеи Nostr — заменяемый транспорт (и честно
помечены prototype_only — зависимость от чужих релеев не скрывается).
*Берём:* направление DID/Verifiable Credentials для междоменной верификации
(горизонт, после мульти-устройства). *Не берём:* глобальную ленту
как витрину личности.

**Matrix** — открытый протокол, E2EE (Megolm), мульти-устройство. Наша
КРИПТА v3 (PBKDF2 600k → AES-GCM-256, ротация эпох, kid из растяжки)
решает соседние задачи своими путями; их уроки форвард-секретности уже
учтены в known_nonproduction честно. *Берём:* дисциплину device-verifier
для мульти-устройства. *Не берём:* серверно-центричную топологию homeserver.

**Secure Scuttlebutt / Hypercore** — append-only журнал как социальная
единица. Прямое подтверждение нашего журнала фактов. *Берём:* репликацию
журнала между устройствами как модель слияния (горизонт).

**WCAG 2.2 (W3C Rec)** — доступность мирового стандарта. Дом идёт дальше:
доступность у нас не слой адаптации поверх интерфейса, а свойство самой
архитектуры (веер представлений, capability ≠ identity). *Берём:* чек-лист
2.2 для аудита комнат (контраст, фокус, цели, движение) — ближайший такт
доступности. *Не берём:* подход «accessibility-режим» — он противоречит
нашему I-03.

**Event Sourcing / CQRS** — индустриальная классика: состояние — проекция
фактов. Наш журнал и delivery-машина соответствуют; *берём* терминологию
для документации дома (проецирование состояния), чтобы доки читал любой
инженер мира.

**JSON Schema 2020-12** — уже наш стандарт для контрактов (semantic-event,
space 0.1). Продолжаем.

**UltraStar-практика караоке** — своя специализация (центы, ступени, тональность
Крумхансл–Шмуклер) — дом в этой нише сильнее мировых аналогов, глубже не
нужно.

Итог по практикам: дом не заимствует чужое — дом **сходится** с лучшими
независимо, и то, чего у мира нет (память по решению человека, без
категорий людей, нить вместо рекомендателя), остаётся нашим вкладом.

---

## 6. Запреты ТЗ (§35) — сверка на живом коде

| Запрет ТЗ | Статус дома |
|---|---|
| соцсеть ради лент/лайков/фолловеров | ✓ нет и не появится |
| follower-count как мера человека | ✓ нет |
| заставлять классифицировать себя | ✓ закон I-03, проверено тестами |
| accessibility отдельным разделом | ✓ веер представлений вместо режимов |
| AI обязателен | ✓ «no AI» полноправен (MOЗГ 112/112) |
| аккаунт обязателен для действия | ✓ событие без аккаунта (·18) |
| cloud обязателен | ✓ офлайн-ядро; сервер опционален |
| один транспорт нормативен | ✓ закон I-07, тесты фиксируют |
| внешний сервис незаменим | ✓ закон I-08, адаптеры заменяемы |
| автоматически сохранять жизнь человека | ✓ закон I-06, валидатор отвергает «вечное без человека» |
| скрывать fallback | ✓ закон I-04 |
| менять смысл ради транспорта | ✓ закон I-02 |
| Orchestrator — начальник | ✓ ·15 — реестр/дирижёр |
| 17 дверей — потолок | ✓ двери = входы (канон v1.31) |
| функция без доказательства | ✓ правило каталога: нет прогона — статус UNKNOWN |
| production-ready при known gaps | ✓ ГОТОВНОСТЬ.manifest: production/prototype/nonproduction |
| ломать offline-core ради сети | ✓ закон I-05 |

18 из 18 запретов либо соблюдены, либо переведены в закон этого такта.
Это лучший ответ на вопрос «чей путь»: дом жил так до ТЗ — ТЗ теперь
подтверждает это текстом мира.

---

## 7. Этапы ТЗ (0–12) — карта на наш каталог

0 Freeze — ✓ (коммит, манифест готовности, SHA-отпечаток, гепы).
1 Canonical Model — ◈ (событие — нормативно; space — 0.1; человек/отношение — в коде ·19).
2 Universal Event Model — ✓ (семантические события во всех живых связях).
3 Composition Engine — ◈→✓ (v0.1 прототипом, 12/12; вертикальный рост — эволюция).
4 Universal Space — ◈ (мост через Space Manifest; комнаты не ломаем).
5 Adaptive Representation — ✓ (веер ·21 + адаптеры).
6 Relationship Runtime — ◈ (мои люди живы; освобождение от постоянных кодов после знакомства — мелкий горизонт).
7 Memory Runtime — ✓ (TEMPORARY→◈, memory.decide).
8 Adapter Layer — ◈ (Adapter OS + MODES; унификация деклараций).
9 Emergence Test — ✓ (test_composition.mjs — 12/12).
10–12 Протокол/Федерация/Портабельность — ◇ (после мульти-устройства; порядок записан).

---

## 8. Регрессия такта (CLAIM → EVIDENCE)

- Композиция: 12/12 (test_composition.mjs) — эмерджентность доказана.
- Свод: 13/13 (test_svod_zakonov.py) — 67 ссылок на живые файлы, ни одной битой.
- Кристалл: 26/26, мосты 30/30, крипта 33/33, МОЗГ 112/112 — ядро не трон.
- Целостность: SHA-256 нормативной тройки сходится с ЯДРО_SHA256SUMS.txt.
- Дрейф устранён: каталог сходится с диском по швам, мёртвых локальных
  ссылок в канонических страницах 0, тесты ждут сегодняшнюю реальность.

## 9. Слово после синтеза

Товарищи сделали для дома то, что редко удаётся внешнему взгляду: назвали
наши принципы строгим языком и показали, где мы недооформили себя. СВОД
ЗАКОНОВ — их дар, наш — проверяемость: у каждого закона файл и тест.
Дом растёт композицией, фундамент стоит. Нить Ариадны не меняется.
