SRE · HAM · Профиль сборки
Разбор по файлам собственного репозитория: что реализовано, что частично, что осталось на бумаге.
Python 3.11 с PyTorch считает векторы и поиск; C++ и Rust расширения, сервер FastAPI, TCP-сервер на подмножестве RESP, витрина на Next.js. Единого статического билда продукта нет.
3 реализовано · 2 частично · 1 не реализовано · 1 в плане · 1 иллюстративно
Что читается в коде
HAM расшифровывается как Holographic Associative Memory: магия файла SRHAM1 и описание FastAPI; базовый класс — HolographicMemory
Файл
sre/store/persistence.pyВекторы считаются локально через sentence-transformers clip-ViT-B-32 (около 512 измерений, текст и изображение); внешний API эмбеддингов не вызывается
Файл
sre/memory.pyПоиск: запрос кодируется комплексной одномерной волной, затем один плотный torch.matmul по всем сохранённым волнам плюс topk — перебор O(N) на запрос
Файл
sre/memory.pyНет ANN-индекса (HNSW, IVF, LSH) и нет BM25 или полнотекстового поиска: только точный плотный перебор
Файл
sre/store/search.pyРасширение C++ sre_ext (около 558 строк): интерференция в 3D, Barnes-Hut, дефрагментация, план шардирования, усечение Matryoshka; собирается CI
Файл
sre_csrc/grid_interference.cppРабочая область Rust: 15.0.0, шесть крейтов, но Python импортирует только sre_storage.RustWal; ключевые функции sre-tensor и sre-spatial — заглушки
Файл
sre-core-rs/Cargo.tomlУзел FastAPI: REST /api/v1 с JWT, ролями RBAC, ограничением частоты и метриками Prometheus, плюс маршруты /v1 в формате OpenAI
Файл
sre/server/main.pyВ репозитории лежит таблица измеренной задержки: 0.270 мс при 100 записях до 182.379 мс при 100 000
Файл
docs/SCIENTIFIC_QA_REPORT.md
Состояние модулей
реализовано
Голографическая память и плотный семантический поиск
Локальные векторы CLIP, волновой код и полная матрица torch.matmul с topk возвращают корректные результаты; задержка растёт с объёмом корпуса.
Файл
sre/memory.pyреализовано
Сервисный узел с аутентификацией, RBAC, метриками и кластером
REST /api/v1 и маршруты в стиле OpenAI реализованы и подключены: JWT, роли, slowapi, Prometheus, broadcast-поиск и синхронизация WAL.
Файл
sre/server/main.pyреализовано
Персистентность .holo с WAL на Rust
Снимок torch.save, необязательный numpy memmap для крупных тензоров и дописываемый JSONL WAL с fsync через sre-storage.
Файл
sre/store/persistence.pyчастично
Опциональное нативное ускорение на C++
sre_ext содержит настоящие ядра, но Python импортирует его в try/except с запасным путём torch, поэтому нативная скорость необязательна.
Файл
sre/wave.pyчастично
TCP-сервер RESP — подмножество
sre/redis реализует часть протокола на asyncio порту 6379; полного совместим с Redis это не составляет, несмотря на название.
Файл
sre/redis/__init__.pyне реализовано
Пространственные и тензорные ядра Rust, мультимодальный приём
sre-tensor — заглушка, insert() в sre-spatial пуст и интерференция возвращает ноль. Встраиваются только текст и изображение, парсится только Markdown.
Файл
sre-core-rs/sre-spatial/src/lib.rsв плане
Движок на границе: WASM и WebGPU
docs/RUST_WASM_PORT.md — явный поэтапный план; сейчас существуют только склейка sre-wasm и модуль sre-wave, краевые векторы ONNX не реализованы.
Файл
docs/RUST_WASM_PORT.mdиллюстративно
Витрина sre_studio
Значения телеметрии берёт Math.random с подписью Simulate live data, а HologramCanvas — декоративная анимация без связи с движком.
Файл
sre_studio/src/components/Telemetry.tsx
Как это проверено
Поиск линейный, а не константный
Описание пакета обещает O(1) semantic search, но каждый запрос делает один torch.matmul по всей матрице db_waves плюс topk.
Файл
pyproject.tomlВычисления остаются в Python
Документ утверждает полный вынос расчёта в C++ и Rust, но wave.py импортирует sre_ext с запасным torch, а matmul выполняется в Python.
Файл
sre/wave.pyЗадержки действительно измерялись и сохранены
В docs/SCIENTIFIC_QA_REPORT.md лежит таблица от 0.270 мс (100) до 182.379 мс (100k); она же опровергает утверждение, что 10M документов равны 100k по скорости.
Файл
docs/SCIENTIFIC_QA_REPORT.mdВитрина не подключена к ядру
Ни один компонент sre_studio не обращается к движку поиска: метрики генерируются на клиенте, графика декоративная.
Файл
sre_studio/src/components/Telemetry.tsx
Границы утверждений
- Выдача — переборный плотный скан O(N); ANN-индекса для больших корпусов в коде нет.
- Поддерживаемые модальности — текст и изображение; приём аудио, видео и исходного кода не реализован.
- Крейты sre-spatial и sre-tensor нерабочие: объявленные алгоритмы возвращают ноль или заглушку.
- Готовые нативные бинарники зависят от платформы и не отслеживаются git, поэтому расширения пересобирают на каждой машине.
- Идентификаторы версий разошлись: pyproject 17.0.0, Cargo 15.0.0, TS SDK 11.0.0, заголовок FastAPI V5.
- Документация называет шифрование фазовых смещений квантово-стойким и говорит о гомоморфном шифровании; в коде это аддитивные смещения от локального ключа.
- Репозиторий называется math-wave, а пакет распространяется как sre-ham; отдельного веб-продукта math-wave внутри нет.
Почему живой сборки нет
Почему живой сборки нет
Публиковать как сайт нечего: продукт — библиотека и сервис на Python. Витрина sre_studio собирается Next.js, но показывает смоделированные метрики и не подключена к движку.