Adapters
July 6, 2026 ยท View on GitHub
Domain-specific adapter layer. The base adapter defines the interface;
holonomic adapters map between SCPN layers and external coordinate systems.
All 16 L1-L16 adapters are registered in the global ComponentRegistry
and accessible via the create_adapter(layer) factory.
Base Adapter
::: sc_neurocore.adapters.base
Holonomic Atlas (L1-L16)
::: sc_neurocore.adapters.holonomic
L6 Planetary Adapter Contract
sc_neurocore.adapters.holonomic.l6_plan.L6_PlanetaryAdapter accepts optional
rank-2 upstream bitstream batches shaped (N, bitstream_length). The adapter
validates positive integer region dimensions, positive finite Schumann
frequency, cavity quality, Gaia coupling, bounded percolation threshold,
positive finite dt, non-empty input rows, exact bitstream width, and finite
input values before mutating planetary field state. If N differs from
n_regions, the mean regional drive is broadcast deterministically across all
configured regions.
The Python/JAX adapter owns the runtime Gaia-field update. The Rust safety mirror, Julia mirror, and Mojo validation shim expose the same parameter, timestep, and input-projection boundaries for downstream generated-kernel checks; they are not benchmark-dispatched acceleration paths.
L9 Memory Adapter Contract
sc_neurocore.adapters.holonomic.l9_mem.L9_MemoryAdapter accepts optional
rank-2 upstream bitstream batches shaped (N, bitstream_length). The adapter
now validates positive integer memory dimensions, finite non-negative retrieval
gain, bounded weak-measurement strength, positive finite dt, non-empty input
rows, exact bitstream width, and finite input values before mutating its
forward/backward TSVF state. If N differs from n_memory_slots, rows are
tiled deterministically by slot index instead of relying on backend modulo or
broadcasting errors.
The Python/JAX adapter owns the runtime TSVF update. The Rust safety mirror, Julia mirror, and Mojo validation shim expose the same parameter, timestep, and input-projection boundaries for downstream generated-kernel checks; they are not benchmark-dispatched acceleration paths.
L13 Source-Field Adapter Contract
sc_neurocore.adapters.holonomic.l13_source.L13_SourceAdapter accepts optional
L16 cybernetic-closure feedback as a scalar, rank-1 vector, or rank-2 batch.
The adapter validates positive integer vacuum dimensions, finite primordial
coupling and source bias, finite non-negative scission drive, positive finite
dt, non-empty feedback vectors/batches, rank at most 2, and finite input
values before mutating vacuum or Fisher-metric state. Scalars broadcast across
all nodes; mismatched vector lengths or batch row counts broadcast the mean
feedback drive deterministically across the configured vacuum lattice.
The Python/JAX adapter owns the runtime source-field update. The Rust safety mirror, Julia mirror, and Mojo validation shim expose the same parameter, timestep, feedback-projection, and decode boundaries for downstream generated-kernel checks; they are not benchmark-dispatched acceleration paths.
SpikeInterface / Neo Adapter
Import experimental spike data into SC-NeuroCore. Converts between SpikeInterface sorting results and SC-NeuroCore representations (bitstream matrices, Population inputs, SC probabilities).
::: sc_neurocore.adapters.spikeinterface
Plugin Discovery
Adapter discovery is backed by Python packaging entry points in group
sc_neurocore.adapters. SC-NeuroCore declares first-party entry points for the
class-oriented NeuroML, SONATA, SpikeInterface, DNA storage, genetic-regulatory,
and neuromodulation adapter surfaces in pyproject.toml; editable source
checkouts also register the same first-party classes through
discover_adapters(include_entry_points=False) when the adapter registry is
lazy-loaded. Third-party entry points are loaded only when callers explicitly
run discover_adapters() with the default include_entry_points=True.
The global ComponentRegistry stores adapter classes. Historical importer
functions remain available from their original modules, while registry discovery
uses thin classes in sc_neurocore.adapters.importers.
::: sc_neurocore.utils.adapter_discovery
::: sc_neurocore.adapters.importers