Skip to content

v0.1.0 -- First citable release: integer-token engine + Paper I continuous port

Choose a tag to compare

@JackDMenendez JackDMenendez released this 23 May 04:54
· 16 commits to main since this release

v0.1.0 -- First citable release: integer-token engine + Paper I continuous port

dcl_core v0.1.0 is the first Zenodo-deposited release of the core
library underlying the A=1 Discrete Causal Lattice framework. The
package ships two engines side-by-side: dcl_core.core
(continuous-amplitude, ported verbatim from Paper I) and
dcl_core.core3d (integer-token, the new design). Their
coexistence is deliberate -- Paper III's discrete-vs-continuous
probability comparison uses both -- and is documented as a
project-level decision in MEMORY.md.

Semver impact: MINOR. Pre-1.0 (0.X.Y) signals "API still
unstable"; downstream papers pinning to ==0.1.0 get a stable
reproducibility anchor, but consumers tracking main should
expect minor bumps to break them.

Why this is v0.1.0 and not 0.1.0-dev

0.1.0-dev was the template state with NotImplementedError stubs
everywhere in core3d. v0.1.0 closes that out: every public method
of every core3d class is implemented and tested, A=1 conservation
holds as an exact integer identity across 1000-tick runs, and the
public API surface in __init__.py is what downstream papers
should plan against.

Highlights

Public-API surface

  • dcl_core.core -- continuous-amplitude engine (Paper I port).
    OctahedralLattice, CausalSession, CompositeCausalSession,
    TickScheduler, PhaseOscillator, UnityConstraint.
  • dcl_core.core3d -- integer-token engine (new design).
    BipartiteLattice, DiscreteCausalSession (with delta_at,
    wavepacket, from_arrays factories), BresenhamResidual,
    HopOperator, TickScheduler.
  • dcl_core.core3d.clifford -- opt-in Dirac gamma matrices
    (gamma_0..gamma_3, ETA_MINKOWSKI, GAMMAS). Sympy is
    lazy-imported; the module is safe to load without the
    [sympy] extra.

New capabilities

  • A=1 by integer arithmetic. sum(N(x)) == n_units exactly
    at every tick, with no float renormalisation. The
    BresenhamResidual floor + global top-up rebalance is what
    enforces this -- see the docstring algorithm for the details.
  • Min-Δp wavepacket factory. DiscreteCausalSession.wavepacket( ..., sigma=...) is the minimum-uncertainty Gaussian; Δp = 1 / (2 σ_x). Paper III's min-Δp scan is a for sigma in [...]
    loop over this factory.
  • Two-engine cross-validation harness. tests/test_cross_validation.py
    exposes the discrete-vs-continuous comparison surface
    (free-particle wavepacket convergence, two-body Bohr orbit,
    conservation parity, Arnold-tongue frequency-locking). The
    test bodies are stubbed pending Paper III's experimental
    setup but the spec is in place.

Tooling / internals

  • experiments/exp_01_throughput.py -- tick-throughput sweep
    across lattice shapes; outputs structured .npy + JSON sidecar.
  • experiments/exp_02_phase_profile.py -- cProfile breakdown of
    one tick at a fixed shape.
  • tools/diff_baselines.py -- compares two exp_01_throughput
    baselines, prints per-shape speedup ratios. Designed for the
    pre-/post-hardware-upgrade comparison.
  • on_tick_complete callback on TickScheduler -- third-party
    instrumentation hook (Paper III's experiments hang timing /
    observable extraction off it).

Tests

pytest tests/ reports 228 passed, 4 skipped, 26 xfailed. The
4 skips are cross-validation tests whose bodies live downstream.
The 26 xfails are pre-existing Paper I drift inherited verbatim with
the port (documented in CLAUDE.md).

Installing

pip install dcl_core==0.1.0

For symbolic-verification tests (Clifford algebra) and GPU backend:

pip install "dcl_core[sympy]==0.1.0"
pip install "dcl_core[gpu]==0.1.0"   # requires CUDA + CuPy build

For the pre-PyPI / GitHub-pinned install (which downstream papers
should use until PyPI publication):

pip install "git+https://github.com/JackDMenendez/dcl-core@v0.1.0"

What is NOT in v0.1.0

  • GPU backend kernels (allocators wired, RawKernel bodies
    pending v0.2.0).
  • Pairwise multi-session interactions (Coulomb / gauge coupling /
    emission pairs).
  • Complex BresenhamResidual.carry -- the parked hypothesis
    that the residual should be a virtual-particle amplitude tied
    to the 51 extra generators in Paper II's algebra. The
    determination is expected to live downstream in Paper III's
    min-Δp experiments; the v0.1.0 carry is real as a known
    placeholder.

Full roadmap: see CLAUDE.md (CURRENT STATUS) and
notes/bresenham_residual_design.md.


Citation. See CITATION.cff. Zenodo DOI for this release:
10.5281/zenodo.20350952.