CHANGELOG.md).
Upgrading from 0.6 or 0.7? See Migration to 0.8.
[0.8.2] — 2026-10-16
Added
- Live Safety Dashboard (
examples/trust_dashboard.py): One-command streaming dashboard visualizing verified rolling accuracy, regret CUSUM, mean/cov drift statistics, accept rates, governor commits, and budget exhaustion. Supports terminal and graphical render ([viz]extra). - Wallet Profile Demo (
examples/wallet_profile_roundtrip.py): Tap-to-Roam demo packing fitted user profiles into<30 KBpass-shaped bundles (neural_profile.pass/) with SHA-256 manifests. - Lab Streaming Layer Ingest (
examples/lsl_live_loop.py+[lsl]extra): Real-time EEG and marker inlet ingest with timestamped ring buffer and event-locked epoching. Includes--simulateflag to test without physical hardware. - Preregistered Leaderboard Generator: Generated headline leaderboard script (
scripts/generate_leaderboard.py) pulling directly from diff-protected golden fixtures.
Fixed
- README and quickstart direct construction examples aligned with
DecisionConfig(preset=...)signature.
[0.8.1] — 2026-10-16
Fixed
adapt_pseudomid-batch cap refusal accounting: Commits accepted trials to the label budget and writespseudo_report_before raisingAdaptationRefusedError.- Ordered format checking in
Personalizer.load: Older format versions load with aUserWarningrather than hard-failing with misleading “written by newer SDK” messages. restore_headtrunk-generation warning: Emits a warning when restoring a head snapshot that predates the current live trunk geometry.
[0.8.0] — 2026-10-14
Added
- Public Safety Module (
nimbus_bci.safety):LabelBudget: Session and lifetime label spend ledger with monitoring floor exemptions.AdaptationGovernor: Burn-in, cooldown, and adaptation count state machine with purecheck()and atomiccommit().DriftMonitor: Persistent run-length mean and covariance shift surveillance.SafetyMonitor: Single-arm regret CUSUM watchdog with Monte-Carlo calibrated thresholds.AdaptationRefusedError: Raised with refusing control name, current state, and actionable remedy.
- Opt-in Safety Enforcement:
Personalizer(..., safety=SafetyConfig(...))gates all online adaptation sites (partial_fit,adapt_pseudo,adapt_trunk,adapt_async,adapt). - Head Snapshot & Exact Rollback:
Personalizer.snapshot_head() -> HeadSnapshotandPersonalizer.restore_head(snapshot). - Epochs Ingest Contract: Detailed ingest documentation for event-locking,
from_mne_epochs, sampling rate discipline, and baseline correction.
Changed
adapt_pseudohardened defaults: Entropy ceiling () and epistemic uncertainty () enabled by default;max_pseudo_updates=200cumulative cap; fails closed on heads without MC uncertainty.
[0.7.3] — 2026-10-14
Added
- Balanced Accuracy Metric: Added
nimbus_bci.metrics.balanced_accuracyand populatedEvaluationResult.balanced_accuracy/CrossValResult.balanced_accuracyby default for rare-target paradigms (P300 / RSVP). - Deployment Examples: Added
deployment_fit_calibrated.pyandembeddings_contract.py.
[0.7.2] — 2026-10-14
Fixed
- Honest Joint-Gate Calibration:
calibrate_decision_gateandfit_calibratednow calibrate against the joint gate (confidence + entropy ceiling), eliminating undershoot at . - De-biased Geometry Recommendation:
recommend_geometryuses repeated stratified shuffle-split CV (n_repeats=24) to eliminate winner’s curse holdout inflation. - Active Learning Hardening:
CalibrationSessioncopies pools at construction, checks for pool contamination, and ensures idempotent stopping histories.
[0.7.1] — 2026-10-14
Fixed
- Digest-Bound Session Bundles:
MISessionBundleandP300SessionBundlebind artifacts with format-2 SHA-256 digests (profile_sha256,sidecar_sha256) to prevent tampering and cross-bundle contamination. fit_populationandadapt_trunktrack embedding width across adaptation cycles and resets.
[0.7.0] — 2026-10-12
Added
- Precomputed Embeddings Input Contract (
x_kind="embeddings"): AllowsPersonalizerto consume embeddings directly without callingencoder.encode. PersonalizerInputError: Clear exception raised when attempting trunk-level operations on precomputed embeddings.- Full contract round-trip persisted in profile metadata.
Next Read
Online Safety Layer
Guide to budgets, governors, and rollback
Migration to 0.8
Upgrade path from 0.6 to 0.8
Installation
Install instructions and optional extras
API Reference
Full symbol reference