Skip to content

Releases: anulum/scpn-phase-orchestrator

v0.4.1 — Rust Stuart-Landau + PAC Parity, Amplitude Policy

10 Mar 02:39

Choose a tag to compare

Added

  • Rust StuartLandauStepper — phase-amplitude ODE integrator with Euler/RK4/RK45, zero-alloc scratch, 12 inline tests
  • Rust PACmodulation_index and pac_matrix (Tort et al. 2010), 5 inline tests
  • FFI PyStuartLandauStepper — PyO3 wrapper; Python auto-delegates when spo_kernel available
  • FFI pac_modulation_index / pac_matrix_compute — PAC functions exposed to Python
  • PAC-driven policy rules: pac_max, mean_amplitude, subcritical_fraction, amplitude_spread, mean_amplitude_layer
  • Amplitude configs for 6 domainpacks: neuroscience_eeg, cardiac_rhythm, plasma_control, firefly_swarm, rotating_machinery, power_grid
  • CoherencePlot matplotlib implementations: R timeline, regime timeline, action audit, amplitude timeline, PAC heatmap
  • 4 Rust benchmarks, ~67 new Python tests (940 total), 74 Rust tests

See CHANGELOG.md for full details.

v0.4.0 — Stuart-Landau Amplitude Engine, PAC Gating, Envelopes

04 Mar 04:03

Choose a tag to compare

Added

  • Stuart-Landau amplitude engineStuartLandauEngine integrates coupled phase-amplitude ODEs (Acebrón et al. 2005): dr_i/dt = (μ - r²)r + ε Σ K^r_ij r_j cos(θ_j - θ_i). Euler/RK4/RK45, pre-allocated scratch, amplitude clamping, weighted order parameter.
  • Phase-amplitude coupling (PAC)modulation_index() (Tort et al. 2010), pac_matrix(), pac_gate()
  • Modulation envelopesextract_envelope() (sliding-window RMS), envelope_modulation_depth(), EnvelopeState
  • AmplitudeSpec in binding types; amplitude: YAML block activates Stuart-Landau mode
  • CouplingState.knm_r, CouplingBuilder.build_with_amplitude(), ImprintModel.modulate_mu()
  • LayerState.mean_amplitude, LayerState.amplitude_spread, UPDEState.mean_amplitude, UPDEState.pac_max, UPDEState.subcritical_fraction
  • CLI branches on amplitude mode, audit logger records amplitude_mode
  • ~80 new tests (total ~860)

See CHANGELOG.md for full details.

v0.3.0 — Petri Net FSM, SNN Bridge, Event-Driven Transitions

04 Mar 03:59

Choose a tag to compare

Added

  • Petri net regime FSMPetriNet, PetriNetAdapter, ProtocolNetSpec for multi-phase protocol sequencing
  • Event-driven transitionsEventBus + RegimeEvent pub/sub with bounded history
  • RegimeManager.force_transition() — bypasses cooldown and hysteresis hold
  • hysteresis_hold_steps — consecutive-step requirement for soft downward transitions
  • SNN controller bridge (SNNControllerBridge) — pure-numpy LIF rate model + Nengo/Lava optional backends
  • Rust RegimeManager.force_transition() and transition_log for FFI parity
  • ~90 new tests across 5 new test files

Changed

  • SupervisorPolicy accepts optional petri_adapter argument
  • BoundaryObserver.observe() accepts optional step kwarg
  • RegimeManager constructor accepts event_bus and hysteresis_hold_steps params

See CHANGELOG.md for full details.

v0.2.0 — Compound Policy DSL, OTel Export, QueueWaves

04 Mar 03:56

Choose a tag to compare

Added

  • Compound policy DSLCompoundCondition with AND/OR logic over multiple PolicyCondition triggers
  • Action chainsPolicyRule.actions accepts a list of PolicyAction items fired on a single trigger
  • Rule rate-limiting — per-rule cooldown_s and max_fires fields
  • stability_proxy metric in policy conditions (global mean R)
  • OpenTelemetry exportOTelExporter with span instrumentation, gauge metrics, step counter; no-op fallback
  • QueueWaves — real-time microservice cascade failure detector with Prometheus ingestion, WebSocket streaming, dashboard, webhook alerts (60 tests, >90% coverage)
  • 12 new domainpacks (total: 21)
  • 3 adapter bridges: FusionCoreBridge, PlasmaControlBridge, QuantumControlBridge
  • Deterministic replay from audit.jsonl with chained phase-vector verification (spo replay --verify)

Fixed

  • [P0] Rust ImprintModel.modulate_lag antisymmetry fix
  • [P0] CLI run now applies K and Psi supervisor actions
  • [P0] stability_proxy uses mean R across all layers
  • [P1] compute_plv raises on mismatched arrays
  • All domainpack binding specs use semver

See CHANGELOG.md for full details.

v0.1.1 — Hardening Sprints 1–5

02 Mar 00:30

Choose a tag to compare

What's Changed

16 commits of hardening since v0.1.0, across 5 focused sprints:

Changed

  • Migrate remaining try/except ImportError probe-imports to importlib.util.find_spec with lazy imports
  • Remove dead _HAS_RUST assignments and unused imports
  • Add #[must_use] to all pure public Rust functions; enable must_use_candidate = "warn" workspace lint
  • Add crate-level //! doc comments to all 4 library crates
  • Refactor physical.rs Pass 1 from index loop to iter_mut().zip() iterators
  • Make LockSignature, LayerState, UPDEState frozen dataclasses

Fixed

  • Kuramoto coupling correctness in Rust UPDE stepper
  • Regime hysteresis banding (Rust + Python)
  • FFI safety: forbid(undocumented_unsafe_blocks)
  • CI: MSRV check, security job pins, module-linkage guard
  • clippy: eq_op, needless_range_loop, doc lints

Improved

  • CI: pip + cargo caching, rustsec/audit-check action, path-triggered docs workflow
  • Supply chain: Dependabot, publish.yml preflight gate + twine check
  • Coverage: 94% → 98%, fail_under raised to 90%
  • Tests: 188 Python + 124 Rust (312 total)
  • Add Documentation and Changelog URLs to PyPI sidebar

Full Changelog: v0.1.0...v0.1.1

v0.1.0 — Initial Release

01 Mar 04:28

Choose a tag to compare

SCPN Phase Orchestrator v0.1.0

Domain-agnostic coherence control compiler built on Kuramoto/UPDE phase dynamics.

Highlights

  • UPDE Kuramoto integrator — Euler + RK4 with pre-allocated scratch arrays
  • 3-channel oscillator model — Physical / Informational / Symbolic extraction
  • Coupling matrix management — exponential decay, template switching, geometry constraints
  • Supervisor — regime FSM (Nominal/Degraded/Critical/Recovery) with policy DSL
  • spo-kernel — Rust workspace (5 crates, 112 tests, PyO3 FFI bindings)
  • 4 domainpacks — minimal_domain, queuewaves, geometry_walk, bio_stub
  • MkDocs documentation — 20 pages (concepts, specs, tutorials)
  • CI — lint, typecheck, test (3.10-3.12), security, Rust check

Install

pip install scpn-phase-orchestrator
spo --help

Links