{
  "case": "wireless-packet-loss",
  "hardware_measured": false,
  "pass": true,
  "firmware_checks_pass": true,
  "trace_artifact": false,
  "failures": [],
  "production": {
    "case": 10,
    "fault": 0,
    "emg": 10041,
    "foot": 263,
    "shank": 252,
    "missed": 0,
    "dropped": 0,
    "imu_errors": 0,
    "fifo_overflows": 0,
    "adc_errors": 0,
    "queue_peak": 61,
    "udp": 1120,
    "discarded": 159,
    "writes": 85,
    "syncs": 4,
    "closes": 1,
    "pages": 192
  },
  "saved_record_count": 10558,
  "saved_bytes": 679808,
  "quality": {
    "source_sha256": "f32a09b07ac43381046696c3148b5fa58eaf546a368a81b081ba4b261c971874",
    "synthetic": true,
    "counts": {
      "emg": 10041,
      "foot": 263,
      "shank": 252,
      "status": 1,
      "end": 1
    },
    "session_finalized": true,
    "structurally_complete": true,
    "no_detected_sample_loss": true,
    "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": 515,
      "flagged_gap_records": 0
    },
    "emg_observed_skipped_slots": 0,
    "emg_rate_from_host_timestamps_hz": 7983.892258805343,
    "last_status": {
      "timer_missed": 0,
      "queue_dropped": 0,
      "imu_errors": 0,
      "fifo_overflows": 0,
      "adc_errors": 0,
      "emg_records": 10041,
      "foot_records": 263,
      "shank_records": 252,
      "battery_mv": 3800,
      "queue_high_water": 61
    },
    "issues": [],
    "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."
  },
  "live": {
    "stats": {
      "packets": 961,
      "packet_gaps": 158,
      "reordered_or_duplicate": 0,
      "invalid_packets": 0,
      "unknown_session_packets": 0,
      "device_queue_drops": 1
    },
    "error": null,
    "session": "38b1e738-4f2fd3c9",
    "imu": {
      "foot": {
        "accel_g": [
          0.00048828125,
          0.0,
          1.0
        ],
        "gyro_dps": [
          0.0,
          0.0,
          0.0
        ],
        "sequence": 263,
        "timestamp_us": 2185001,
        "flags": 2
      },
      "shank": {
        "accel_g": [
          0.0009765625,
          0.0,
          1.0
        ],
        "gyro_dps": [
          0.0,
          0.0,
          0.0
        ],
        "sequence": 251,
        "timestamp_us": 2180002,
        "flags": 2
      }
    },
    "health": {
      "timer_missed": 0,
      "queue_dropped": 0,
      "imu_errors": 0,
      "fifo_overflows": 0,
      "adc_errors": 0,
      "emg_records": 8036,
      "foot_records": 212,
      "shank_records": 201,
      "battery_mv": 3800,
      "queue_high_water": 61
    },
    "metadata": {
      "hardware_design": "AD7606_TWO_FIXED",
      "schema": "afo-recorder/3",
      "adc_model": "AD7606",
      "adc_bits": 16,
      "adc_reference_mv": 5000,
      "adc_reference_measured": false,
      "input_scale": 1,
      "input_midpoint_mv": 0,
      "adc_pga": 1,
      "adc_osr": 1,
      "adc_sensor_crc_supported": false,
      "adc_filter": "oversampling disabled; internal analog filter",
      "sample_timestamp_event": "CONVST GPIO write software timestamp",
      "adc_clock_hz": 0,
      "sd_cmd_gpio": 47,
      "sd_clk_gpio": 39,
      "sd_d0_gpio": 40,
      "firmware": "ad7606-2ch-1.5",
      "hardware_variant": "breadboard",
      "synthetic": true,
      "trial_id": "trial_5f85bc5b.afolog",
      "clock": "esp_timer_boot_us",
      "emg_hz": 8000,
      "imu_hz": 200,
      "imu_enabled": true,
      "active_channel_count": 2,
      "emg_channels": [
        "EMG1",
        "EMG2"
      ],
      "calibration_state": "uncalibrated",
      "simultaneous": true,
      "accel_range_g": 16,
      "gyro_range_dps": 2000,
      "imu_timestamp_tick_us": 1,
      "imu_timing_calibrated": false,
      "imu_locations": [
        "foot",
        "shank"
      ],
      "imu_time": "fifo_delta_first_irq",
      "placement_verified": false,
      "record_bytes": 64,
      "usb_recording_inhibit": true,
      "analog_filter": "two cascaded 3.3k/47nF low-pass sections, each unity buffered; 100R series output, 1nF to ground; single-ended ADC",
      "unplugged_input_bias_mv": 1500,
      "unplugged_input_bias_ohm": 1000000,
      "clock_or_filter_delay_correction": "none",
      "notes": "Engineering prototype; physical validation pending",
      "transport": "wifi_udp",
      "live_capture": true
    },
    "records": 9029,
    "ended": false,
    "first_sequence": {
      "2": 1,
      "7": 1,
      "3": 1
    },
    "sequence_gaps": {
      "7": 1449,
      "2": 38,
      "3": 38
    },
    "stop_reason": null
  },
  "udp_packets": 961,
  "source_sha256": "b7400c98f59011f1040b67b6da59eb235f5e1caa2b0553c49ea5e72f665d1809",
  "status": "pass"
}
