{
  "source_sha256": "55a582e5fe20bf63dcf5421c9d1cc35c8b58b9dcd4fd38f4b66fb692ec28484a",
  "synthetic": true,
  "counts": {
    "emg": 2062,
    "foot": 63,
    "shank": 52,
    "status": 0,
    "end": 1
  },
  "session_finalized": true,
  "structurally_complete": false,
  "no_detected_sample_loss": false,
  "signal_checks_pass": true,
  "research_ready": false,
  "sequence_gaps": {
    "emg": 0,
    "foot": 0,
    "shank": 0
  },
  "anomalies": {
    "sequence_regressions": 0,
    "timestamp_regressions": 0,
    "emg_clipped_samples": 0,
    "emg_out_of_range": 0,
    "imu_invalid_samples": 0,
    "imu_timestamp_anomalies": 0,
    "timing_uncertain_records": 115,
    "flagged_gap_records": 0
  },
  "emg_observed_skipped_slots": 0,
  "emg_rate_from_host_timestamps_hz": 7983.915953886203,
  "last_status": {
    "timer_missed": 0,
    "queue_dropped": 1,
    "imu_errors": 0,
    "fifo_overflows": 0,
    "adc_errors": 0,
    "emg_records": 2063,
    "foot_records": 63,
    "shank_records": 52,
    "battery_mv": 3800,
    "queue_high_water": 2048
  },
  "issues": [
    {
      "kind": "counter_mismatch",
      "stream": "emg",
      "reported": 2063,
      "decoded": 2062
    },
    {
      "kind": "abnormal_stop",
      "reason": 2
    }
  ],
  "timing_note": "IMU host timestamps are estimates. Internal clock drift and sensor/analog filter delays are uncorrected.",
  "recovery_note": "Timestamp unwrapping is ambiguous across long gaps; never infer missing cycles after corruption."
}
