dontelightfoot's picture
Publish SRC + Amyloid beta-42 open package
5d07399 verified
Raw
History Blame Contribute Delete
2.47 kB
"""DBITS paper engine — full certificate suite for LinkedIn release."""
from __future__ import annotations
import asyncio
from symbolic_recursion.dbits import (
D0,
MU,
DbitParams,
apply_gate,
continuous_offset_series,
list_gates,
multi_dbit_trajectory,
run_all_proofs,
spine_summary,
trajectory,
)
from symbolic_recursion.equations.catalog import catalog_stats, get_equation
from symbolic_recursion.tools.kernel_tools import KernelToolRunner
def test_constants() -> None:
assert abs(MU - 0.16905) < 1e-12
assert abs(D0 - 149.9992314) < 1e-6
def test_stability_box_and_rho() -> None:
p = DbitParams(0.3, 0.3, 0.05)
assert p.in_stability_box()
assert p.rho() < 1.0
p_bad = DbitParams(0.3, 0.3, 0.8)
assert p_bad.rho() >= 1.0
def test_trajectory_contracts() -> None:
p = DbitParams()
x, m = trajectory(p, 100, 0.5, 0.3)
assert abs(x[-1]) < abs(x[0]) or abs(x[-1]) < 0.05
def test_all_gates_apply() -> None:
assert len(list_gates()) == 10
for g in list_gates():
out = apply_gate(g["key"], 0.4, 0.2)
assert "output" in out
def test_multi_dbit_energy_decays() -> None:
out = multi_dbit_trajectory(n_agents=16, steps=100)
assert out["status"] == "PASS"
assert out["E_final"] < out["E0"]
def test_offset_to_D0() -> None:
out = continuous_offset_series(t_end=4.0, n_points=30, x0=160.0)
assert out["status"] in ("STABILIZED", "CONVERGING")
assert abs(out["state_series"][-1] - D0) < 2.0
def test_full_proof_suite_pass() -> None:
report = run_all_proofs()
assert report["overall"] == "PASS"
assert report["n_pass"] == 6
assert report["n_total"] == 6
def test_catalog_includes_dbits() -> None:
stats = catalog_stats()
assert stats["by_family"].get("dbits", 0) >= 20
eq = get_equation("D05")
assert "0.2" in eq.latex or "stability" in eq.name.lower() or "box" in eq.name.lower()
def test_tool_dbits_proofs() -> None:
data = asyncio.run(KernelToolRunner().run("dbits_proofs"))
assert data["overall"] == "PASS"
assert data["n_pass"] == 6
def test_tool_dbits_simulate_and_spine() -> None:
sim = asyncio.run(KernelToolRunner().run("dbits_simulate", steps=80, n_agents=16))
assert sim["in_stability_box"] is True
spine = asyncio.run(KernelToolRunner().run("dbits_spine"))
assert spine["summary"]["nodes"] >= 20
assert spine_summary()["spine_id"] == "piqb-dbits-spine-v2"