Phi · MATRIX-CORE · Build dossier
A pass over the project’s own repository: what is implemented, what is partial, what stayed on paper.
CPython 3.11 or newer, running as several processes: a compute worker and a TUI process. Numba JIT over LLVM, NumPy and SciPy fft, two Taichi kernels, Rich and Plotext. There is no browser runtime.
3 implemented · 1 partial · 2 not implemented · 1 on roadmap · 1 illustrative
What the code says
Startup runs start_matrix.py: a dashboard process (ui.oracle_eye) and a worker process (orchestrator.holo_decoder) restarted by return code
Source
start_matrix.pyMATRIX-CORE is a banner name in core/matrix_core_pi.py and the startup ASCII header; the version comes from SYSTEM_VERSION = v46.0
Source
config/phi_config.pyImplemented domains: a segmented sieve, Miller-Rabin on base 2 with a strong Lucas test, a hexadecimal digit extractor for pi, spectral and statistical metrics, a Markov predictor and a PID batch controller
Source
core/matrix_core_pi.pyThere is no linear algebra, symbolic math, optimisation or differential-equation solving: np.linalg, scipy.optimize and sympy appear in no source file
Source
core/hex_decoder.pyBackends: plain CPython, 18 @njit functions, NumPy and SciPy fft, and two Taichi GPU kernels; Rust, WASM and C++ are absent from the tree
Source
core/matrix_core_pi.pyThe IPC contract is fixed: struct format <QQIQcbb, a 31-byte record, and a multiprocessing.RawArray ring buffer of 500,000 records
Source
orchestrator/holo_decoder.pyTests: 14 files and 47 test functions, one parametrized over three cases for 49 runs; there is no CI at all, and checks live only as Makefile targets
Source
tests/test_math_kernel.pyThe interface is fed by tailing logs/phi_system.log from the end and parsing AI_DATA: and ACHIEVEMENT: lines, not by shared memory
Source
ui/oracle_eye.py
Module state
implemented
The number-theory kernel
A segmented sieve with a manual eight-step unroll, a 2310 wheel and popcount; Miller-Rabin, strong Lucas, the Jacobi symbol and a BBP digit. 18 functions under @njit.
Source
core/matrix_core_pi.pyimplemented
Process orchestration and telemetry
A ProcessPoolExecutor, a RawArray ring buffer, a PID batch-size controller, a watchdog for stalled tasks, deferred disk writes, log rotation and gzip archiving.
Source
telemetry/sre_logger.pyimplemented
The terminal dashboard
Oracle Eye: a Rich Live layout in the alternate screen at two frames per second, with tables, a saturation bar, Plotext charts and psutil telemetry.
Source
ui/oracle_eye.pypartial
GPU analysis and anomaly counters
FWHT and Shannon entropy are @ti.kernel methods, but initialisation tries ti.metal, then ti.gpu, and swallows exceptions with no explicit CPU path. Seven anomaly labels run over 16-symbol hex windows on heuristic thresholds.
Source
core/hex_decoder.pynot implemented
The three-dimensional transition tensor and an installable package
The _tensor_3d field is declared once and never filled: its branch is a pass and the export stays a dict of dicts. There is no setup.py, pyproject.toml or setup.cfg, and the console script survives only in stale egg-info metadata.
Source
sre_phi_cerberus.egg-info/entry_points.txtnot implemented
Automated checks
Not a single workflow file: the Build Passing and Testing 14/14 badges in docs/README.md are static shields.io images, not pipeline results.
Source
docs/README.mdon roadmap
Audit recommendations and the primesieve comparison
The audit proposes tightening TOPOLOGICAL_THRESHOLD to 1e-7 and adding three achievement tiers, while the threshold stays at 0.0001. The primesieve comparison is stated as a goal, but no harness and no results exist in the repository.
Source
docs/audit_report.mdillustrative
The simulation-hypothesis reading and the briefing numbers
Constants treated as memory addresses and topological gaps are interpretive language; calculate_zeta_phase is a sin() superposition over 20 zeta ordinates plus a golden-ratio term. The billions of primes in docs/ai_briefing.md are not reconstructable from the committed artifacts.
Source
docs/ARCHITECTURE.md
How this was checked
The sieve kernel is checked by property
Property-based tests compare bit_forge_sieve against a reference Eratosthenes sieve over random ranges up to 50000 and match the last prime.
Source
tests/test_math_kernel.pyTests on Carmichael composites exist
The test enumerates 561, 1105, 1729, 2465, 2821, 6601 and 8911 and asserts false for each; a separate test covers small primes.
Source
tests/test_math_kernel.pyThe IPC format is pinned by a test, not only by a comment
The test packs a record and asserts a length equal to RECORD_SIZE_BYTES and 31, then unpacks it and checks every field.
Source
tests/test_ipc_telemetry.pyThe restart and atomic-save machinery exists
A while True loop with miner.wait() and a return-code check, then psutil terminating children and killing stragglers; writes land in a .tmp path followed by os.replace under a lock.
Source
orchestrator/holo_decoder.py
Limits of these claims
- The tests were not executed in this audit: only the read assertions are confirmed, not that they pass or what they cover.
- The velocity figures (5.5B, 3.1B and 1B per second) are unmeasured in the repository: no harness, no recorded runs, only the HPC_VELOCITY_BASELINE constant and a print in main.
- The Montgomery reduction and AVX-512 claims do not match the code: mul_mod64 is binary modular multiplication, and the sieve is a scalar eight-step unroll under Numba with NUMBA_NUM_THREADS set to 1.
- The zero-copy label simplifies reality: writes and reads copy bytes through ctypes.memmove and bytes().
- Hardware assumptions are pinned to macOS x86_64, Makefile paths are POSIX-specific, and the local virtualenv is excluded from version control.
- Version strings disagree: v46.0 in the config, v45.0 in module headers, v44.7 and v44.8 in messages, v44.0 in the audit, and 10.0.0 and 19.0.0 in egg-info.
- Its own declared standards contradict its code: dependency minimalism is declared, yet numpy, numba, taichi, scipy, rich and plotext are pinned in requirements.txt, and five modules exceed the stated 400-line limit.
Why there is no live build
Why there is no live build
There is nothing to publish: the interface is a Rich Live terminal dashboard, and no GUI, web page or notebook exists in the repository. Startup is also pinned to macOS x86_64 plus a local virtualenv that is not in version control.