Phi · MATRIX-CORE · Профиль сборки
Разбор по файлам собственного репозитория: что реализовано, что частично, что осталось на бумаге.
CPython 3.11 и новее, несколько процессов: воркер вычислений и процесс TUI. Numba JIT поверх LLVM, NumPy и SciPy(fft), два кернела Taichi, Rich и Plotext. Браузерного рантайма нет.
3 реализовано · 1 частично · 2 не реализовано · 1 в плане · 1 иллюстративно
Что читается в коде
Запуск скриптом start_matrix.py: процесс панели ui.oracle_eye и процесс orchestrator.holo_decoder с циклом перезапуска по коду возврата
Файл
start_matrix.pyMATRIX-CORE — имя баннера в core/matrix_core_pi.py и ASCII-заголовок запуска; версия берётся из SYSTEM_VERSION = v46.0
Файл
config/phi_config.pyРеализованные области: сегментное решето, Miller-Rabin по базе 2 с сильным тестом Lucas, извлечение hex-цифры числа pi, спектральные и статистические метрики, марковский предсказатель, PID-регулятор батчей
Файл
core/matrix_core_pi.pyЛинейной алгебры, символьных вычислений, оптимизации и дифференциальных уравнений нет: np.linalg, scipy.optimize и sympy не встречаются ни в одном исходнике
Файл
core/hex_decoder.pyБэкенды: чистый CPython, 18 функций с @njit, NumPy и SciPy.fft, два GPU-кернела Taichi; Rust, WASM и C++ в дереве отсутствуют
Файл
core/matrix_core_pi.pyIPC-контракт зафиксирован: формат struct <QQIQcbb, запись 31 байт, кольцевой буфер на multiprocessing.RawArray ёмкостью 500000 записей
Файл
orchestrator/holo_decoder.pyТесты: 14 файлов и 47 тестовых функций (одна параметризована на 3 случая, итого 49 прогонов); CI нет ни одного, проверки живут целями Makefile
Файл
tests/test_math_kernel.pyИнтерфейс получает метрики не из разделяемой памяти, а читая logs/phi_system.log с конца и разбирая строки AI_DATA: и ACHIEVEMENT:
Файл
ui/oracle_eye.py
Состояние модулей
реализовано
Численное ядро теории чисел
Сегментное решето с ручной развёрткой на 8 шагов, колесом 2310 и popcount; Miller-Rabin, strong Lucas, символ Якоби и BBP-цифра. 18 функций под @njit.
Файл
core/matrix_core_pi.pyреализовано
Оркестрация процессов и телеметрия
ProcessPoolExecutor, кольцевой буфер на RawArray, PID-регулятор размера батчей, watchdog для зависших задач, отложенная запись на диск, ротация лога и gzip-архивация.
Файл
telemetry/sre_logger.pyреализовано
Терминальный дашборд
Oracle Eye: макет Rich Live в alternate screen при 2 кадрах в секунду, таблицы, полоса насыщенности, графики Plotext и телеметрия psutil.
Файл
ui/oracle_eye.pyчастично
GPU-анализ и счётчики аномалий
FWHT и энтропия Шеннона идут как @ti.kernel, но инициализация пробует ti.metal, потом ti.gpu и глотает исключения без явного CPU-пути. Семь меток аномалии на окнах из 16 hex-символов, пороги эвристические.
Файл
core/hex_decoder.pyне реализовано
Трёхмерный тензор переходов и устанавливаемый пакет
Поле _tensor_3d объявлено один раз и никогда не заполняется: ветка содержит pass, экспорт остаётся словарём словарей. Нет setup.py, pyproject.toml ни setup.cfg; console-скрипт живёт только в устаревших egg-info.
Файл
sre_phi_cerberus.egg-info/entry_points.txtне реализовано
Автоматические проверки
Ни одного workflow-файла: бейджи Build Passing и Testing 14/14 в docs/README.md — статичные картинки shields.io, а не результат конвейера.
Файл
docs/README.mdв плане
Рекомендации аудита и сравнение с primesieve
Аудит предлагает сузить TOPOLOGICAL_THRESHOLD до 1e-7 и ввести три уровня достижений: порог остался 0.0001. Сравнение с primesieve заявлено целью, но ни харнеса, ни результатов в репозитории нет.
Файл
docs/audit_report.mdиллюстративно
Интерпретация гипотезы симуляции и цифры брифинга
Константы как адреса памяти и топологические разрывы — язык интерпретации; calculate_zeta_phase это суперпозиция sin() по 20 ординатам дзета плюс член золотого сечения. Миллиарды простых из docs/ai_briefing.md не восстанавливаются по зафиксированным артефактам.
Файл
docs/ARCHITECTURE.md
Как это проверено
Ядро решета проверено свойством
Property-based тесты сверяют bit_forge_sieve с эталонной решето Эратосфена на случайных интервалах до 50000 и сравнивают последнее простое.
Файл
tests/test_math_kernel.pyТесты на составные числа Кармайкла существуют
Тест перечисляет 561, 1105, 1729, 2465, 2821, 6601 и 8911 и утверждает лож для каждого; отдельный тест покрывает малые простые.
Файл
tests/test_math_kernel.pyФормат IPC закреплен тестом, а не только комментарием
Тест упаковывает запись и утверждает длину, равную RECORD_SIZE_BYTES и 31, затем распаковывает и сверяет все поля.
Файл
tests/test_ipc_telemetry.pyМеханизм перезапуска и атомарности сохранений существует
Цикл while True с miner.wait() и проверкой кода возврата, затем psutil завершает детей и добивает зависших; записи идут в .tmp и os.replace под блокировкой.
Файл
orchestrator/holo_decoder.py
Границы утверждений
- Тесты в этом аудите не запускались: подтверждены только прочитанные утверждения, не их прохождение и не покрытие.
- Скоростные значения (5.5B, 3.1B, 1B за секунду) в репозитории не измерены: нет харнеса, нет записанных прогонов, есть только константа HPC_VELOCITY_BASELINE и печать в main.
- Утверждения про Montgomery reduction и AVX-512 не соответствуют коду: mul_mod64 — бинарное умножение по модулю, а решето это скалярная развёртка на 8 шагов под Numba с NUMBA_NUM_THREADS = 1.
- Метка zero-copy упрощает реальность: запись и чтение копируют байты через ctypes.memmove и bytes().
- Аппаратные допущения зашиты под macOS x86_64, пути Makefile специфичны для POSIX, а локальное виртуальное окружение исключено из версионного контроля.
- Строки версий разошлись: v46.0 в конфиге, v45.0 в шапках модулей, v44.7 и v44.8 в сообщениях, v44.0 в аудите, 10.0.0 и 19.0.0 в egg-info.
- Внутренние стандарты проекта противоречат коду: декларирован минимализм зависимостей, но numpy, numba, taichi, scipy, rich и plotext закреплены в requirements.txt, а пять модулей длиннее объявленного лимита в 400 строк.
Почему живой сборки нет
Почему живой сборки нет
Публиковать нечего: интерфейс — терминальная панель Rich Live, GUI, веб-страницы и notebook в репозитории отсутствуют. Плюс запуск привязан к macOS x86_64 и локальному виртуальному окружению, которого нет в версии.