SRE · HAM

SRE · HAM · Профиль сборки

Разбор по файлам собственного репозитория: что реализовано, что частично, что осталось на бумаге.

Python 3.11 с PyTorch считает векторы и поиск; C++ и Rust расширения, сервер FastAPI, TCP-сервер на подмножестве RESP, витрина на Next.js. Единого статического билда продукта нет.

3 реализовано · 2 частично · 1 не реализовано · 1 в плане · 1 иллюстративно

Концептуальная иллюстрация: SRE · HAM. Не скриншот продукта

Что читается в коде

  • 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

Состояние модулей

  1. реализовано

    Голографическая память и плотный семантический поиск

    Локальные векторы CLIP, волновой код и полная матрица torch.matmul с topk возвращают корректные результаты; задержка растёт с объёмом корпуса.

    Файл sre/memory.py

  2. реализовано

    Сервисный узел с аутентификацией, RBAC, метриками и кластером

    REST /api/v1 и маршруты в стиле OpenAI реализованы и подключены: JWT, роли, slowapi, Prometheus, broadcast-поиск и синхронизация WAL.

    Файл sre/server/main.py

  3. реализовано

    Персистентность .holo с WAL на Rust

    Снимок torch.save, необязательный numpy memmap для крупных тензоров и дописываемый JSONL WAL с fsync через sre-storage.

    Файл sre/store/persistence.py

  4. частично

    Опциональное нативное ускорение на C++

    sre_ext содержит настоящие ядра, но Python импортирует его в try/except с запасным путём torch, поэтому нативная скорость необязательна.

    Файл sre/wave.py

  5. частично

    TCP-сервер RESP — подмножество

    sre/redis реализует часть протокола на asyncio порту 6379; полного совместим с Redis это не составляет, несмотря на название.

    Файл sre/redis/__init__.py

  6. не реализовано

    Пространственные и тензорные ядра Rust, мультимодальный приём

    sre-tensor — заглушка, insert() в sre-spatial пуст и интерференция возвращает ноль. Встраиваются только текст и изображение, парсится только Markdown.

    Файл sre-core-rs/sre-spatial/src/lib.rs

  7. в плане

    Движок на границе: WASM и WebGPU

    docs/RUST_WASM_PORT.md — явный поэтапный план; сейчас существуют только склейка sre-wasm и модуль sre-wave, краевые векторы ONNX не реализованы.

    Файл docs/RUST_WASM_PORT.md

  8. иллюстративно

    Витрина 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, но показывает смоделированные метрики и не подключена к движку.

Назад к описанию проекта ↗