Phi · MATRIX-CORE

Phi · MATRIX-CORE · Профиль сборки

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

CPython 3.11 и новее, несколько процессов: воркер вычислений и процесс TUI. Numba JIT поверх LLVM, NumPy и SciPy(fft), два кернела Taichi, Rich и Plotext. Браузерного рантайма нет.

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

Концептуальная иллюстрация: Phi · MATRIX-CORE. Не скриншот продукта

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

  • Запуск скриптом start_matrix.py: процесс панели ui.oracle_eye и процесс orchestrator.holo_decoder с циклом перезапуска по коду возврата

    Файл start_matrix.py

  • MATRIX-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.py

  • IPC-контракт зафиксирован: формат 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

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

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

    Численное ядро теории чисел

    Сегментное решето с ручной развёрткой на 8 шагов, колесом 2310 и popcount; Miller-Rabin, strong Lucas, символ Якоби и BBP-цифра. 18 функций под @njit.

    Файл core/matrix_core_pi.py

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

    Оркестрация процессов и телеметрия

    ProcessPoolExecutor, кольцевой буфер на RawArray, PID-регулятор размера батчей, watchdog для зависших задач, отложенная запись на диск, ротация лога и gzip-архивация.

    Файл telemetry/sre_logger.py

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

    Терминальный дашборд

    Oracle Eye: макет Rich Live в alternate screen при 2 кадрах в секунду, таблицы, полоса насыщенности, графики Plotext и телеметрия psutil.

    Файл ui/oracle_eye.py

  4. частично

    GPU-анализ и счётчики аномалий

    FWHT и энтропия Шеннона идут как @ti.kernel, но инициализация пробует ti.metal, потом ti.gpu и глотает исключения без явного CPU-пути. Семь меток аномалии на окнах из 16 hex-символов, пороги эвристические.

    Файл core/hex_decoder.py

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

    Трёхмерный тензор переходов и устанавливаемый пакет

    Поле _tensor_3d объявлено один раз и никогда не заполняется: ветка содержит pass, экспорт остаётся словарём словарей. Нет setup.py, pyproject.toml ни setup.cfg; console-скрипт живёт только в устаревших egg-info.

    Файл sre_phi_cerberus.egg-info/entry_points.txt

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

    Автоматические проверки

    Ни одного workflow-файла: бейджи Build Passing и Testing 14/14 в docs/README.md — статичные картинки shields.io, а не результат конвейера.

    Файл docs/README.md

  7. в плане

    Рекомендации аудита и сравнение с primesieve

    Аудит предлагает сузить TOPOLOGICAL_THRESHOLD до 1e-7 и ввести три уровня достижений: порог остался 0.0001. Сравнение с primesieve заявлено целью, но ни харнеса, ни результатов в репозитории нет.

    Файл docs/audit_report.md

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

    Интерпретация гипотезы симуляции и цифры брифинга

    Константы как адреса памяти и топологические разрывы — язык интерпретации; 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 и локальному виртуальному окружению, которого нет в версии.

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