{
  "release": "0.10.14-sticks3-qre1113-cleanui",
  "runtime_version": "0.10.14-sticks3-cleanui",
  "board": "M5StickS3 K150",
  "development_sensor": "QRE1113 setup identified by the user; preferred supported board SparkFun ROB-09453 analog",
  "status": "published-user-checked-prototype",
  "published": true,
  "binary": "LaunchLabMini.ino.bin",
  "application_offset": "0x10000",
  "binary_bytes": 730144,
  "sha256": "428543c2a012f5ee865999e62494e1608b77a9091a62b253fae9fb1e87ad2b25",
  "cpu_mhz": 80,
  "optical_sample_hz": 50000,
  "changes": [
    "Defer automatic checkpoints until ten quiet seconds after practice and outside visible recaps",
    "Use the newest continuous settled pre-roll segment and 150 ms post-roll without accepting invalid pull samples",
    "Verify fresh paired IMU data and retry startup or a missing motion owner while idle",
    "Remove routine saving captions from main, recap, history and Settings; retain history navigation",
    "Retain 80 MHz CPU default, 50 kS/s optical sampling and existing RPM, fusion, brightness and shake-wake policies"
  ],
  "retained": "0.10.13 IMU recovery and all optical/fusion/storage/wake policies",
  "validation": {
    "build": "passed",
    "affected_ui": "1480 rendered-frame playback cases and 24 production pipeline scenarios passed with synthetic fixtures",
    "flash": "Application-only/native full readback verified, support identities retained, NVS unchanged before first boot",
    "runtime": "0.10.14 confirmed after physical restart; IMU owner and fused orientation ready; 80 MHz and 50 kS/s; no ADC overflow/read errors during the check; green LED disabled",
    "physical": "Three normal consecutive QRE1113 pulls: valid tilt; first complete recap frames202-216ms after detected end; user confirmed prompt playback. Separate MusRock digital output remains unqualified.",
    "native_tests": "20 native sanitizer suites and six production harnesses passed on the public 0.10.14 source",
    "remaining": [
      "Long-session and absolute RPM/angle calibration",
      "MusRock digital circuit/accuracy",
      "Battery endurance/current and80MHz battery wake",
      "Physical browser transfer, four-image first install/rollback and stock recovery"
    ]
  },
  "source_provenance": {
    "production": "Exact bytes from the frozen0.10.14 build",
    "documentation": "Public README replaces private development notes; not compiled",
    "private_archive_name": "0.10.14-sticks3-analog-cleanui",
    "tests": "Public harnesses with synthetic playback fixture and canonical local header include; private saved practice trace omitted"
  },
  "source_sha256": {
    "LaunchLabMini.ino": "a98e9a9523b3b26077a4391ec5e7150b5254b0c682f83968b729a0eb7390fcea",
    "README.md": "a796a1964077544f35890699231172879232f651da5cec0abd1c9cdab7cf0883",
    "acquisition.h": "e135d50759dc4086dbbebda74577698649c489f93a33c588f1e466c01807df39",
    "analog_tachometer.h": "8bf4b15d4f8bd207fdc1795d49a4ac5316b49e4c5b01d5f6dc8874028badf63b",
    "history_checkpoint.h": "28b6197f415ee4109cefbed9eb17b5934ba14a3f600a3ddaccdb1e61aa0b5c02",
    "launch_feedback.h": "33721aac3a4c89af067f305249858b1efc4b72fdf176600754f72455ad76d2fd",
    "launch_motion.h": "cb9e1a84b9c971019043d0a4fe1c6948a81294d18c2e1aa79dca433dc2237818",
    "level_indicator.h": "8bfd5b47e2e7626fa042f0db491077723d3f2f84b6a10281f6263df2068fe3e4",
    "motion_acquisition.h": "64fccfbea50d6269745fcb22dec9d48908dc3517780f33da7f1778c8b7e8577f",
    "motion_replay.h": "0f2f70509b9d6386d973bbcb9bc1cef35dca1df460ccc91ca7b5825e5684c7ec",
    "motion_store.h": "96720370a6dc945aacddc0ce7ca08bdf8e64f8edb948ccbf866fffdf48fd762d",
    "motion_ui.h": "91840a7708a359168a0a5568bfac5cd1058e54f2d896543570ad487b85722967",
    "orientation_estimator.h": "c5165b986587ae94635e356726116dc8e5c3be8ead341202b63fa286f2842f3b",
    "power_diagnostics.h": "ce8a64ba59e0fbc5e6b964d7a86b9cba1a72bc3618cba007f930094f399238fc",
    "power_status.h": "372a37b6c41bcd109d20ecb3c3618ae505b3638c88409c62b831c69cbb36c046",
    "practice_history.h": "75bc7e9f3e1bf2256956bf51d0a3eb44d320cebfae3157e1cc19edadee308e99",
    "practice_store.h": "c3f133098ad8601806448c4d831c47dc04d51f3f911464abf2245a0584074b75",
    "practice_ui.h": "971afb079c98d9a9d27143bed9a188b2a59a6f5e0579d6904807a5731d219e6b",
    "practice_views.h": "9b0d0dbe2266653166fb1fddddbad713af83fb4cf317d0daa8de8e9325c8662a",
    "raw_transfer.h": "daf2bfe4b9615a6e7a0fa9c184d5fdbedbd04aebab43fb4616a321989deb15aa",
    "rpm_estimator.h": "45ee94c66d0d233d8659e6699fe5a3775712efea65e400e1369259bf0e4600fd",
    "rpm_estimator_setting.h": "93248b9cee95c4719d318b99deb7466fd020c441a6f1b98c68a26958eb2f5905",
    "sample_ring.h": "fa6ebc0253d56d0fd54a38ad2ec1060d79b74d84561dfb6f999d82a11b4162f7",
    "sensor_profile.h": "6cef408e9d81271776803f2629da79fa4607faccb03cc34e664299250c95eac6",
    "shake_wake.h": "499fcacbb1e18e9430b2f431c9228ecbc4fbeeddf21f7b2378043e64d6ff63c0",
    "src/bmi270/LICENSE": "56df116398e0b72a12ae353d93002d29175583590283ced2c2510e3d8075546f",
    "src/bmi270/README.md": "f538c4ef8ba12dbb5963ebc9aa4c95ca3fde01a5b99e318c3d2f51bf6031bbe0",
    "src/bmi270/bmi2.c": "0157971d614d8fbaaac1af04e9affedde1221e8c41520d4599129ef5c681794c",
    "src/bmi270/bmi2.h": "40ae64349408c104d4dc0cce5dfc3900bdfb2afa8e3d37b152584867a8188914",
    "src/bmi270/bmi270.c": "69ef54827569de27ac76ca2f0cf532ee658f4da3d91eaa9546a96c233da330d8",
    "src/bmi270/bmi270.h": "661464189003823bb3061b7a3de56903ad4c4f1aabee0a407712b9b2f3cdd5a1",
    "src/bmi270/bmi2_defs.h": "60d9047a47f9c638e7cc13890e85380a9cc544ae3b1ee215f793da03463712b9",
    "src/vqf/LICENSE": "0c22d71ab6599696c5dabbdc3cc11ad68016d00a01efa2980538e42c9ccf73f3",
    "src/vqf/UPSTREAM.md": "dd70483df93c5b4ccb600cd8940b504a7571825aca0650d1db2e9624c23e2862",
    "src/vqf/vqf.cpp": "fb035248ebeccc16897476c7afca5e912f3ad77f0faebd16ff4d5f94b44c614b",
    "src/vqf/vqf.hpp": "ef15c074bce16adb76e7f191970ea589bc6d7ce01027130e5233041c0e11eb24",
    "usb_awake.h": "bb4c9ac29282c61f6b9c1b5c0ddbf81398b9c9501d9d6943698915319e907094",
    "wake_ui_state.h": "0563e89d8ede5cc7eddcfc7aa7eb4f06054842d0ea9278ddc639acac45fb38cc"
  },
  "artifact_sha256": {
    "LaunchLabMini.ino.bin": "428543c2a012f5ee865999e62494e1608b77a9091a62b253fae9fb1e87ad2b25",
    "LaunchLabMini.ino.bootloader.bin": "8581a3fb98309f261482327b5ff51a2fabca0ec513f9ba38595ed04479794e58",
    "LaunchLabMini.ino.elf": "6b459a52370d191e71a366f95bde6e0e2f064e5168ff59f9bc9f7476d7e693fb",
    "LaunchLabMini.ino.partitions.bin": "1d9cca96de0fe07ad7fc0648b9878ddecd9ce565e38b589ad20fea698ed4c80c",
    "README.md": "9bd7748254ce5bdb26d6b59fccbb15d7b563d8b9f56fa107a934049da3cdeb03",
    "boot_app0.bin": "f94c5d786a7a8fab06ac5d10e33bf37711a6697636dc037559ea19cc410a17f0",
    "test-firmware.sh": "46d6a9f13eeaff474606f2df40b735931d958e0722995f4a8f98d115d9d31469"
  }
}
