Heart-rate variability from a Polar H10 chest strap, processed on-device, tracked as a 3D trajectory through phase space rather than collapsed to a single number. Optional. Consent-scoped. Used only when the research scope warrants it.
Anuna's default is decision traces and working notes — recorded with consent. Biosignal sensing runs only when a research question explicitly names it as in-scope. EBS exists for those engagements, and only those.
A wellness score. Single-number HRV apps train you to perform on the metric and miss what the metric is actually measuring.
An always-on sensor. EBS doesn't run in the background. It runs when you start a session, ends when you end it, and writes nothing else.
Productivity instrumentation. Anuna's working agreements explicitly preclude using somatic data to manage performance.
A trajectory in phase space. Entrainment, breath, amplitude — three axes, with velocity, curvature, and stability tracked as you move.
On-device computation. HRV processing happens on your phone or laptop. The session is yours, in a JSONL file, on your disk.
Consent-scoped research infrastructure. Used in engagements where the participants have agreed it's part of the inquiry — not before, not otherwise.
Five stages of a typical session: pair the strap, capture, watch the phase trajectory live, classify the soft mode, export the JSONL.
$ ebs connect [ble] scanning for Polar H10 … ✓ found Polar H10 A1B2C3 [ble] heart rate service ✓ 0000180d [ble] subscribing to RR notifications ✓ connected: Polar H10 A1B2C3 mode: diagnostic — no recording stream: live HR · RR intervals HR 74 bpm RR [812, 798, 805, 821, 793, 816] HR 73 bpm RR [811, 797, 803, 818, 791, 812, 825] # BLE only. No cloud, no app account, no telemetry. # Strap requires skin contact to activate.
$ ebs record --session "meditation 20m" [buffer] rolling window 150 samples [hrv] computing every 5s … 04:32 RMSSD 42.9 SDNN 56.1 pNN50 28% 04:32 amplitude 164 entrainment 0.18 breath 5.8 br/min 15:21 RMSSD 51.7 SDNN 64.0 pNN50 35% 15:21 amplitude 180 entrainment 0.43 breath 5.2 br/min # Classic clinical metrics + custom HRV (amplitude, entrainment, breath). # Computed on-device. Not a single score; a multivariate signal.
$ # live phase-space trajectory phase position: [0.576, 0.500, 0.820] velocity: [0.041, 0.000, 0.033] |v| = 0.053 curvature: 0.047 stability: 0.867 (low velocity, low curvature) history sig: 0.229 trajectory is opening up phase label: settling into coherence coherence: 0.55 trajectory integrity over time # Coherence (global) and entrainment (local) are different: # meditation shows high coherence with low entrainment. # Each moment is a point on a trajectory, not a dot on a line.
$ # soft-mode classification (6-mode system) soft mode membership: heightened alertness ▏ 0.02 subtle alertness ▏▎ 0.08 transitional ▏▏▏ 0.15 settling ▏▏▏▏▏▏▏▏▏ 0.45 primary rhythmic settling ▏▏▏▏▏ 0.25 secondary settled presence ▏ 0.05 ambiguity: 0.23 primary not dominant movement: settled movement-aware: settling # Soft, not one-hot. You're never fully "in" one mode — # you have membership across all six, and that distribution is data.
$ ebs export --session meditation-20m.jsonl [schema] 1.1.0 · movement-preserving classification [merge] iOS metrics + processed phase + soft modes ✓ written: sessions/meditation-20m.jsonl 14.2 MB { "ts": "2026-04-30T07:14:21.748Z", "hr": 73, "rr": [811], "metrics": { "amp": 178, "ent": 0.418, "breath": 5.2, "mode": "settling", "mode_score": 0.543 }, "phase": { "position": [0.576, 0.5, 0.82], "coherence": 0.55, "stability": 0.867, "soft_mode": { "primary": "settling", ... } } } # Schema 1.1.0 across macOS, iOS, and Python — sessions are portable. # When paired with vibe harness, share session ID for joinable analysis.
HRV reduced to a single number trains you to perform on the metric. EBS tracks position, velocity, curvature, and stability — the geometry of how your autonomic state moves, not where it lands.
HRV pipelines run natively on macOS (Rust), iOS (Swift), or your laptop (Python). Sessions write to JSONL on local storage. Nothing is sent off-device. The strap is the only thing on a network.
Earthian Stewardship License: respect somatic sovereignty, no manipulation or surveillance, no entrainment without consent, non-commercial by default. EBS exists for research engagements where the question warrants it — not to be embedded in productivity stacks.
The Polar H10 streams RR intervals over BLE. The on-device pipeline buffers, computes HRV, projects to phase space, and classifies soft modes. The session is written to JSONL with a shared schema. Optional pairing with vibe harness aligns biosignal trajectories to mode transitions post-hoc; sense can take the live mode estimate as one signal among many.
Entrainment is breath–heart phase coupling — local sync. Coherence is trajectory integrity — global movement. Meditation shows high coherence with low entrainment; rhythmic activity reverses it.
The six-mode system reports membership across all six, with hysteresis to prevent jitter. Ambiguity itself is a signal — when no mode dominates, that's data about the moment.
Schema 1.1.0 distinguishes holding (alertness doing work) from settling (resting in attractor) via movement annotation, so static labels don't mask trajectory dynamics.
EBS sessions can share an ID with a vibe harness session. Post-hoc, biosignal trajectories align to mode transitions — letting you ask whether the somatic and named states actually agree.
EBS is the substrate for an active preprint on coupling-mode transitions in human-AI interaction. Sessions feed the research; findings feed back into classifier calibration.
The processing pipelines are validated against ~91 unit tests, but classifier thresholds are still being calibrated against real sessions. Use as a research instrument; not a clinical one.
m3data/earthian-biosense. Polar H10
chest strap (~AUD$90) is the only hardware. Native macOS and iOS apps,
plus a Python pipeline for desktop and processing.
Heart-rate variability as research instrument, not a wellness number. On-device, ESL-A licensed, opt-in by design.
git clone https://github.com/m3data/earthian-biosense