Паттерны архитектора личности
Личность Decima-8 строится не из программных ветвлений, а из устойчивых сочетаний входного алфавита, параметров тайлов, локального графа допуска, доменов и правил сброса. Архитектор использует эти сочетания как строительные блоки.
Паттерн здесь означает не распознаваемый объект и не pattern_id, а
повторяемую схему проектирования органа личности.
Все основные схемы можно сначала прожить руками в интерактивной WebGL-лаборатории, а затем сверить с формальными правилами ниже.
Карточка паттерна
Перед выпечкой для каждого органа фиксируются:
| Поле | Вопрос |
|---|---|
| Назначение | Какое событие орган различает? |
| Единицы входа | Что физически означает каждый уровень VSB? |
| Возбуждение | Как орган набирает состояние? |
| Утечка | За какое время прежнее воздействие теряет значение? |
| FIRE | В какой коридор должен войти аккумулятор? |
| Повторный взвод | Когда орган снова имеет право выдать событие? |
| Сброс | Какие домены очищаются после решения? |
| Инварианты | Что обязано оставаться верным на любой допустимой ленте? |
Без этой карточки численные пороги теряют физический смысл и личность становится зависимой от случайного масштаба входа.
Интегратор с утечкой
Один unlocked-тайл уже реализует простейший орган памяти:
state <- decay_toward_zero(state + W x VSB)
Сильные и частые импульсы накапливаются, редкие следы исчезают. Время памяти
задаётся совместно весами, decay16 и коридором фиксации. Это не буфер
последних кадров: хранится итог взаимодействия потока с личностью.
Паттерн подходит для давления, частоты повторений и накопленного согласия нескольких входных линий.
Коридорный детектор
Тайл выдаёт FIRE не при условии «выше порога», а при входе signed-аккумулятора в коридор:
thr_lo16 <= state <= thr_hi16
Верхняя граница позволяет отличить ожидаемую силу воздействия от перегруза. Слишком слабый и слишком сильный сигнал могут иметь разный смысл.
Коридор должен проверяться вместе с реальным диапазоном входного алфавита. Иначе орган либо никогда не откроется, либо будет постоянно находиться в активной области.
Порог с гистерезисом
Если непрерывный уровень колеблется возле одного порога, обычный crossing порождает пачку событий. Для событийного органа используется два уровня:
ARMED:
level >= fire_level -> FIRE, перейти в DISARMED
DISARMED:
level <= rearm_level -> перейти в ARMED
rearm_level < fire_level
Это гидравлический аналог триггера Шмитта. Верхний уровень открывает клапан, нижний снова взводит его. Между ними орган сохраняет состояние и не реагирует на дребезг.
Гистерезис отличается от debounce:
- не требует таймера;
- не скрывает несколько независимых экскурсий;
- выдаёт ровно одно событие на одно полное прохождение уровня;
- сохраняет физические единицы входа.
Паттерн может быть реализован входным органом Conductor или отдельной
антагонистической группой тайлов. Если преобразование выполнено до VSB, его
fire_level, rearm_level, единицы и версия алфавита входят в manifest
личности наравне с параметрами .d8p.
Цепочка последовательности
Локальное ребро передаёт потомку разрешение вычисляться, но не данные. Поэтому цепочка выражает порядок условий:
условие A
-> разрешить тайл B на следующем такте
-> условие B
-> разрешить тайл C
Каждый узел слышит новый кадр общей VSB. Такой орган различает развитие события во времени, а не один составной кадр.
Параллельный fan-out
Независимые гипотезы нельзя укладывать в одну последовательную магистраль. Короткий импульс успеет открыть только ближайшие ветви, и дальняя часть каталога станет физически недостижимой.
Для альтернативных ветвей каждый корень получает независимое разрешение:
Геометрическая компактность не важнее временной достижимости. Пекарь обязан
проверить каждый заявленный путь реальным runtime, а не только структурой
файла .d8p.
Схождение и доменная конкуренция
Несколько ветвей могут описывать разные пути к одному классу события. Их финальные тайлы помещаются в общий домен и получают приоритеты.
Домен:
- объединяет альтернативные объяснения;
- разрешает коллизии детерминированно;
- выдаёт один
pattern_id; - может сбросить использованную память через
reset_on_fire_mask16.
Доменная конкуренция не заменяет доказательство признаков. Она выбирает победителя среди уже физически достижимых ветвей.
Согласование масштаба
Одна и та же личность может слушать разные источники только после согласования
их физического диапазона с VSB. Уровень 15 обязан означать определённую
физическую силу воздействия, а не случайный максимум конкретного файла.
Для каждого входного контура фиксируются:
- единицы исходной величины;
- deadband;
- полный диапазон Level16;
- уровни FIRE и повторного взвода;
- причинное окно, если оно используется;
- версия преобразователя.
Базовая нормализация и семантика линий остаются замороженными внутри проверяемого контура. Но динамический диапазон живого источника может меняться сильнее, чем рабочая область абсолютных порогов тайлов. В этом случае перед swarm применяется причинный, ограниченный и полностью воспроизводимый AGC.
AGC не меняет назначение линий и не выбирает правильное событие. Он удерживает
вход возле рабочей точки личности. Его алгоритм, параметры, состояние и warmup
становятся частью runtime manifest; без них .d8p уже недостаточно для
воспроизведения контура.
Гистерезис устраняет повторные crossing-события возле порога, но не исправляет неверный масштаб. Глухой вход после триггера Шмитта останется глухим, а насыщенный будет выдавать редкие, но всё ещё физически неразличимые события.
Сброс как управление восприимчивостью
Reset не является технической уборкой после FIRE. Он вмешивается в физику следующего решения: удаляет часть накопленного состояния, снимает защёлки и тем самым меняет чувствительность личности к будущему входу.
Два byte-identical органа после общей предыстории могут ответить на один и тот же тестовый импульс по-разному, если один из них был сброшен:
response = F(current_stimulus, baked_personality, accumulated_state,
gain, decay, reset_history)
Это даёт архитектору несколько разных механизмов:
- refractory: победивший орган временно теряет накопленную готовность и не создаёт серию одинаковых FIRE;
- rearm: новый цикл становится возможен только после физически заданного возврата состояния;
- смена гипотезы: FIRE одного домена очищает память конкурирующей версии происходящего;
- локальная новая история: сбрасывается не вся личность, а только домены, для которых началось новое причинное окно.
Слишком частый reset делает орган глухим: поток не успевает накопиться. Слишком редкий оставляет старую историю в новом событии и способен удерживать орган возле порога. Поэтому политика сброса проектируется вместе с весами, утечкой и коридором, записывается в runtime manifest и проверяется replay.
В сценарии Reset и восприимчивость два одинаковых органа получают одну финальную посылку. Отличается только их прожитое состояние, поэтому различается и результат.
Обязательная проверка
Новый орган проходит как минимум следующие тесты:
- Одинаковые вход и начальное состояние дают byte-identical след.
- Каждый заявленный путь способен привести к своему FIRE.
- Постоянный уровень выше порога не создаёт повторных crossing-событий.
- Возврат только в гистерезисную зону не взводит орган.
- Возврат ниже
rearm_levelразрешает следующее событие. - Ни один альтернативный корень не зависит от длины соседней ветви.
- Сброс очищает только заявленные домены.
- Нормализация и состояние AGC записаны в manifest и воспроизводятся без будущих данных.
Эти проверки относятся к физике личности. Прикладной директор может интерпретировать готовые события, но не способен исправить глухой, перевозбуждённый или недостижимый орган.