{
  "engine": "Wokwi ESP32-S3; actual production recorder/sensor/format/Wi-Fi C, real ESP-IDF FreeRTOS/FatFS/lwIP",
  "hardware_measured": false,
  "physical_acceptance_pass": false,
  "full_matrix_pass": false,
  "intended_cases": 16,
  "complete_cli_and_firmware_passes": 10,
  "complete_firmware_checks_passes": 11,
  "cases_not_executed_quota": 4,
  "partial_cases": 1,
  "capture_infrastructure_failures": 1,
  "substitutions": [
    "Sparse PSRAM block medium replaces SDMMC hardware/card",
    "Battery and button/USB inputs are fixture values",
    "Actual lwIP UDP loopback subscriber replaces laptop/RF link",
    "ADC/IMU chips are documented behavioral models"
  ],
  "source_and_image_manifest": "../../tested-source-1.5/manifest.json",
  "cases": [
    {
      "case": "normal",
      "hardware_measured": false,
      "pass": null,
      "firmware_checks_pass": true,
      "trace_artifact": false,
      "failures": [],
      "production": {
        "case": 0,
        "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": 1124,
        "discarded": 0,
        "writes": 85,
        "syncs": 4,
        "closes": 1,
        "pages": 192
      },
      "saved_record_count": 10558,
      "saved_bytes": 679808,
      "quality": {
        "source_sha256": "cdb6ca8b9bbe69660ab88c0cc8b995c898d865020d613eaa11eefc0a85f29bd6",
        "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.866863453611,
        "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": 1124,
          "packet_gaps": 0,
          "reordered_or_duplicate": 0,
          "invalid_packets": 0,
          "unknown_session_packets": 0,
          "device_queue_drops": 0
        },
        "error": null,
        "session": "0370b454-18b586d5",
        "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": 252,
            "timestamp_us": 2185002,
            "flags": 2
          }
        },
        "health": {
          "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
        },
        "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_96f78f23.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": 10558,
        "ended": true,
        "first_sequence": {
          "2": 1,
          "7": 1,
          "3": 1
        },
        "sequence_gaps": {},
        "stop_reason": 0
      },
      "udp_packets": 1124,
      "source_sha256": "312bd0345524a019ef7c6361102b5688a65aa2f0145c6bcd42491a9201459b23",
      "status": "firmware_pass_trace_transport_failure",
      "reason": "Complete firmware/record/UDP evidence passes; CLI failed while retrieving optional VCD"
    },
    {
      "case": "write-delay-50ms",
      "hardware_measured": false,
      "pass": true,
      "firmware_checks_pass": true,
      "trace_artifact": false,
      "failures": [],
      "production": {
        "case": 1,
        "fault": 0,
        "emg": 10041,
        "foot": 263,
        "shank": 252,
        "missed": 0,
        "dropped": 0,
        "imu_errors": 0,
        "fifo_overflows": 0,
        "adc_errors": 0,
        "queue_peak": 421,
        "udp": 1080,
        "discarded": 0,
        "writes": 85,
        "syncs": 4,
        "closes": 1,
        "pages": 192
      },
      "saved_record_count": 10558,
      "saved_bytes": 679808,
      "quality": {
        "source_sha256": "8919af6eb11e98d3953f3a662513ff52128715e5c5087ec4159a193fe305c1b5",
        "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.885909952263,
        "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": 421
        },
        "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": 1080,
          "packet_gaps": 0,
          "reordered_or_duplicate": 0,
          "invalid_packets": 0,
          "unknown_session_packets": 0,
          "device_queue_drops": 344
        },
        "error": null,
        "session": "3ec377fe-3edbdf53",
        "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": 252,
            "timestamp_us": 2185002,
            "flags": 2
          }
        },
        "health": {
          "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": 421
        },
        "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_8a6eeed5.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": 10214,
        "ended": true,
        "first_sequence": {
          "2": 1,
          "7": 1,
          "3": 1
        },
        "sequence_gaps": {
          "7": 329,
          "2": 7,
          "3": 8
        },
        "stop_reason": 0
      },
      "udp_packets": 1080,
      "source_sha256": "57f9cd4f9fdba8c3c5f53ec62f72bc02d8c9ba0e52709c07c9e28a21fe9667c9",
      "status": "pass"
    },
    {
      "case": "queue-stall-350ms",
      "hardware_measured": false,
      "pass": true,
      "firmware_checks_pass": true,
      "trace_artifact": false,
      "failures": [],
      "production": {
        "case": 2,
        "fault": 2,
        "emg": 2063,
        "foot": 63,
        "shank": 52,
        "missed": 0,
        "dropped": 1,
        "imu_errors": 0,
        "fifo_overflows": 0,
        "adc_errors": 0,
        "queue_peak": 2048,
        "udp": 27,
        "discarded": 0,
        "writes": 20,
        "syncs": 3,
        "closes": 1,
        "pages": 192
      },
      "saved_record_count": 2178,
      "saved_bytes": 143488,
      "quality": {
        "source_sha256": "98f74a685c02f6e2b572f2e63264d50d7989d2a757e58f197c416cea9debec1a",
        "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."
      },
      "live": {
        "stats": {
          "packets": 27,
          "packet_gaps": 0,
          "reordered_or_duplicate": 0,
          "invalid_packets": 0,
          "unknown_session_packets": 0,
          "device_queue_drops": 1905
        },
        "error": null,
        "session": "1c576ddd-8c87abb1",
        "imu": {
          "foot": {
            "accel_g": [
              0.00048828125,
              0.0,
              1.0
            ],
            "gyro_dps": [
              0.0,
              0.0,
              0.0
            ],
            "sequence": 51,
            "timestamp_us": 1125001,
            "flags": 2
          },
          "shank": {
            "accel_g": [
              0.0009765625,
              0.0,
              1.0
            ],
            "gyro_dps": [
              0.0,
              0.0,
              0.0
            ],
            "sequence": 33,
            "timestamp_us": 1090002,
            "flags": 2
          }
        },
        "health": {
          "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
        },
        "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_3cc8bdc1.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": 273,
        "ended": true,
        "first_sequence": {
          "2": 1,
          "7": 1,
          "3": 1
        },
        "sequence_gaps": {
          "7": 1582,
          "3": 28,
          "2": 35
        },
        "stop_reason": 2
      },
      "udp_packets": 27,
      "source_sha256": "b1ee512b1b02518e7310fd8b2b318309e6ab4e65721e39a2a178d313493e163e",
      "status": "pass"
    },
    {
      "case": "storage-write-error",
      "hardware_measured": false,
      "pass": true,
      "firmware_checks_pass": true,
      "trace_artifact": false,
      "failures": [],
      "production": {
        "case": 3,
        "fault": 1,
        "emg": 234,
        "foot": 17,
        "shank": 6,
        "missed": 0,
        "dropped": 0,
        "imu_errors": 0,
        "fifo_overflows": 0,
        "adc_errors": 0,
        "queue_peak": 12,
        "udp": 34,
        "discarded": 0,
        "writes": 3,
        "syncs": 1,
        "closes": 1,
        "pages": 192
      },
      "saved_record_count": 128,
      "saved_bytes": 12288,
      "quality": {
        "source_sha256": "1b18b1fb20ceaec6ff84fedfbc2f5785624f0f39c8d9a4e3a36c796ff737079e",
        "synthetic": true,
        "counts": {
          "emg": 111,
          "foot": 14,
          "shank": 3,
          "status": 0,
          "end": 0
        },
        "session_finalized": false,
        "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": 17,
          "flagged_gap_records": 0
        },
        "emg_observed_skipped_slots": 0,
        "emg_rate_from_host_timestamps_hz": 7984.321695579589,
        "last_status": null,
        "issues": [
          {
            "kind": "missing_end",
            "message": "Unfinalized session; trailing samples may be lost."
          }
        ],
        "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": 34,
          "packet_gaps": 0,
          "reordered_or_duplicate": 0,
          "invalid_packets": 0,
          "unknown_session_packets": 0,
          "device_queue_drops": 0
        },
        "error": null,
        "session": "e0ec13ae-a088ccaf",
        "imu": {
          "foot": {
            "accel_g": [
              0.00048828125,
              0.0,
              1.0
            ],
            "gyro_dps": [
              0.0,
              0.0,
              0.0
            ],
            "sequence": 17,
            "timestamp_us": 955001,
            "flags": 2
          },
          "shank": {
            "accel_g": [
              0.0009765625,
              0.0,
              1.0
            ],
            "gyro_dps": [
              0.0,
              0.0,
              0.0
            ],
            "sequence": 6,
            "timestamp_us": 955002,
            "flags": 2
          }
        },
        "health": {
          "timer_missed": 0,
          "queue_dropped": 0,
          "imu_errors": 0,
          "fifo_overflows": 0,
          "adc_errors": 0,
          "emg_records": 234,
          "foot_records": 17,
          "shank_records": 6,
          "battery_mv": 3800,
          "queue_high_water": 12
        },
        "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_3654bb5f.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": 257,
        "ended": true,
        "first_sequence": {
          "2": 1,
          "7": 1,
          "3": 1
        },
        "sequence_gaps": {},
        "stop_reason": 1
      },
      "udp_packets": 34,
      "source_sha256": "0e03eddeaa18b295deff662982515587d2a0f7063c09ae4583454498ee495319",
      "status": "pass"
    },
    {
      "case": "usb-attached-during-recording",
      "hardware_measured": false,
      "pass": true,
      "firmware_checks_pass": true,
      "trace_artifact": false,
      "failures": [],
      "production": {
        "case": 4,
        "fault": 7,
        "emg": 3187,
        "foot": 91,
        "shank": 80,
        "missed": 0,
        "dropped": 0,
        "imu_errors": 0,
        "fifo_overflows": 0,
        "adc_errors": 0,
        "queue_peak": 61,
        "udp": 364,
        "discarded": 0,
        "writes": 29,
        "syncs": 3,
        "closes": 1,
        "pages": 192
      },
      "saved_record_count": 3359,
      "saved_bytes": 219072,
      "quality": {
        "source_sha256": "e518fbc116a3a2e968c1e5ea0973af9cb52c730aaa409f50c8349d4a2289e978",
        "synthetic": true,
        "counts": {
          "emg": 3187,
          "foot": 91,
          "shank": 80,
          "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": 171,
          "flagged_gap_records": 0
        },
        "emg_observed_skipped_slots": 0,
        "emg_rate_from_host_timestamps_hz": 7983.841866805661,
        "last_status": {
          "timer_missed": 0,
          "queue_dropped": 0,
          "imu_errors": 0,
          "fifo_overflows": 0,
          "adc_errors": 0,
          "emg_records": 3187,
          "foot_records": 91,
          "shank_records": 80,
          "battery_mv": 3800,
          "queue_high_water": 61
        },
        "issues": [
          {
            "kind": "abnormal_stop",
            "reason": 7
          }
        ],
        "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": 364,
          "packet_gaps": 0,
          "reordered_or_duplicate": 0,
          "invalid_packets": 0,
          "unknown_session_packets": 0,
          "device_queue_drops": 0
        },
        "error": null,
        "session": "7d25bd83-3177baec",
        "imu": {
          "foot": {
            "accel_g": [
              0.00048828125,
              0.0,
              1.0
            ],
            "gyro_dps": [
              0.0,
              0.0,
              0.0
            ],
            "sequence": 91,
            "timestamp_us": 1325001,
            "flags": 2
          },
          "shank": {
            "accel_g": [
              0.0009765625,
              0.0,
              1.0
            ],
            "gyro_dps": [
              0.0,
              0.0,
              0.0
            ],
            "sequence": 80,
            "timestamp_us": 1325002,
            "flags": 2
          }
        },
        "health": {
          "timer_missed": 0,
          "queue_dropped": 0,
          "imu_errors": 0,
          "fifo_overflows": 0,
          "adc_errors": 0,
          "emg_records": 3187,
          "foot_records": 91,
          "shank_records": 80,
          "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_6c013d37.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": 3359,
        "ended": true,
        "first_sequence": {
          "2": 1,
          "7": 1,
          "3": 1
        },
        "sequence_gaps": {},
        "stop_reason": 7
      },
      "udp_packets": 364,
      "source_sha256": "65c94249cb1ebd25b1712851ae9dc6d2d26fc9fc160447a0714405b1303f83ab",
      "status": "pass"
    },
    {
      "case": "battery-low",
      "hardware_measured": false,
      "pass": false,
      "firmware_checks_pass": false,
      "trace_artifact": false,
      "status": "incomplete_export",
      "reason": "missing or duplicated completion marker",
      "quality": {
        "source_sha256": "cdc0f5eda241ea21616bdca92c5ed8aa3526fb007ea161554edb3bfaaba45a9b",
        "synthetic": true,
        "counts": {
          "emg": 24005,
          "foot": 612,
          "shank": 601,
          "status": 3,
          "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": 1213,
          "flagged_gap_records": 0
        },
        "emg_observed_skipped_slots": 0,
        "emg_rate_from_host_timestamps_hz": 7983.824805534796,
        "last_status": {
          "timer_missed": 0,
          "queue_dropped": 0,
          "imu_errors": 0,
          "fifo_overflows": 0,
          "adc_errors": 0,
          "emg_records": 24005,
          "foot_records": 612,
          "shank_records": 601,
          "battery_mv": 3200,
          "queue_high_water": 62
        },
        "issues": [
          {
            "kind": "abnormal_stop",
            "reason": 4
          }
        ],
        "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."
      },
      "production": {
        "case": 5,
        "fault": 4,
        "emg": 24005,
        "foot": 612,
        "shank": 601,
        "missed": 0,
        "dropped": 0,
        "imu_errors": 0,
        "fifo_overflows": 0,
        "adc_errors": 0,
        "queue_peak": 62,
        "udp": 2697,
        "discarded": 0,
        "writes": 200,
        "syncs": 6,
        "closes": 1,
        "pages": 192
      },
      "saved_file_checks_pass": true
    },
    {
      "case": "adc-stuck-busy",
      "hardware_measured": false,
      "pass": true,
      "firmware_checks_pass": true,
      "trace_artifact": true,
      "failures": [],
      "production": {
        "case": 6,
        "fault": 6,
        "emg": 0,
        "foot": 11,
        "shank": 0,
        "missed": 0,
        "dropped": 0,
        "imu_errors": 0,
        "fifo_overflows": 0,
        "adc_errors": 1,
        "queue_peak": 11,
        "udp": 5,
        "discarded": 0,
        "writes": 3,
        "syncs": 3,
        "closes": 1,
        "pages": 192
      },
      "saved_record_count": 12,
      "saved_bytes": 4864,
      "quality": {
        "source_sha256": "7321c32c18bc06d8f24dbf0a9aa1d8f1cea40feb67ca542ccfabf4120340bb5e",
        "synthetic": true,
        "counts": {
          "emg": 0,
          "foot": 11,
          "shank": 0,
          "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": 11,
          "flagged_gap_records": 0
        },
        "emg_observed_skipped_slots": 0,
        "emg_rate_from_host_timestamps_hz": null,
        "last_status": {
          "timer_missed": 0,
          "queue_dropped": 0,
          "imu_errors": 0,
          "fifo_overflows": 0,
          "adc_errors": 1,
          "emg_records": 0,
          "foot_records": 11,
          "shank_records": 0,
          "battery_mv": 3800,
          "queue_high_water": 11
        },
        "issues": [
          {
            "kind": "missing_stream",
            "stream": "emg"
          },
          {
            "kind": "missing_stream",
            "stream": "shank"
          },
          {
            "kind": "abnormal_stop",
            "reason": 6
          }
        ],
        "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": 5,
          "packet_gaps": 0,
          "reordered_or_duplicate": 0,
          "invalid_packets": 0,
          "unknown_session_packets": 0,
          "device_queue_drops": 0
        },
        "error": null,
        "session": "5f0a2467-f7bf054f",
        "imu": {
          "foot": {
            "accel_g": [
              0.00048828125,
              0.0,
              1.0
            ],
            "gyro_dps": [
              0.0,
              0.0,
              0.0
            ],
            "sequence": 11,
            "timestamp_us": 925001,
            "flags": 2
          }
        },
        "health": {
          "timer_missed": 0,
          "queue_dropped": 0,
          "imu_errors": 0,
          "fifo_overflows": 0,
          "adc_errors": 1,
          "emg_records": 0,
          "foot_records": 11,
          "shank_records": 0,
          "battery_mv": 3800,
          "queue_high_water": 11
        },
        "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_84dc7418.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": 12,
        "ended": true,
        "first_sequence": {
          "2": 1
        },
        "sequence_gaps": {},
        "stop_reason": 6
      },
      "udp_packets": 5,
      "source_sha256": "8c814e58f63fddae24d19acb5c97b28a79bb746b2c6a65606288ec88836d380e",
      "status": "pass"
    },
    {
      "case": "imu-fifo-overflow",
      "hardware_measured": false,
      "pass": true,
      "firmware_checks_pass": true,
      "trace_artifact": false,
      "failures": [],
      "production": {
        "case": 7,
        "fault": 3,
        "emg": 0,
        "foot": 0,
        "shank": 0,
        "missed": 0,
        "dropped": 0,
        "imu_errors": 0,
        "fifo_overflows": 1,
        "adc_errors": 0,
        "queue_peak": 0,
        "udp": 4,
        "discarded": 0,
        "writes": 2,
        "syncs": 3,
        "closes": 1,
        "pages": 192
      },
      "saved_record_count": 1,
      "saved_bytes": 4160,
      "quality": {
        "source_sha256": "df8dd96f1ec08e0ab107b72b8d9e286e56c070bd67654cf5d72f8b5f4ebc9ac1",
        "synthetic": true,
        "counts": {
          "emg": 0,
          "foot": 0,
          "shank": 0,
          "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": 0,
          "flagged_gap_records": 0
        },
        "emg_observed_skipped_slots": 0,
        "emg_rate_from_host_timestamps_hz": null,
        "last_status": {
          "timer_missed": 0,
          "queue_dropped": 0,
          "imu_errors": 0,
          "fifo_overflows": 1,
          "adc_errors": 0,
          "emg_records": 0,
          "foot_records": 0,
          "shank_records": 0,
          "battery_mv": 3800,
          "queue_high_water": 0
        },
        "issues": [
          {
            "kind": "missing_stream",
            "stream": "emg"
          },
          {
            "kind": "missing_stream",
            "stream": "foot"
          },
          {
            "kind": "missing_stream",
            "stream": "shank"
          },
          {
            "kind": "abnormal_stop",
            "reason": 3
          }
        ],
        "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": 4,
          "packet_gaps": 0,
          "reordered_or_duplicate": 0,
          "invalid_packets": 0,
          "unknown_session_packets": 0,
          "device_queue_drops": 0
        },
        "error": null,
        "session": "39932a47-9bcb50c8",
        "imu": {},
        "health": {
          "timer_missed": 0,
          "queue_dropped": 0,
          "imu_errors": 0,
          "fifo_overflows": 1,
          "adc_errors": 0,
          "emg_records": 0,
          "foot_records": 0,
          "shank_records": 0,
          "battery_mv": 3800,
          "queue_high_water": 0
        },
        "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_1ad95af9.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": 1,
        "ended": true,
        "first_sequence": {},
        "sequence_gaps": {},
        "stop_reason": 3
      },
      "udp_packets": 4,
      "source_sha256": "f48987f2e7740d2e6ba662d4a40ff39e8aef532cabfc9fc8fe3bf572c12f415b",
      "status": "pass"
    },
    {
      "case": "imu-missing-interrupt",
      "hardware_measured": false,
      "pass": true,
      "firmware_checks_pass": true,
      "trace_artifact": false,
      "failures": [],
      "production": {
        "case": 8,
        "fault": 3,
        "emg": 803,
        "foot": 0,
        "shank": 20,
        "missed": 0,
        "dropped": 0,
        "imu_errors": 1,
        "fifo_overflows": 0,
        "adc_errors": 0,
        "queue_peak": 52,
        "udp": 101,
        "discarded": 0,
        "writes": 9,
        "syncs": 3,
        "closes": 1,
        "pages": 192
      },
      "saved_record_count": 824,
      "saved_bytes": 56832,
      "quality": {
        "source_sha256": "d3737e69b8cd2c8e8372665f6c96045f38272ff7dfbd383a82cea6ddbe85a519",
        "synthetic": true,
        "counts": {
          "emg": 803,
          "foot": 0,
          "shank": 20,
          "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": 20,
          "flagged_gap_records": 0
        },
        "emg_observed_skipped_slots": 0,
        "emg_rate_from_host_timestamps_hz": 7983.8332354434415,
        "last_status": {
          "timer_missed": 0,
          "queue_dropped": 0,
          "imu_errors": 1,
          "fifo_overflows": 0,
          "adc_errors": 0,
          "emg_records": 803,
          "foot_records": 0,
          "shank_records": 20,
          "battery_mv": 3800,
          "queue_high_water": 52
        },
        "issues": [
          {
            "kind": "missing_stream",
            "stream": "foot"
          },
          {
            "kind": "abnormal_stop",
            "reason": 3
          }
        ],
        "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": 101,
          "packet_gaps": 0,
          "reordered_or_duplicate": 0,
          "invalid_packets": 0,
          "unknown_session_packets": 0,
          "device_queue_drops": 0
        },
        "error": null,
        "session": "5eb3d211-094591d4",
        "imu": {
          "shank": {
            "accel_g": [
              0.0009765625,
              0.0,
              1.0
            ],
            "gyro_dps": [
              0.0,
              0.0,
              0.0
            ],
            "sequence": 20,
            "timestamp_us": 1025001,
            "flags": 2
          }
        },
        "health": {
          "timer_missed": 0,
          "queue_dropped": 0,
          "imu_errors": 1,
          "fifo_overflows": 0,
          "adc_errors": 0,
          "emg_records": 803,
          "foot_records": 0,
          "shank_records": 20,
          "battery_mv": 3800,
          "queue_high_water": 52
        },
        "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_04c95275.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": 824,
        "ended": true,
        "first_sequence": {
          "7": 1,
          "3": 1
        },
        "sequence_gaps": {},
        "stop_reason": 3
      },
      "udp_packets": 101,
      "source_sha256": "7b082d0a7fbac1e0a88b03156c247bd2e36e3bfe6fea2dcfd88689ac20080ffe",
      "status": "pass"
    },
    {
      "case": "no-wireless-subscriber",
      "hardware_measured": false,
      "pass": true,
      "firmware_checks_pass": true,
      "trace_artifact": false,
      "failures": [],
      "production": {
        "case": 9,
        "fault": 0,
        "emg": 10043,
        "foot": 263,
        "shank": 252,
        "missed": 0,
        "dropped": 0,
        "imu_errors": 0,
        "fifo_overflows": 0,
        "adc_errors": 0,
        "queue_peak": 58,
        "udp": 0,
        "discarded": 0,
        "writes": 85,
        "syncs": 4,
        "closes": 1,
        "pages": 192
      },
      "saved_record_count": 10560,
      "saved_bytes": 679936,
      "quality": {
        "source_sha256": "7f0f2e4749ae1eeddb73470ed41703d96faef021c6f41785ad1365a9a95a42dd",
        "synthetic": true,
        "counts": {
          "emg": 10043,
          "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.920850897376,
        "last_status": {
          "timer_missed": 0,
          "queue_dropped": 0,
          "imu_errors": 0,
          "fifo_overflows": 0,
          "adc_errors": 0,
          "emg_records": 10043,
          "foot_records": 263,
          "shank_records": 252,
          "battery_mv": 3800,
          "queue_high_water": 58
        },
        "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": 0,
          "packet_gaps": 0,
          "reordered_or_duplicate": 0,
          "invalid_packets": 0,
          "unknown_session_packets": 0,
          "device_queue_drops": 0
        },
        "error": null,
        "session": null,
        "imu": {},
        "health": {}
      },
      "udp_packets": 0,
      "source_sha256": "038d61c717a63fd62bac638f5e0bdc8651c3059970a1815ae9ac3f906b38cc42",
      "status": "pass"
    },
    {
      "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"
    },
    {
      "case": "interrupted-recording",
      "hardware_measured": false,
      "pass": true,
      "firmware_checks_pass": true,
      "trace_artifact": false,
      "failures": [],
      "production": {
        "case": 11,
        "fault": 0,
        "emg": 8776,
        "foot": 231,
        "shank": 220,
        "missed": 0,
        "dropped": 0,
        "imu_errors": 0,
        "fifo_overflows": 0,
        "adc_errors": 0,
        "queue_peak": 61,
        "udp": 981,
        "discarded": 0,
        "writes": 73,
        "syncs": 2,
        "closes": 0,
        "pages": 192
      },
      "saved_record_count": 8396,
      "saved_bytes": 541440,
      "quality": {
        "source_sha256": "bf64c7c6b714158182c8af041922add03d45dafc91482b03f21b31b930bfe426",
        "synthetic": true,
        "counts": {
          "emg": 7984,
          "foot": 211,
          "shank": 200,
          "status": 1,
          "end": 0
        },
        "session_finalized": false,
        "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": 411,
          "flagged_gap_records": 0
        },
        "emg_observed_skipped_slots": 0,
        "emg_rate_from_host_timestamps_hz": 7983.894196149969,
        "last_status": {
          "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
        },
        "issues": [
          {
            "kind": "missing_end",
            "message": "Unfinalized session; trailing samples may be lost."
          },
          {
            "kind": "counter_mismatch",
            "stream": "emg",
            "reported": 8036,
            "decoded": 7984
          },
          {
            "kind": "counter_mismatch",
            "stream": "foot",
            "reported": 212,
            "decoded": 211
          },
          {
            "kind": "counter_mismatch",
            "stream": "shank",
            "reported": 201,
            "decoded": 200
          }
        ],
        "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": 980,
          "packet_gaps": 0,
          "reordered_or_duplicate": 0,
          "invalid_packets": 0,
          "unknown_session_packets": 0,
          "device_queue_drops": 1
        },
        "error": null,
        "session": "32e0339a-361ae69c",
        "imu": {
          "foot": {
            "accel_g": [
              0.00048828125,
              0.0,
              1.0
            ],
            "gyro_dps": [
              0.0,
              0.0,
              0.0
            ],
            "sequence": 231,
            "timestamp_us": 2025001,
            "flags": 2
          },
          "shank": {
            "accel_g": [
              0.0009765625,
              0.0,
              1.0
            ],
            "gyro_dps": [
              0.0,
              0.0,
              0.0
            ],
            "sequence": 220,
            "timestamp_us": 2025002,
            "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_0f5ecaf4.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": 9217,
        "ended": false,
        "first_sequence": {
          "2": 1,
          "7": 1,
          "3": 1
        },
        "sequence_gaps": {
          "7": 1
        },
        "stop_reason": null
      },
      "udp_packets": 980,
      "source_sha256": "fa4f865795af59cf18f472af44ccb6c0ffbec5a95d923e250f359f3dc98770ed",
      "status": "pass"
    },
    {
      "case": "storage-mount-failure",
      "hardware_measured": false,
      "pass": null,
      "firmware_checks_pass": false,
      "trace_artifact": false,
      "status": "not_run_quota",
      "reason": "Wokwi monthly CI quota exhausted; no firmware execution for this case"
    },
    {
      "case": "full-card-refusal",
      "hardware_measured": false,
      "pass": null,
      "firmware_checks_pass": false,
      "trace_artifact": false,
      "status": "not_run_quota",
      "reason": "Wokwi monthly CI quota exhausted; no firmware execution for this case"
    },
    {
      "case": "filtered-synthetic-emg",
      "hardware_measured": false,
      "pass": null,
      "firmware_checks_pass": false,
      "trace_artifact": false,
      "status": "not_run_quota",
      "reason": "Wokwi monthly CI quota exhausted; no firmware execution for this case"
    },
    {
      "case": "absent-shank",
      "hardware_measured": false,
      "pass": null,
      "firmware_checks_pass": false,
      "trace_artifact": false,
      "status": "not_run_quota",
      "reason": "Wokwi monthly CI quota exhausted; no firmware execution for this case"
    }
  ],
  "tested_source_set": "ad7606-2ch-1.5",
  "current_source_set": "ad7606-2ch-1.6",
  "current_source_executed_in_wokwi": false
}
