Subsystem: binding / oscillators / drivers / imprint — the front end¶
Turns a domainpack into phase. binding 26 files (~7.1k LOC, incl. digital_twin/
and semantic/ subpackages), oscillators 8, drivers 4, imprint 3.
Inputs¶
- A domainpack YAML/JSON file. Root keys (fail-closed):
layers,oscillator_families,coupling,drivers,objectives,boundaries,actuators, plusname,version,safety_tier,sample_period_s,control_period_s; optionalchannels,cross_channel_couplings,imprint_model,geometry_prior,amplitude,value_alignment. - Raw signals into extractors: a
(T,)waveform (physical), sorted timestamps (informational), or a state-index sequence (symbolic), plussample_rate.
Outputs¶
BindingSpec— the typed, validated hierarchy contract.list[PhaseState]—theta,omega,amplitude,quality,channel,node_idper oscillator. The canonical phase hand-off record.- Driver reference phases
Ψ(t); imprint modulations ofK,α,μ.
Processing model¶
load_binding_spec(loader.py) — fail-closed parse;validate_binding_speccross-field checks;resolve_extractor_typemaps aliases to algorithms.- Physical extractors — Hilbert analytic signal, wavelet ridge, and zero-crossing algorithms; instantaneous phase/frequency with algorithm-specific quality.
- Informational extractor — inter-event-interval cadence → phase; inverse-coefficient-of-variation quality.
- Symbolic extractor — ring (position on the circle) or graph-walk cumulative phase; transition-regularity quality.
- Drivers — sinusoidal (physical), cadence-wrapped (informational), cyclic lookup (symbolic).
- Imprint — exponential-decay + saturation memory state modulating coupling.
Backends¶
Extractors carry optional Rust paths (spo_kernel.physical_extract,
event_phase, ring_phases_rust, …) with NumPy fallback. The phase-extraction
path is otherwise Python/NumPy by design (LAPACK/FFT-favoured).
Wiring¶
load_binding_spec is the single entry for every domainpack. extract_initial_phases
wires families to extractors for UPDE start-up; MQTT and OPC-UA runtime tag
bridges also dispatch waveform tags through their declared physical extractor
type. The resolved BindingSpec flows to coupling and upde.
Scope boundaries¶
- Runtime waveform dispatch is implemented for the generic MQTT and OPC-UA input bridges. Domain-specific app pipelines that expose their own service schemas may still define narrower extraction policy.
- Inert fields parsed but unused:
PhaseState.node_iddownstream,ChannelSpec.metric_semantics,ImprintState.attribution.