# Журнал работы — 15 октября 2026 ## Ночь (продолжение): выход, обучаемый дофамином по ошибке, внутри KNP Пользователь: «начинай, связь со мной не нужна». Цель — перенести в KNP правило, проверенное в симуляторе (выход «цель − ответ» × вход). ### Код - `examples/.../models/altai/construct_network.cpp`: режим `KNP_DELTA=,`. Метка подаёт дофамин +a нейронам своего класса с задержкой 1 на каждом активном шаге; собственный спайк нейрона даёт ему дофамин −b на следующем шаге (проекция input→input, исключена из сети распознавания). Нет торможения по метке (−30000) и принуждения через гейт; у нейронов выключены Хебб (d_h=0), стабильность и порог от суммы весов. Используется с `KNP_COL_SIZE=1` (один нейрон на класс). - `.../models/altai/spike_generators.cpp`: при `KNP_DELTA` метка отправляется на шагах 0–9 (а не на 11-м). - `readout/build_delta_cpu.py` → `/home/int/run/delta-cpu/libknp-cpu-delta-backend.so`: изолированная копия бэкенда; `KNP_DELTA_RULE=<скорость>` — у нейрона с дофамином D ≠ 0 каждый обучаемый синапс, чей входной спайк пришёл с отставанием `KNP_DELTA_LAG` шагов, меняет ресурс на скорость·D (независимо от спайка самого нейрона); `KNP_DELTA_DEBUG` печатает гистограмму отставаний. Оригинальные библиотеки не менялись. - Отладка: при отставании 0 обновлений не было (веса не менялись); гистограмма: отставания 1/2/3 = 406 тыс./252 тыс./120 тыс., 0 — ни одного. Дофамин приходит на шаг позже входа → `KNP_DELTA_LAG=1`. - Пробный прогон (признаки coarse, 3000 обучение, 1000 проверка, 10 нейронов): скорость 0,3 — 48,5%, 1 — 76,8%, 3 — **77,4%** (колонки 200 нейронов на том же объёме: 69,8% без наказания, до 79% с наказанием). - `cats-dogs/source`: те же изменения (`construct_network.cpp`, `spike_generators.cpp`), пересобран `cats_dogs`; `cats-dogs/run.py --backend delta`. - Запущены: `readout/delta_runs.sh` (MNIST coarse, 30 000, 6 вариантов) и кошки/собаки на плотных признаках `features-v3/kmeans_validation` (2048 входов, 18 000 обучение, скорости 0,3/1/3). ### Результаты обучения дофамином по ошибке в KNP (validation) MNIST, признаки coarse, 30 000 обучение, 10 000 проверка, 10 выходных нейронов (`KNP_COL_SIZE=1`), порог 60, торможение 255: | скорость | a | b (штраф за свой спайк) | разброс | верно | | --- | --- | --- | --- | --- | | 1 | 1 | 1 | 20 | 85,17% | | 3 | 1 | 1 | 20 | 86,25% | | 3 | 1 | 1 | 0 | 85,86% | | 10 | 1 | 1 | 20 | 79,42% | | 3 | 1 | 0,5 | 20 | 59,79% | | 1 | 1 | 2 | 20 | 91,43% | | 3 | 1 | 2 | 20 | 93,27% | | 10 | 1 | 2 | 20 | 93,02% | | 3 | 1 | 3 | 20 | 94,31% | | 3 | 1 | 4 | 20 | 94,76% | | 3 | 1 | 6 | 20 | **94,81%** | Для сравнения на тех же признаках: колонки STDP (200 нейронов) — 79,7% без наказания, 83,5% с наказанием 0,012; выход, обученный вне чипа (ridge, спайковый) — 94,9%. Симулятор на `dl_r3_a1_b2_j20`: 93,26% (KNP 93,27%); порог 20–160 и торможение 0/255 — 87,7–93,7%. Кошки/собаки, плотные выученные признаки `features-v3/kmeans_validation` (2048 входов, K=512, без разреживания), 18 000 обучение, 1000 проверка, 2 нейрона, разброс 0: | скорость | b | верно | | --- | --- | --- | | 0,3 | 1 | 50,1% | | 1 | 1 | 54,5% | | 3 | 1 | 58,4% | | 3 | 2 | 65,8% | | 10 | 2 | 65,6% | | 10 | 4 | 65,6% | | 3 | 4 | **69,1%** | Колонки STDP на этих же плотных признаках молчали (≈0%), на разреженных top-256 — 64–65%; ridge на этих uint8-признаках 74,2%, спайковый нейрон-разность 72,4%. Симулятор `dl_cd_r3_b4`: порог 30–250, торможение 0/255 — 67,6–68,8%. - MNIST, штраф b: 8 — 94,22%; 12 — 92,42% (оптимум b = 4–6). Устойчивость `dl_r3_a1_b6_j20` (симулятор, 2000): как есть 94,5%, сдвиг 2 px 87,5%, толще 90,8%, тоньше 84,0%. - MNIST с аугментацией A (`fcoarseA_val90000`, 90 000, r3 b6): KNP **94,63%**; устойчивость — 94,6 / **91,3** / 91,2 / 80,8%. - Кошки/собаки, ещё b: r3 b6 63,5%, r3 b8 62,2%, r3 b12 60,0%, r1 b4 67,7%, r1 b8 68,4%. - `cats-dogs/source`: размер входа — `get_input_size()` из `KNP_MNIST_INPUT_SIZE` (по умолчанию 2048), пересобран. `objects/make_knp_features.py --model --name`. Признаки онлайн WTA: K=800 (3200 входов) — r3 b4 65,3%, r1 b8 67,2%; K=1600 (6400) — 65,9% / 67,2%. - Три прохода по обучению (обучающая часть ×3 с новым перемешиванием, `*_x3_validation`, 54 000): K=512 — r1 b4 67,3%, r1 b8 65,0%, r3 b4 66,4%; K=1600 r1 b8 63,2%. Не помогает. - Вывод по объектам: в KNP дофамин по ошибке даёт 65–69% (колонки STDP — 64–65% на разреженных, ≈0% на плотных); ridge на тех же признаках — 74%. Вероятная причина разрыва — ограниченный и несимметричный диапазон весов KNP (−253…+92) и насыщение ресурса. - `KNP_W_RANGE=,` (MNIST и cats-dogs `construct_network.cpp`): диапазон обучаемых весов. Кошки/собаки r3 b4: ±120 — 66,1%, ±250 — 66,4% (r1 b8 — 61,8%), ±500 — 64,9% (по умолчанию −253…+92 — 69,1%). Гипотеза про диапазон не подтвердилась. Разброс весов большой (σ 91 при стандартном диапазоне, 177 при ±250); вероятнее, мешает онлайн-обучение за один проход с крупными шагами. ## Утро: всё на платформе — распознавание транспорта (цель — демо для беспилотников) Решения пользователя: живое демо; тезис «нейроморфный Алтай заменяет нейросеть для распознавания объектов в беспилотных системах»; всё (и признаки, и обучение) должно работать в KNP. - Скорость KNP на свёрточном слое (`altai-objects/bench_conv.cpp`, однопоточный бэкенд, случайный вход 0,4): K=32 шаг 2 — 0,06 с/картинку, 0,2 ГБ; K=100 шаг 2 — 0,25 с, 0,7 ГБ; K=200 шаг 2 — 0,95 с, 1,4 ГБ; K=100 шаг 1 — 1,8 с, 2,6 ГБ (~320 байт на синапс). - Данные: CIFAR-10 с Hugging Face (`uoft-cs/cifar10`, parquet; официальный сервер давал ~37 КБ/с). `altai-objects/prepare_vehicles.py` → `~/run/cifar/vehicles`: самолёт/автомобиль/корабль/грузовик; train 16 000 (первые 4000 каждого класса), val 4000 (последние 1000), test 4000 (официальный, не просмотрен). pyarrow установлен в `~/anvenv`. - Проверка замысла в numpy (`altai-objects/retina_proto.py`): сетчатка ON/OFF (DoG σ 0,5/1,5, усиление 4) → онлайн WTA на кусочках 6×6×6 → вычитание среднего узора (линейно) → пулинг по четвертям → ridge. Кошки/собаки v3, K=200 шаг 2: 70,2% (с нормировкой и ZCA при том же размере — 73,6%). Транспорт: **76,0%**. - `altai-objects/altai_objects.cpp` (сборка `altai-objects/build.py`): режим `features` — кусочки 12×12 → сетчатка (216 нейронов AltAI, фиксированные веса DoG×1000) → K детекторов STDP-AltAI, взаимное торможение и дофамин от собственного спайка; режим `run` — полная сеть пиксели → сетчатка 6×32×32 → детекторы K×196 (выученные веса минус средний, целые) → выход (дофамин по ошибке), затем веса читаются из бэкенда и фиксируются для проверки. - Бэкенд: `KNP_DELTA_DECAY=d` — у нейрона с дофамином D неактивные синапсы меняются на −скорость·D·d (соревновательное обучение). - `altai-objects/export_knp.py` (ошибка: многократное чтение npz съело 31 ГБ — исправлено), `score_features.py` — быстрая оценка узоров (только для настройки). Ориентиры (K=64, 6000 обучение): узоры WTA в numpy 68,0%, случайные веса 62,2%; первая проба KNP (5000 кусочков, убавка 0,2) — 60,9%. Сетчатка: в среднем 10% входов спайкают за шаг. ### Обучение узоров в KNP (до уточнения пользователя) и смена курса - Соревновательное обучение узоров в KNP (`features`, `altai-objects/feature_grid.sh`, оценка `score_features.py`, K=64, ориентиры: WTA в numpy 68,0%, случайные 62,2%): постоянная убавка (`KNP_DELTA_DECAY`) — 64–65,6% при любых скорости, пороге, торможении (26 вариантов); нормировка порогом AltAI (`KNP_SUMTHR`) — без изменений; сильнее обучение — детекторы замолкают; убавка, пропорциональная весу (`KNP_DELTA_WDECAY`), — 54,8% и очень медленно (55–98 мин на 100 000 кусочков, прогоны остановлены). Длительное торможение (`KNP_DET_NEG`, `KNP_DET_LEAK`, `KNP_SELF_INHIB`): утечка AltAI отводит отрицательный потенциал дальше от нуля при положительном значении; при отрицательном — слишком много спайков. - Запечатление (`KNP_IMPRINT=1`: кусочек c учит детектор c через канал дофамина; numpy: K=200 — 71,4% против 73,0% у WTA): в KNP K=200 — 69,6–70,9% (лучшее 70,9%: 10 повторов, скорость 100). - **Уточнение пользователя: важен инференс на Алтае, обучение может быть вне платформы.** Курс: обучение обычным кодом, распознавание целиком в KNP. - `altai-objects/altai_infer.cpp`: распознавание в KNP — пиксели (спайки) → детекторы K × позиции (целые веса на 6×6×3 пикселей, смещение через постоянно активный вход) → нейроны классов (веса на (четверть, тип детектора), смещение с задержкой 2). Пишет числа спайков детекторов по четвертям (для обучения выхода) и спайки классов. - `altai-objects/build_model.py`: k-средние без деления на контраст на кусочках транспорта, свёртка центровки/ZCA/узора в целые веса ±127, порог — 99-й перцентиль. K=200 шаг 2: масштаб 37,6, порог детектора 135, смещения −13…−5. KNP: 0,8 с/картинку, 1,5 ГБ, ~36 тыс. спайков детекторов на картинку. - `altai-objects/run_counts.sh`: параллельный сбор чисел спайков из KNP (train, train_flip, val; 14 процессов). `altai-objects/train_readout.py`: ridge на этих числах → целые веса классов ±255, смещение по шагам, порог по обучающей выборке. ### Состояние на 11:20 (сессию выключают) - Идёт сбор чисел спайков из KNP: `altai-objects/run_counts.sh model_k200 counts_k200` (в `~/run/altai-objects`, 14 процессов, 36 частей по 1000 картинок: train, train_flip, val). Готовые части помечены `counts_k200/*.done`; при перезапуске скрипт пропускает готовые. - Дальше: `~/anvenv/bin/python altai-objects/train_readout.py ~/run/altai-objects/model_k200 ~/run/altai-objects/counts_k200` → веса классов в `model_k200`; затем распознавание проверочной выборки целиком в KNP: `altai_infer /home/int/run/cifar/vehicles/val_images.bin model_k200 ` (частями параллельно) и точность по `_classes.csv` против `val_labels.txt`. Тест (`test_images.bin`) — один раз в конце. - Потом: страница демо (локальный сервер → `altai_infer` на одной картинке), сравнение с обычной CNN. ## Продолжение в новом чате: native Linux и настоящий GPU-бэкенд KNP По запросу пользователя репозиторий склонирован в `/home/user/KNP`, HEAD8fe6c3a. Система заменена: теперь user@10.9.8.230, Ubuntu26.04.1/native Linux, hostname knp, GPU RTX4070TiSUPER/драйвер595.99.02. Ключевой SSH-доступ настроен. Прежние WSL-runtime/готовые части отсутствуют. Прочитана новая передача: важен инференс транспорта в KNP, обучение разрешено вне платформы. Подробные команды, новые файлы, ошибки подготовки и ограничения: [Отчёт_Linux_GPU.md](Отчёт_Linux_GPU.md). Восстановлены CPU-сборка в `~/KNP/build`, Python в `~/anvenv`, CIFAR/vehicles в `~/run/cifar/vehicles` с фиксированной HF revision и SHA256, kmeans-модель K200/stride2 с порогом135. Добавлены переносимые CMake-цели/пути и возобновляемый collection/evaluation pipeline. Полная CPU/test-suite не запускалась, целевые проверки перечислены в отчёте. Пользователь дополнительно потребовал GPU. Создан `altai-objects/gpu` и `build/bin/libknp-altai-cuda-backend.so` — реальный KNP backend AltAILIF/Delta, CUDA Driver+NVRTC, device-resident состояния/очереди/CSR, host message bus, без STDP. Драйвер не меняли. Проверены точные биты состояний и спайки на101 шаге в каждом из двух режимов, mixed signs/duplicates/multipleprojections/delays1..64, guards; реальные counts8/32 совпали CPU/GPU. 32 изображения после stream-фикса: CPU31,537с wall/27,161с execution против CUDA4,832с/0,342с. Это detector-only контроль, не FPS одиночного кадра; ~6,5× wall и~79,5× execution. В KNP добавлен no-copy receive_messages без изменения сигнатуры update; счётчики в altai_infer собираются по шагам, исправлен выход pixel_gen за границу на конечном шаге. Старые/новые counts CPU/GPU8/32 совпали. По ревью Astra исправлены проверки ошибок записи; /dev/full приводит к exit1, результаты нормального прогона неизменны. Основной pipeline запущен PID47256: `~/anvenv/bin/python -u ~/KNP/altai-objects/vehicle_pipeline.py --backend cuda --jobs 2 --chunk 1000`. Каталог `~/run/altai-objects/native-cuda`: collection36000, offline ridge, отдельный CPU/CUDA gate класса, validation4000. Официальный test не запускается. Пока работает — не пересобирать/изменять веса и входные данные. Не сбрасывать произвольно границы chunk: нейроны сохраняют остаточный потенциал между картинками. Результаты/статус брать из pipeline.json и validation/metrics.json; при записи журнала итог ещё не получен. Код не коммитили и не пушили. ## Итог нового запуска — завершён Последняя истина: pipeline.json `completed/done=true/failed=false`, повторный PID49452 завершился. Старые разделы о работающем PID47256 и промежуточном сбое описывают историю, а не текущий процесс. Новых обучений/сборов в фоне не осталось. Полный collection36000 успешно получен на GPU; readout обучен offline на train+flip. После исправления glob обучение завершено, предиктор целиком проверен в KNP на4000 validation: **2850/4000 = 71.25%**, молчаний0, равных максимальных ответов426 (правило argmax выбирает первый класс). По классам: airplane746/1000, automobile741/1000, ship636/1000, truck727/1000. Это validation, не итоговая test-оценка. Точность ridge на тех же KNP counts74,48% — диагностический ориентир, не число KNP-нейронного readout. Официальный test не запускался. Полная сеть с readout: CPU/GPU побайтно совпали по detector counts и class CSV на8/32 изображениях. На32: CPU wall32.140с, GPU wall6.218с, ускорение5.17×; executor.start CPU26.418с против GPU0.369с (71.6×). Не смешивать с приведёнными выше detector-only замерами. Для всей validation4000 дополнительно проверено: добавление readout не меняет детекторные counts против предыдущего collection при одинаковых chunk1000, все четыре файла совпали побайтно. Доказательство detectors-readout-independence.json. Во время collection наблюдалась фактическая загрузка GPU99% в одном сэмпле nvidia-smi; это не среднее за опыт. Итоговые параметры readout: lambda1000, threshold120, веса классов в ±255. Обученная полная модель: `~/run/altai-objects/native-cuda/model_readout`. Финальные метрики: `validation/metrics.json`; сводка `~/run/native-migration/final-summary.json`. Артефакты source diff/исходников и модели сохранены отдельно в native-migration, копии на машине ассистента — `/opt/neiro/reports/native-gpu-artifacts`. Следующий шаг: поднять долгоживущий демо-сервер, согласовать reset/сохранение состояния между кадрами и оценку того же протокола, затем улучшать readout (сейчас10,65% ties) по validation. Не менять границы частей и не обещать одиночный кадр за batch-time. Test сохранить до финального выбора модели. ## MNIST: отдельная проверка цифр на native Linux По просьбе пользователя запущен `/home/user/run/mnist-native-20261015/run_mnist.py`. Канонические train/test побайтно сверены с MNIST.zip; штатная CPU-STDP сеть AltAI обучена на 60 000 и проверена на 10 000 test. Настройки: jitter20, seed42, columns20, threshold60, additional_threshold scale0, inhibition255. Исходники не менялись. Итог: **9223/10000 = 92.23%**, молчаний 144, неверных немолчаливых ответов 633, положительных ties 196; wall 344.284 с. Покартинковые голоса восстановлены из stdout и совпали с evaluator по всем классам. Предыдущие 71,25% — validation транспорта CIFAR, другая задача. GPU-STDP отсутствует; GPU-инференс MNIST в этом опыте не заявлен. Подробности: `reports/2026-10-15/Отчёт_MNIST_native.md`; артефакты: `/home/user/run/mnist-native-20261015`. Объектные модели не менялись, commit/push не выполнялись. ## Запуск существующего сайта рисования MNIST По просьбе пользователя найден и запущен существующий `/home/user/KNP/viz/altai_viz.html`; доступен http://10.9.8.230:8080/altai_viz.html, вариант со сдвигами — /aug_viz.html. Перед запуском порт8080 был свободен. Добавлены только `/home/user/run/mnist-viz/server.py` и `start.sh`: detached `nohup` Python ThreadingHTTPServer на0.0.0.0:8080, document root строго `/home/user/KNP/viz`, PID58749, log `server.log`, pid `server.pid`. Автозапуск ОС не включали; файлы сайта и веса не меняли. Для HTML явно задан charset=utf-8. Проверки извне: обе страницы HTTP200, UTF-8 и meta charset корректны, JSON с2моделями разбирается. Это исторический браузерный JS-симулятор, не новый CUDA backend и не веса нового92,23% CPU-MNIST-прогона. Команды restart/stop и точные пути — `/home/user/run/mnist-viz/README.md`. ## Новая быстрая гибридная IF-модель для сайта Создана собственная сеть784→256integerIF→линейныйreadout10,128шагов, offlineNumPyобучение на55000train,5000validation, seed20261015; выборcheckpoint/stepsтолькоvalidation. Каноническийtest10000:9830верных=98,30% против9223=92,23% старойKNPсети на техжеизображениях. Это другаяhybridархитектура, еёинтеграциявKNP/GPUнепроверена. Test2534(пользовательская3)→3, нетtrain/selectionпоэтомупримеру. Новаястраница http://10.9.8.230:8080/fast_viz.html; ссылкидобавленывстарыеaltai_viz.html/aug_viz.html. Нормализацияbbox20+центрмассы, автоответ, blank, clear, testгалерея, mouse/touch. CDP85примеров: bytes/IFcounts/scores/predictionточноPython=JS; realmouse/touch1→1; clear/debounce/mobilepass. Fixedstress shift2=97,74%,thicker96,85%,thinner91,41% (ограничение). ИсходникиKNP/mnist-fast, webKNP/viz/fast*, runtime~/run/mnist-fast; полныйотчёт reports/2026-10-15/Отчёт_MNIST_fast.md. ПрежнийHTTPсерверPID58749работает, автозапускОСне меняли, GPUbackendобъектовне меняли, commit/pushнет. ## Нативный AltAI — завершено (основной ассистент) По уточнению пользователя перенесено распознавание в настоящие AltAILIF/Delta:784 rate inputs→256 hidden→160 opponent outputs, host только кодирование и декодирование счётчиков. Model SHA256 0a93f4a987d0021337b48c1d6333e7fa0fcb38ac3a43c49f8fcad19276b6548c. Обучение offline, train55000/validation5000; полные10000 test дали9776 в KNP CPU и CUDA, ВСЕ hidden/output counters exact. Официальный backend1.0.2 AltAIv1_GoldenModel:первые1000 test,975 правильных, все счётчики точны;8 независимых процессов,2 копии,стандарт4×4. Полный10000 официальный GM не запускался. Неуспешные8-копийные прогоны4×4/8×8 сохранены как FAILED; финальный код GM>2 запрещает. Новый сайт http://10.9.8.230:8081/native_viz.html исполняет реальный C++ граф через API CPU или официальный GM. CPU single request~114–165мс,GM regression2534→3~6,126с; browser mouse/touch/blank/clear/parity проверены. Ранее гибридная JS сеть98,30% и старые страницы8080 сохранены отдельно. Исходники mnist-altai-native, runtime /home/user/run/mnist-altai-native, executable/officialdeps /home/user/run/altai-official-probe. Исчерпывающие команды/неуспехи/проверки в Отчёт_AltAI_native.md и source/README.md. CPU64,889/CUDA11,6164с — одинаковый таймер ModelExecutor, без чтения данных/построения графа; не сравнивать со143,273с всего официального1000-пакета как одну нагрузку. Вся новая реализация выполнена лично после лимита исполнителя. Astra3/3 проверила архитектуру, исправлены stale markers, точные IDs и fingerprints, атомарная сборка. Другие subagents не запускались после запрета пользователя. Все локальные отчёты/журналы/передачи импортированы в reports/imported-neiro-2026-10-15 с пофайловой SHA256-сверкой; последняя истина IMPORT-MANIFEST.json и IMPORT-VERIFIED.json. Пакет модели и доказательств runtime/native-model-and-proofs.tar.gz, копии также в импортированных отчётах. Сервисы8080/8081 оставлены работающими, ОС-autostart/commit/push не делались. ## AltAI Pet lab — финальный результат Создан собственный нелинейный hidden256 поверх KNP convK200;40эпох offlineMLP train+mirror, checkpoint/квантование/readout только validation. Root-L2 нормализация фиксированная на хосте, все learned operations в KNP. Первый экспорт `runtime/head` содержал переполненные пороги у слабых нейронов и не был развёрнут. `adapt_head.py` создалвалидный`head-v2`: prune71overflowunits,32rescalethresholds,refitreadoutтолькоtrain/val. Smoke успешно подтвердил256hidden и2outputs exactCPU/CUDA/reference. Послефиксациимодели final:validation1437/2000=71,85%, officialtest1427/2000=71,35%; на всех4000 exacthidden/outputreferenceCUDA. FullCPUtestнепроводился. HeadSHA1b5b8a716d19741cdd873713e60697a7adba26755dc90b3b08281d1a4b60e417;pipelineweightsSHA41cbd3bc6a5bfeb17f8cac2575b26052ab3945a72b45956836c3ca3df6db200f. Astra3/3финальныйобзор: исправленыserverстароймодели→head-v2,подключеноencode+KNP hidden+KNPoutput; BILINEAR32contractзафиксирован; добавленыsmoke/fingerprintgate,adversarialresetcap64наCPU/CUDA;reset/absguardsпереведенывint64,INT_MINfixtureотвергается;HTTPadmission≤4/sockettimeout15/GPUlockпередdecode,upload8MB/16MP,subprocesstimeouts/modelSHAguard. Другиеагентынезапускались. Новый`pets_worker.cpp`/`worker.py`держитKNPgraph/GPUзагруженным;6requestsdetectorcountsпобайтноexactобычномуrunnerпослеwhite/black/repeat. Первыйstartup5,69s,следующиеdetector1–5ms;непутатьсвсейклассификацией. Head/readoutпокаотдельныепроцессы. ПолныйAPI4запроса392–444ms,ответыиобаoutputспайкаexactfinaltestCSV. API400malformed/200+429parallelпроверены. Server8082PID116676,worker116704;актуальностьчерезruntime/server.pid. АвтозапускаОСнет. Сайт http://10.9.8.230:8082/:24testпримеров(первые12каждогокласса,безотбораудачных),свояфотография,32×32input,реальнаяheatmap,числоспайков/время,честноуказанhostpool/normalization/routingиGoldenModelnotverified. EmojiнеотрисовывалисьвChromium,замененыSVG. ChromiumCDPповторнопроверилdesktop,mobile390nooverflow,realfilepicker,staleresponse,JSerrors0. T3previewоткрытпользователю,automationявнонеподдерживается. Скриншоты и JSON `reports/pets-knp-artifacts`. `train_head.py`исправлендляследующегообучения(scaleclampдоcast/resetnormbound/floatcheckpoint,head-next);историческийtrain_head_legacy.pyсохранён. Syntheticnearzeroweightregressionпрошёлвremotevenv;локальныйnumpyнеустановлен,ничегонеустанавливали. Новоевсеполноеобучениеисправленнымтренеромне запускалось,head-v2не менялся. Полныйотчёт `reports/2026-10-15-pets-knp.md`,команды/source `experiments/pets-knp/README.md`,HANDOFFиAGENTSобновлены. Исходникинастанции`/home/user/KNP/pets-knp`;runtime`/home/user/run/pets-knp`. Сборкиатомарныевотдельныеpetsбинарники;KNPбиблиотеки/старые8080/8081/моделине менялись. Сохраняется`model-and-proofs.tar.gz`+SHA(source,модели,proofs,разбиенияданных),копиявreports/pets-knp-artifacts,всеотчётысинхронизируютсянастанциюсSHA. Pet lab: финальный перенос подтверждён — 261 файл imported-neiro-2026-10-15 с SHA каждого; model-and-proofs.tar.gz 61517274 bytes,153 members,SHA 2cfefd3c2617aef48e2bfaefa672311d89fb88d657b42354eb77101d66718b55. Локальная копия и tar members проверены. Сайт8082 оставлен запущенным. ## Аппаратный аудит / муха остановлена / GitSSH ТекущаяPetlab несовместима с Алтай2какесть:ёмкостьпрототипа,палитравесов,потенциалы16bit,hostnormalization. Свереныдокументыивеса,отчёт Отчёт_Аппаратный_аудит_и_статус.md;runtime/pets-knp/hardware-feasibility.json. Пользовательявноостановилмуху:толькоотменённаяручнаязаготовкасобрана,неисполнялась,сайтанет. Поего запросунаэтойстанциисоздан~/.ssh/id_ed25519_git_snw(+.pub),Hostgit.snw.suнастроен. Privateнепередавался;Gitpush/remoteне менялись. Все264отчётныхфайлаимпортированы сSHA;публичныйZIP на public.agent.snw.su/knp-reports-2026-10-15.zip.