{
  "source_repository": "https://github.com/adamjdavidson/magic8-device-firmware",
  "commit": "2d626b134add1ff7722c5e3378a5e03438e6ac81",
  "archive": "magic8-current-2d626b1.tar.gz",
  "excluded_reason": "Eight standalone macOS esptool executables are retrieved by the preserved pinned fetch script or exact Git checkout; all source, assets, generated files and vendor README/licenses are included.",
  "files": [
    {
      "path": ".gitattributes",
      "mode": "100644",
      "git_blob": "0443bb8903e4d984a9431a0e906d3c1a604a9c60",
      "size": 144,
      "sha256": "ce76bce76d30e92e4e5e0b9af40ac7e1f97e805faf0cb5f8549383d1aa8fecea",
      "included": true
    },
    {
      "path": ".github/workflows/checks.yml",
      "mode": "100644",
      "git_blob": "d26c92842f4a0b78b55901ae297e1e740aecef66",
      "size": 2893,
      "sha256": "b2dfd9c079a1b63a425afcc0393e79408978b9be3b5b8c1ab4777a54df32abf6",
      "included": true
    },
    {
      "path": ".gitignore",
      "mode": "100644",
      "git_blob": "da2ec0d98e235f77c52af311f2d9cb143d4e02ca",
      "size": 2044,
      "sha256": "de714607df2e5dbb00fde4e22e1da60d57ab3af6dc21dd54c51710895e6191bf",
      "included": true
    },
    {
      "path": "AGENTS.md",
      "mode": "120000",
      "git_blob": "681311eb9cf453d0faddf3aacaec7357e97ba8e9",
      "size": 9,
      "sha256": "6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7",
      "included": true
    },
    {
      "path": "CLAUDE.md",
      "mode": "100644",
      "git_blob": "cd26e7cb55d61a1df5b5ae5a559577221d695dd8",
      "size": 6865,
      "sha256": "a71aab309c4518345bb83a1eadd66ee65b3f092826b2c7bd2ca499152ffaa578",
      "included": true
    },
    {
      "path": "HARDWARE_VERIFICATION.md",
      "mode": "100644",
      "git_blob": "a89628580d6e6bf49dcb97dd3ac33b8c7b0102b2",
      "size": 55875,
      "sha256": "d8f5be42f1c8edda32ed18f763801d7a4425d2990423ccd24f2d9a385f2ce945",
      "included": true
    },
    {
      "path": "Magic 8 for AI - Screen States v4.dc.html",
      "mode": "100644",
      "git_blob": "3be105f24ba33529cf00a0f5a7c8585ef755a051",
      "size": 29887,
      "sha256": "82d50d192dd4e60fb5f408efb5dbf3bf6ef0bdf4f7226c205019d522adcf65a2",
      "included": true
    },
    {
      "path": "PROJECT-CONTEXT.md",
      "mode": "100644",
      "git_blob": "0d441f329897bd10b4b0f6c72d569dd81c1c37f9",
      "size": 19686,
      "sha256": "1540d71796839a10c9ceded97777d2f8cab2e484f8271795870d1d0818d7fb32",
      "included": true
    },
    {
      "path": "README.md",
      "mode": "100644",
      "git_blob": "3a21e68cf8f86d7fef9a595bfe3a126c0d278d1c",
      "size": 29190,
      "sha256": "b4c020f34ba01f0b1503523b8cf2934dc4bac027aade10b8eda2bbd876f6d4e6",
      "included": true
    },
    {
      "path": "VERSION",
      "mode": "100644",
      "git_blob": "0c62199f16ac1e2d7f7ae75b420c1231325dff4e",
      "size": 6,
      "sha256": "71015c979ccb0fc8a0be7ca0ae83046ab045cdc2c8faa09fb2f0f7e440f9b4a6",
      "included": true
    },
    {
      "path": "assets/fonts/JetBrainsMono-Regular-static.ttf",
      "mode": "100644",
      "git_blob": "b0440831466caf3f5c34c5bc658edf41ed351f22",
      "size": 115152,
      "sha256": "03de6c845b38c33952507a436d33fe2aafd70cae76020ad62ce329a6025aedcb",
      "included": true
    },
    {
      "path": "assets/fonts/README.md",
      "mode": "100644",
      "git_blob": "19413a5d3371edd42f99776f87010472431c4f0c",
      "size": 3996,
      "sha256": "ac02a254944c989d2e0d83d98a042874871e9703f7bfda972b7c3aa25b28c099",
      "included": true
    },
    {
      "path": "assets/fonts/RobotoSerif-Medium-opsz36.ttf",
      "mode": "100644",
      "git_blob": "ec2367eaf833a6287633443d53f0f431add3e904",
      "size": 271336,
      "sha256": "c90f1018e50e384e437483967b37368599e5f6468dfa3dd9c455f2e2ff9068ca",
      "included": true
    },
    {
      "path": "assets/fonts/RobotoSerif-Medium-opsz40.ttf",
      "mode": "100644",
      "git_blob": "5eb390a65e55795b36cbb56ecf92b28088c29a33",
      "size": 271320,
      "sha256": "7ed9f163eb3534fb805f0f18973c61e3f734957b1a92cda08f8c20f6c665cd16",
      "included": true
    },
    {
      "path": "assets/fonts/RobotoSerif-Medium-opsz52.ttf",
      "mode": "100644",
      "git_blob": "dd39420beb8cd0df0b185f4de9236fc8e1846230",
      "size": 271308,
      "sha256": "aa9a0e8c62c41881178f80368f8b51e60e9b8154b9cb3f473f4d6acb4b813ebd",
      "included": true
    },
    {
      "path": "assets/fonts/RobotoSerif-Medium-opsz66.ttf",
      "mode": "100644",
      "git_blob": "1c4f6800c70a0fcce168805420f139ca73c1ea1f",
      "size": 271340,
      "sha256": "3462930cd7336406c4cc7eec58583d83705030da3dd032a84c8919667fe178ba",
      "included": true
    },
    {
      "path": "assets/qr-boss.svg",
      "mode": "100644",
      "git_blob": "6f48b3b12dd302803e933c4b161b7e0e4f3b81c7",
      "size": 14993,
      "sha256": "4160e430121ac1e3dca8782ec426a370f03edb28b50795e93f144d814122ae03",
      "included": true
    },
    {
      "path": "assets/qr-mcp.svg",
      "mode": "100644",
      "git_blob": "b240940c73f7bcd5d04faff06da7f798d5a257cc",
      "size": 14978,
      "sha256": "12af40fe68a3a0b0c299659479154d614fbb48576f9d0329f6a9da49bc55f44b",
      "included": true
    },
    {
      "path": "assets/qr-troubleshoot.svg",
      "mode": "100644",
      "git_blob": "cd941d535c2642632962eaedb2c6d43064961fc7",
      "size": 15393,
      "sha256": "0dd3e4674970fb53b6afefa629d3026c8991754697c6f6a2e43d01b138519ea1",
      "included": true
    },
    {
      "path": "content/handoff/HANDOFF.md",
      "mode": "100644",
      "git_blob": "48946edf9d57d3c93288fc32c9ea76b67e8ef1cd",
      "size": 7506,
      "sha256": "be65c498e52f1b3bbd2ae546066ab9deda446f26fbafe5912f28f91206e7e823",
      "included": true
    },
    {
      "path": "content/handoff/magic8-handoff.json",
      "mode": "100644",
      "git_blob": "ba972c9b2220b8a8af03f51d88bddda2428f620d",
      "size": 50611,
      "sha256": "a6c7e600ee4e2db0bb525eda273b9ae5859ec5113bab02f86189e6ae52098fe7",
      "included": true
    },
    {
      "path": "content/moves.json",
      "mode": "100644",
      "git_blob": "2ff662da0c31cf8c1ca3ddd7928e6a0da1b5b641",
      "size": 48953,
      "sha256": "7635fb1252610eec790c72d49b6994ee83378960a62b84b84fe45cc74abc3d5b",
      "included": true
    },
    {
      "path": "docs/DEV-LOOP.md",
      "mode": "100644",
      "git_blob": "4b82ffb24f070c8d44c3837c889c193238237cf3",
      "size": 5610,
      "sha256": "f0f61360636437fad544505e766bc32e1d1b77faff7a3365b0601adfe8deb62a",
      "included": true
    },
    {
      "path": "docs/NEXT.md",
      "mode": "100644",
      "git_blob": "9fc0bb6e0e434ef43b62fee4045e2e14f814c2f4",
      "size": 13871,
      "sha256": "fd657a430e0667049a05774018c9c512b0c8bf4cc780a6646a30e05ce9bb6f25",
      "included": true
    },
    {
      "path": "docs/archive/2026-09-09-hardware-investigation.md",
      "mode": "100644",
      "git_blob": "832285789ade8eae64c589ac9d7e53e1d3f14987",
      "size": 22089,
      "sha256": "b6e65bbd3ab6a7ca11d49fbca87116065aac1ea35203e840401b3131ac29bd72",
      "included": true
    },
    {
      "path": "docs/archive/2026-09-10-handoff.md",
      "mode": "100644",
      "git_blob": "435bc13a2cdfedb2d915d05b5348e8683e67f32d",
      "size": 15003,
      "sha256": "72ee23455034b41061ea57b09e46c5a9f581f28bfdc2118baa726b09cdbc7fb6",
      "included": true
    },
    {
      "path": "docs/archive/2026-09-10-lvgl-on-device-plan.md",
      "mode": "100644",
      "git_blob": "67348c97a268198c82f0c6d0069f2fe9adebc08c",
      "size": 69816,
      "sha256": "509384380e58c592738680ae3c1cc6fae867d2a0a62adebc9dea5d67f0ad0701",
      "included": true
    },
    {
      "path": "docs/archive/2026-09-13-task8-session-notes.md",
      "mode": "100644",
      "git_blob": "63ae49dd27af39921bd967dc863d25c7724af044",
      "size": 19817,
      "sha256": "edcfc3e4f5a7e344a0976e2318dd87715bb8c5536023f5407fdac5047d588a77",
      "included": true
    },
    {
      "path": "docs/archive/2026-09-14-approved-content.md",
      "mode": "100644",
      "git_blob": "d727e118afdb2ea24dc509b03467d03b45214762",
      "size": 3130,
      "sha256": "64e2743fa08eac4657d51bc262b4847b5c6ec37574d623540c1d447b85bc4fad",
      "included": true
    },
    {
      "path": "docs/archive/README.md",
      "mode": "100644",
      "git_blob": "daaba2e275d9a23735f9f2d13865ece1d4683577",
      "size": 1201,
      "sha256": "76b8fefea1337b87fbe29e96285c50a0b5475f953f6cf19e4f6a873490ded980",
      "included": true
    },
    {
      "path": "docs/audits/2026-09-10-documentation-audit.md",
      "mode": "100644",
      "git_blob": "d00ef8259b4e8057cfac67ef73022406f00db237",
      "size": 12665,
      "sha256": "cd588e458658535cbad61d6921ae74e66e7826dec97a49f43e70743512e83424",
      "included": true
    },
    {
      "path": "docs/audits/2026-09-10-plan-tasks-3-9-audit.md",
      "mode": "100644",
      "git_blob": "a5e41e8945b88e336e4ed5edf0220b444e972df1",
      "size": 12534,
      "sha256": "b457ebe2ae0596281c2a96f531a6017164268535c716e5063e19608f74eff589",
      "included": true
    },
    {
      "path": "docs/audits/2026-09-10-shake-detector-review.md",
      "mode": "100644",
      "git_blob": "72e1c7c9f616ab84120448352cea6e8ee843ca8b",
      "size": 10809,
      "sha256": "5f93ec2ebd1050c94c2f15f01c05a538abb8aa87dabd28e728b762207b1d2f64",
      "included": true
    },
    {
      "path": "docs/audits/2026-09-13-task8-closeout.md",
      "mode": "100644",
      "git_blob": "2ab87014abe3f4646de2d78f298fe2aff91da16f",
      "size": 5343,
      "sha256": "9caa4578c8cde3879852dc7f42c5f0fdebe89869c4083b7fc7bee727b1b29a14",
      "included": true
    },
    {
      "path": "docs/audits/README.md",
      "mode": "100644",
      "git_blob": "1ab38d9b6e6e3be827ff063d16a74f9f5d2c727e",
      "size": 5389,
      "sha256": "0cc2568b40979ece0975337df6d17d0788c2b740dcca35943259ddf357139ef7",
      "included": true
    },
    {
      "path": "docs/content-integration-verification.md",
      "mode": "100644",
      "git_blob": "35028f12471aea867959440b4028381cecb0df78",
      "size": 3867,
      "sha256": "8ee2ce4446dafc647c12d00c54f1a892ce69bc26a0f26a4590aec132eb515616",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/README.md",
      "mode": "100644",
      "git_blob": "7660dd8f2e6a5a9af8387de591eb16b2bdbd561f",
      "size": 3019,
      "sha256": "da1ec4481c9aaeb387ddf9a45941b7d42c6dc6b03f30346bf51bb5b6ec0f73e0",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/battery-colors.png",
      "mode": "100644",
      "git_blob": "13767df13984cb7301be38e4d9c3e9d24574470a",
      "size": 93930,
      "sha256": "d7eda99ce6357c0ecfc3cbbf0e4acaa83aad23c244fc0d8033227d9cdc8d221c",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-before.log",
      "mode": "100644",
      "git_blob": "992d71dc44c858b67de461903a124d0d25c87ab0",
      "size": 5096,
      "sha256": "7a09a618de691b13f8eeca8afaaa25c09cd2a06bb4815b5209a55934d221a7b9",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-firmware-build.log",
      "mode": "100644",
      "git_blob": "9d98b888c2702c9c1df1f03826fa650c3efdadc4",
      "size": 6368,
      "sha256": "a8abbb05bad7ccb5cc5e4a56f96f8efce7324125bc4e60bd678b4d1033241bd9",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-first-live.log",
      "mode": "100644",
      "git_blob": "3544c875c7edceb4eaa82e81d618f51331255f28",
      "size": 658,
      "sha256": "9a6b75627409502f074296f20b8e81ac59fa59c7ebde9042ef60358fe328e944",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-five-second-boot.log",
      "mode": "100644",
      "git_blob": "44217a243a224ae1bd24e07e5781e6f2727c941d",
      "size": 8941,
      "sha256": "ba77a1d574a83da83272b463a5cca62a93d9a49e02dc9bb730f815924cdfa75b",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-five-second-build.log",
      "mode": "100644",
      "git_blob": "b3541444018c40c6ae9180c9e25c3bf386d30d77",
      "size": 5399,
      "sha256": "ffcb32e7e14fa2eea1854e06024ca0bd0da08fe05c8b3d2df5d95a84caa39f73",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-five-second-flash.log",
      "mode": "100644",
      "git_blob": "6b25a37f12ae8ca952a5969aaced0af58eaeedf3",
      "size": 4687,
      "sha256": "33f98089cc0d48ebf98eb9d1a6974c8abff743c860ed01ed82828f7e57355bf3",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-five-second-reconnect.log",
      "mode": "100644",
      "git_blob": "c96c34126e370548b075862837967791213f9566",
      "size": 347,
      "sha256": "15de81b0c13951134eeac64a23c991f166ad92716dd12a5609d7abbd79e97cd3",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-five-second-screenshots.log",
      "mode": "100644",
      "git_blob": "8a393ff03bf7c9a0ab42f7cfd4c71a18281c9ac4",
      "size": 6059,
      "sha256": "b1bef7ce0d4c97875f4e958d3aa10cf9906dfdb708013c09db39068d152d625a",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-flash.log",
      "mode": "100644",
      "git_blob": "ea36bbf416a72f7ef6d212769eb42c9c1857a2e9",
      "size": 4687,
      "sha256": "48597e9a88cd43323aa2a580c7759d27cf2be266fa5d833ad3c41dadc0ecadf6",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-host-build.log",
      "mode": "100644",
      "git_blob": "d95047dbd675f2ab105b24ddc8522fced0c41ef9",
      "size": 6989,
      "sha256": "da24e939e5632fc90182e72cf4031d5c741f0770eba17907cb60d36dc46e94b7",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-low-voltage-red.log",
      "mode": "100644",
      "git_blob": "3cc9f309d59b279a086626d9454cc6c108740ba3",
      "size": 1570,
      "sha256": "f1e3aa4475b2c98320186aa02097a3d9cd5864892c58da116ba67703c342aa85",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-pre-final-live.log",
      "mode": "100644",
      "git_blob": "9c6a14bd2889a80b61f62064566e5a549dff2ba7",
      "size": 352,
      "sha256": "036bdf5be2d946b66e7b22f80bb3e8fdceecf24e58e448b4b151b76288956f88",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-review-boot.log",
      "mode": "100644",
      "git_blob": "6665e9ed509ad0c1c67530628e13dbcae0772437",
      "size": 8935,
      "sha256": "7035faae50059223710214aee6dd6543fa9bb6444941b2c3058e1bc5d2702656",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-review-build.log",
      "mode": "100644",
      "git_blob": "275f6415ee4d56f0ac4d7a9750b5304abb7bef64",
      "size": 5399,
      "sha256": "8fb6f67537a442fd5d8eb7e9269005ccb0a2688f6f28539e2e750257102ab281",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-review-flash.log",
      "mode": "100644",
      "git_blob": "af974c9764162d854966ccde9c3d9b148aae7977",
      "size": 4687,
      "sha256": "b7091da3cf9fcc1459fe46b88b30dfcb6c1378973ea543bcd2f30347ab8174a9",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-review-host.log",
      "mode": "100644",
      "git_blob": "c09df5d073481c52cdf7593fda9963ba10525d55",
      "size": 4201,
      "sha256": "1ba590516526686f7c2b5af74d14c13e472d3fb6af6955ec8c8f810af8cb3e05",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-review-screenshots.log",
      "mode": "100644",
      "git_blob": "8a393ff03bf7c9a0ab42f7cfd4c71a18281c9ac4",
      "size": 6059,
      "sha256": "b1bef7ce0d4c97875f4e958d3aa10cf9906dfdb708013c09db39068d152d625a",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-screenshots.log",
      "mode": "100644",
      "git_blob": "8a393ff03bf7c9a0ab42f7cfd4c71a18281c9ac4",
      "size": 6059,
      "sha256": "b1bef7ce0d4c97875f4e958d3aa10cf9906dfdb708013c09db39068d152d625a",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-sleep-review-boot.log",
      "mode": "100644",
      "git_blob": "7bd4534192d85916012d3dc59aa6e672350f8e26",
      "size": 8935,
      "sha256": "6d5cf0567ede360b36677e516a724030c1ba93d201e6d486e039de2ce993ba1e",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-sleep-review-build.log",
      "mode": "100644",
      "git_blob": "d33d7b6ba3fba869f1ef4089f11b6e94fc6a5c5b",
      "size": 4904,
      "sha256": "794bb9fd11208373fdb5546a02174f4788f6938c57810eefd736496258af0dee",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-sleep-review-flash.log",
      "mode": "100644",
      "git_blob": "fbb9ab45d8a52cf7fa908c4b309bd2f4890d1476",
      "size": 4687,
      "sha256": "a7a36842065eda11c9868f1c95d70b88f488ef80338c6ed22a826219a8067f4b",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-sleep-review-host.log",
      "mode": "100644",
      "git_blob": "004152e326114fc1903199ed26a791f8a373890a",
      "size": 1586,
      "sha256": "677b23d641f2e3386f05ff95f2a1f372a3834543eec4d08eb76450d70ca90118",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-sleep-review-screenshots.log",
      "mode": "100644",
      "git_blob": "8a393ff03bf7c9a0ab42f7cfd4c71a18281c9ac4",
      "size": 6059,
      "sha256": "b1bef7ce0d4c97875f4e958d3aa10cf9906dfdb708013c09db39068d152d625a",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-stale-usb-red.log",
      "mode": "100644",
      "git_blob": "6ba6f2e9f783278a03e953971d5c95d5ef544bf0",
      "size": 1536,
      "sha256": "b6956c212c43812eff7d825a41bcec5799bb3f8ad6b905af3fb88b4177a70e16",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task10/magic8-task10-walkthrough.log",
      "mode": "100644",
      "git_blob": "bbf57e4ae5c8fcba3ed8b350c2b5e677acbdf93f",
      "size": 692,
      "sha256": "b2d691734fe708d768b01d5f4c39fb8dd9816e38f1ee6eb81f6fb426cf4026bc",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task8/README.md",
      "mode": "100644",
      "git_blob": "36a8cf2528e6de33eef1140fe2e1902f5acfe0fb",
      "size": 816,
      "sha256": "5d087825fba01a796f1b4f86246d5ed8994351ede1e0aaa5537a519979a4a3ff",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task8/magic8-task8-after-screen-readings-direct.log",
      "mode": "100644",
      "git_blob": "0ccf02c0384012aaa401dc27689d4cd189ec0780",
      "size": 474,
      "sha256": "b707870bd638461311e4e340422705f1565f9d2023ef68e18355e205e9622b4e",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task8/magic8-task8-battery-first-direct.log",
      "mode": "100644",
      "git_blob": "a1b1f27ad115975e3ecdf7bc631c35e25747d92f",
      "size": 5760,
      "sha256": "a1c93d31ef6f5f29f5c8c0b3253091a141996d376a1b432259563d308e7ba1ca",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task8/magic8-task8-charge-check-20260912-143149.log",
      "mode": "100644",
      "git_blob": "cf5aa8583f88b7c18ff0de8ffd8099472c21548e",
      "size": 435,
      "sha256": "3d942283612cd3b38efaa73de6ee4b4e40c108df9f49096189d1a94586548914",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task8/magic8-task8-charge-check-20260912-144505.log",
      "mode": "100644",
      "git_blob": "cc560479e9a299a25efb568433573ac5e115d8d9",
      "size": 242,
      "sha256": "fdf8e3a8c7a05f337abdae11343ba9441cd7315b8be4ef881833f3e676ed3b02",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task8/magic8-task8-charge-check-20260912-175632.log",
      "mode": "100644",
      "git_blob": "584dcc01456f369309a2a99e610efa45f84b6c16",
      "size": 244,
      "sha256": "861022410fe94768821811ed83b9970372dde08b4c0b3f00c15f438108f5e91b",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task8/magic8-task8-charge-check-20260912-182704.log",
      "mode": "100644",
      "git_blob": "b5b32cc4d2c49a61c8d3d3bab5bd972bc7de5e54",
      "size": 712,
      "sha256": "1fe198fbff320369d8cbf4b0654298a7f3d545d3f7433301ceecc6608124bcf9",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task8/magic8-task8-current-direct.log",
      "mode": "100644",
      "git_blob": "510dc15ff57c158260a791bb077d214a44093b7c",
      "size": 433,
      "sha256": "6eec3790315bdf56242c941ee00a71f149d786d4ce039dc1c3fcff34ac923b0b",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task8/magic8-task8-first-reading.json",
      "mode": "100644",
      "git_blob": "3d2695024f9f754a5b2ba0e70ddb34de0b369fb6",
      "size": 967,
      "sha256": "55093d85185c3360061678a4a1d46725ecd84c1096f6acf75c2e1be7fccd95b1",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task8/magic8-task8-overnight-end-20260913-073642.log",
      "mode": "100644",
      "git_blob": "369ffc2ad85d20d0568f47b71015928be1a30c4f",
      "size": 2536,
      "sha256": "8771a45f5dd10db25aa5a64163d8461c8914d7fcaf83e2b99038e178d47ed637",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task8/magic8-task8-sleep-check-20260912-194210.log",
      "mode": "100644",
      "git_blob": "809eed403242cc3e12fdfe61c4f1b099b72b2cff",
      "size": 248,
      "sha256": "84eb1657cca01b36b2b39cfc10799e2c730f6fda4efdf5afb886206ec28580df",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-13-task8/sources.json",
      "mode": "100644",
      "git_blob": "a1efd97ed30fbe27cad624fc1280909a17934de1",
      "size": 2271,
      "sha256": "9d3c76ed87a1822a6c2a22613ff2a6b1a3965beda0efcfec3c52646d6aae0012",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-14-content/boot.log",
      "mode": "100644",
      "git_blob": "e0dc7c261f90da354373d8f522d4398f619c032e",
      "size": 8515,
      "sha256": "631e893d87e413f51b8ccdec9823c3a4ca60b4189d1abe9038da8a8f18e18f0e",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-14-content/flash.log",
      "mode": "100644",
      "git_blob": "f36e7287355cd074453bec2ab5e08659af32860f",
      "size": 4797,
      "sha256": "7b5c13b93cea87ab098a22f201061e10978232491135ebd790a578035982fc93",
      "included": true
    },
    {
      "path": "docs/evidence/2026-09-14-content/image.json",
      "mode": "100644",
      "git_blob": "2884c269404aeda9aee040b851dc437e8cbfbffa",
      "size": 233,
      "sha256": "83bdbec20eaaad057d869de873632b41ce8c9b40766e38bbcb472523dd91e796",
      "included": true
    },
    {
      "path": "docs/superpowers/plans/2026-09-11-shake-and-sleep.md",
      "mode": "100644",
      "git_blob": "efd806fdb4d140d729acc5924b79b080c5f4ad3f",
      "size": 156265,
      "sha256": "37dc8484dd4fbeb0df8b98a90e9cd2c6280e4d12c2d50a2d904d3eec99141d1b",
      "included": true
    },
    {
      "path": "docs/superpowers/specs/2026-09-11-doc-drift-prevention-design.md",
      "mode": "100644",
      "git_blob": "eee22bf84109263e6a1a46d56c8eda17cb30cb48",
      "size": 9446,
      "sha256": "ea9d1594b275eadc59ce83162cdb8f93976350ebc07b7afc925ab864fd474bff",
      "included": true
    },
    {
      "path": "facts.json",
      "mode": "100644",
      "git_blob": "481d99b083e59a21c61a36fb396d7ef4c948e60a",
      "size": 598,
      "sha256": "3a2309480d4b843cc23d57f768f077edc4c71e1a3b383487e7940afd65594e59",
      "included": true
    },
    {
      "path": "firmware/CMakeLists.txt",
      "mode": "100644",
      "git_blob": "bdbc0c4b7abea9ce4303ede9f0c8612f127e7b68",
      "size": 1301,
      "sha256": "5d918e8e068b57a25e7dfc66942c3fcf5a3cad8e560baa9d7840d87cfbacffa6",
      "included": true
    },
    {
      "path": "firmware/dependencies.lock",
      "mode": "100644",
      "git_blob": "10c15608c600c41a7dc2d5db7097082f6252e005",
      "size": 2430,
      "sha256": "6e6f478b7d56de28fa602dbf72b339f2838611d10a77ca72941d7004ad7d6a78",
      "included": true
    },
    {
      "path": "firmware/main/CMakeLists.txt",
      "mode": "100644",
      "git_blob": "fd4ce2da4d8407bb564ee4f28b6a7e085a9b4666",
      "size": 3660,
      "sha256": "b23a067f67298d40e492dbfb8234ceb3587378db1f3aa871dbc20c8198df0fcd",
      "included": true
    },
    {
      "path": "firmware/main/Kconfig.projbuild",
      "mode": "100644",
      "git_blob": "ee053760acf6a13abf7a8f7e1c1a5da35aa7b42b",
      "size": 4071,
      "sha256": "cca10119b167cc9684e5d4a78224e91e52826c549e23a5201c58fa2d6ff27354",
      "included": true
    },
    {
      "path": "firmware/main/app_main.c",
      "mode": "100644",
      "git_blob": "aace1314fd73505c89edf02bea6f8cbf73e28404",
      "size": 14947,
      "sha256": "81f02660b9ff0db19ae835d9b9a14caa6b87f159b8849ce8a3f479e3b6ba3379",
      "included": true
    },
    {
      "path": "firmware/main/battery_monitor.c",
      "mode": "100644",
      "git_blob": "391a14c66fe6d1db2803c484e39eca30bd3c8ba4",
      "size": 2558,
      "sha256": "060d3eb0e36c6babe1d004395a1b7823c0a8cc33c2f049aa22b2063a2a9d6952",
      "included": true
    },
    {
      "path": "firmware/main/battery_monitor.h",
      "mode": "100644",
      "git_blob": "396fc7e4bb32b097eccf596a4911efabcbc39f62",
      "size": 1030,
      "sha256": "ece86a2d1a35cfcfb51a6e8dbf0f69cf1f6b35133c32586fa15ee745cf789c1c",
      "included": true
    },
    {
      "path": "firmware/main/board_pins.h",
      "mode": "100644",
      "git_blob": "3e64399c01a92618e01b401d3451278a6ea11eaf",
      "size": 2842,
      "sha256": "639de7c9a99768b43a7aafe43bde2f70ba533ed2e2af633e9c29e7712dbc17d2",
      "included": true
    },
    {
      "path": "firmware/main/device_seed.c",
      "mode": "100644",
      "git_blob": "5b2ec0663ce040f99f64b799867ff96f2f5df5cb",
      "size": 3489,
      "sha256": "1ebaaac0be64b17366817f8e0eed17f10020681fd6eb4be19f75f774f41cd60d",
      "included": true
    },
    {
      "path": "firmware/main/display_bsp.c",
      "mode": "100644",
      "git_blob": "0116772591a91c8cd2501b8b58673633322f5c76",
      "size": 5113,
      "sha256": "6615565c430a4928200bdaad3107cc31aad5cc66f13a9300413c6c3bde6aea35",
      "included": true
    },
    {
      "path": "firmware/main/display_bsp.h",
      "mode": "100644",
      "git_blob": "6d8d8f9b46c72574717dcb444f26726c176ecbf7",
      "size": 1413,
      "sha256": "5ce3f68dbc0bc53b99ebbd79725b2a90d165dc2aab29f052485e9f57b6f96f13",
      "included": true
    },
    {
      "path": "firmware/main/generated/CONTENT.sha256",
      "mode": "100644",
      "git_blob": "13dfe5d1b5f74e6a2c14e7f05790e418bfaeb53a",
      "size": 623,
      "sha256": "a9692561440f1ddc3267335ba7704b4746b7a023c0bf0904821f084c0b9b0a75",
      "included": true
    },
    {
      "path": "firmware/main/generated/content_data.c",
      "mode": "100644",
      "git_blob": "37cedd46c7b0dd1ed28e4f6918b21cdb187bd5de",
      "size": 230536,
      "sha256": "0fcc620c019a7d165f196ef659924d6c9e40ca7fe5378b149954bab96e0f1abe",
      "included": true
    },
    {
      "path": "firmware/main/generated/content_data.h",
      "mode": "100644",
      "git_blob": "a60263e31c46ed1126ab1bc76a86bdf8dc038b7f",
      "size": 1042,
      "sha256": "eb1b3397f42e59b8d2c14f8402f9ff8eda149ec119c8121138e0b3904e457527",
      "included": true
    },
    {
      "path": "firmware/main/generated/fonts/SOURCES.sha256",
      "mode": "100644",
      "git_blob": "caaa7548621c11bd787c985c908780b633338eef",
      "size": 1675,
      "sha256": "7d36f73bedb1ae49e9e7da3edde6abbb4ae930726143bb242e8992cfbaca31d2",
      "included": true
    },
    {
      "path": "firmware/main/generated/fonts/jetbrains_mono_400_26.c",
      "mode": "100644",
      "git_blob": "91b8e87c1148ee5809eb577b40d3f906caf42b8c",
      "size": 53889,
      "sha256": "eca06210a9adb4c87191e42aec56f327326953947f6d10b08b69d9e89121d84c",
      "included": true
    },
    {
      "path": "firmware/main/generated/fonts/jetbrains_mono_400_28.c",
      "mode": "100644",
      "git_blob": "ed1d6fa0b56c4d973421049746709d3ca03fd4f2",
      "size": 57759,
      "sha256": "e2f2a72ffaacb5703909b387b0cf1036245ae788fc5ce24a4d19eb7a591a2093",
      "included": true
    },
    {
      "path": "firmware/main/generated/fonts/roboto_serif_500_36.c",
      "mode": "100644",
      "git_blob": "01faaeaaf691f6906a2569b773c60a644ea00249",
      "size": 91704,
      "sha256": "82854a3caffa2e675c841e1f4ef1322e31044e436d5696b035eca92213918b6c",
      "included": true
    },
    {
      "path": "firmware/main/generated/fonts/roboto_serif_500_40.c",
      "mode": "100644",
      "git_blob": "d4f6f4c9b0940d9ab6fbcf5fcd1975321066d73b",
      "size": 103087,
      "sha256": "9057d3b825fac01c7b51dac62c5fefba72da2f530cd7c9b2a5a4e937eb70292c",
      "included": true
    },
    {
      "path": "firmware/main/generated/fonts/roboto_serif_500_52.c",
      "mode": "100644",
      "git_blob": "d631c2c2d8c88fc277bc4a7c2d0d065c68fdb9a0",
      "size": 140860,
      "sha256": "19f3cb2c850352f8a39fd177c232bf0e8803fc06ffee1097a5f342163616951e",
      "included": true
    },
    {
      "path": "firmware/main/generated/fonts/roboto_serif_500_66.c",
      "mode": "100644",
      "git_blob": "a72391fa2228a8b2f2cb7de924694e077fa109f5",
      "size": 189050,
      "sha256": "a7a6eb075aae7d127189fa26f9806bfed1d906acbea08c61665f0606f941a263",
      "included": true
    },
    {
      "path": "firmware/main/i2c_bsp.c",
      "mode": "100644",
      "git_blob": "e05d4b1a56bbac3204c0e113201de0edcee39738",
      "size": 741,
      "sha256": "6e5527e7967105bd463d0c394f35c4fcc2284c6ed44d212a0a8644afe4eb1df5",
      "included": true
    },
    {
      "path": "firmware/main/i2c_bsp.h",
      "mode": "100644",
      "git_blob": "6c1bfd4e274cc32011599d0002cf563c884efd23",
      "size": 358,
      "sha256": "fc47ea80e366ba294a36a6566de76b0e8d793f00d762c03f7cfa8f083bfb1d96",
      "included": true
    },
    {
      "path": "firmware/main/idf_component.yml",
      "mode": "100644",
      "git_blob": "63b19267b9b03d492e85e6e090fd64111c2b1ff9",
      "size": 504,
      "sha256": "e86926161b78dd583a0424a50f3d43b0408a99be99b2845bcd7319ec95c517a4",
      "included": true
    },
    {
      "path": "firmware/main/imu_qmi8658.c",
      "mode": "100644",
      "git_blob": "2d3ad803bc3886f56790658c00c15705c9bd089d",
      "size": 10551,
      "sha256": "6288b1a0d3568acf779d6d8ea0251e556a924208b96c4a7ca1601730fd48c4ef",
      "included": true
    },
    {
      "path": "firmware/main/imu_qmi8658.h",
      "mode": "100644",
      "git_blob": "ec0bbe1404b4762feffcd49a4fba3310771e4ccb",
      "size": 1298,
      "sha256": "c6436d615864c630c7fa474719a6773820a2e7ea207c757fac7fc9d4b9e7249a",
      "included": true
    },
    {
      "path": "firmware/main/input.c",
      "mode": "100644",
      "git_blob": "b981852dbf47e2ebb01aa082eac89bc9104ad36c",
      "size": 9672,
      "sha256": "95f30631f9f79780396758e3752340fea09a3e3c71b1980cd898a1ab5bf6be7d",
      "included": true
    },
    {
      "path": "firmware/main/input.h",
      "mode": "100644",
      "git_blob": "daddf3aa96a108f27f5d69b5ecbffd094f89b804",
      "size": 2872,
      "sha256": "5838fb27375b45ea638aef450ef6911b18b46d877c5d8f3fa55a262e621cd23e",
      "included": true
    },
    {
      "path": "firmware/main/lv_conf.h",
      "mode": "100644",
      "git_blob": "7443cdd1b8e205cdab5099ed4adf00268d08981c",
      "size": 54514,
      "sha256": "3a0ae59c791de0534e64866a472e925fb72a06a09e5921aebd3088892130cbd4",
      "included": true
    },
    {
      "path": "firmware/main/lvgl_port.c",
      "mode": "100644",
      "git_blob": "a320a916698ebfc8934b9d6bafb400349a147d34",
      "size": 6147,
      "sha256": "3da829b0f3f502c1e3b8579f8690ac050ec4f31515a60c1a372defd1284c1841",
      "included": true
    },
    {
      "path": "firmware/main/lvgl_port.h",
      "mode": "100644",
      "git_blob": "453c3944a1aa4b0cbae8b7f375f66a9f6c710d5f",
      "size": 2287,
      "sha256": "44172c9c85b07f7eed28917ee3b880b0f539179a57bdf367aad602a5e46ae535",
      "included": true
    },
    {
      "path": "firmware/main/pmic_axp2101.c",
      "mode": "100644",
      "git_blob": "29b18a7e496142d4c388d398161d6fe6a6e6327a",
      "size": 9250,
      "sha256": "cc3bb889112b8df5b568460c8484523a6c4c9ca276f5497b14b6568e94e0111d",
      "included": true
    },
    {
      "path": "firmware/main/pmic_axp2101.h",
      "mode": "100644",
      "git_blob": "ad8b95902b7ad6a21954139eb9153cc8b8d92b1c",
      "size": 3305,
      "sha256": "3df492f56217b3a62f78c4373b3e986a3c913a074f8048f9ccfd2786a91fd5e2",
      "included": true
    },
    {
      "path": "firmware/main/power_sleep.c",
      "mode": "100644",
      "git_blob": "25f3c1d2db9e1beeb61c352eefe450501a1e1206",
      "size": 2888,
      "sha256": "19a7e5418704d34014b11eeb20170da669fa9c38d6ce12c930c201ee69217e5e",
      "included": true
    },
    {
      "path": "firmware/main/power_sleep.h",
      "mode": "100644",
      "git_blob": "f5fd3952a9d3ff662dd2a33c129afe3b39083946",
      "size": 1724,
      "sha256": "58f2988b3a673d8e96c015ef97b34c7e7bcb27cd6851076a890c2be842e572c7",
      "included": true
    },
    {
      "path": "firmware/main/touch_bsp.c",
      "mode": "100644",
      "git_blob": "541d0ec49af0615e5d66c63aefd92d98ee9ed821",
      "size": 1824,
      "sha256": "27ae1b617f6cb48dec68216edce16c435c1c2af825bbd9ca3ae7cdfab3597278",
      "included": true
    },
    {
      "path": "firmware/main/touch_bsp.h",
      "mode": "100644",
      "git_blob": "1bf1c5f2ba2d23f759ff15b638def6c96fb3862d",
      "size": 1391,
      "sha256": "942e074dd08abea3727802d4bb727b7c6bb181f6479b438497fc2c3710f06e29",
      "included": true
    },
    {
      "path": "firmware/sdkconfig.defaults",
      "mode": "100644",
      "git_blob": "8f10f65998f97b6da72e39f929b5d01c1ce39f1b",
      "size": 2207,
      "sha256": "7647f1482b98d5cee26a18d0be924bb0e5e80a2b962dcbbecd43446a248b49ba",
      "included": true
    },
    {
      "path": "flashing/FLASHING_PROCEDURE.md",
      "mode": "100644",
      "git_blob": "ac5bb1941331cfb20b349201add6688d4ce86559",
      "size": 16708,
      "sha256": "fa4286e13d82b57e365d7b51f66576b0197c581f27b34d89a57b0a8d6d7ccdcc",
      "included": true
    },
    {
      "path": "flashing/RELEASE.md",
      "mode": "100644",
      "git_blob": "0e4c4e1042f6fe7416dd93637c93476c546ba712",
      "size": 6059,
      "sha256": "4d0a8de01e950df5a28cc8d5cdf92843a87f01792c79f9b6e9a44e288280d552",
      "included": true
    },
    {
      "path": "flashing/build_release.py",
      "mode": "100755",
      "git_blob": "22cb6ccd8e35d98d7e31247571e2b0e5a06aa4f4",
      "size": 13678,
      "sha256": "003f049984d8d4b45276c923926461f1afe7f654995c3256e27f1eec72bcc87a",
      "included": true
    },
    {
      "path": "flashing/flash_one_unit.bat",
      "mode": "100644",
      "git_blob": "8506797e4e64ad0c88e3f24a034ee84863448b6e",
      "size": 1637,
      "sha256": "3c0a85498ff5a10314b58abcd7292d2d4790f167d1a7bdf3e0b5aae6a4a21ec8",
      "included": true
    },
    {
      "path": "flashing/flash_one_unit.command",
      "mode": "100755",
      "git_blob": "abd1b0207b654ee823d5f807dfc0855a7f8e4d55",
      "size": 5999,
      "sha256": "9c6f0e54067b288d5d23350c0da77989574b43f12df0aab6c2dfbbae95fd3d4a",
      "included": true
    },
    {
      "path": "flashing/test_build_release.py",
      "mode": "100644",
      "git_blob": "fe166457f03a2d7444f0f2c176b20bb9fd323bd3",
      "size": 8513,
      "sha256": "9a5fb2b9e334e69edb0f0aad856cf72cd6df47ded4477b3aede705a3c5fb4c62",
      "included": true
    },
    {
      "path": "flashing/vendor/esptool-macos-amd64/LICENSE",
      "mode": "100755",
      "git_blob": "d159169d1050894d3ea3b98e1c965c4058208fe1",
      "size": 18092,
      "sha256": "8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643",
      "included": true
    },
    {
      "path": "flashing/vendor/esptool-macos-amd64/README.md",
      "mode": "100755",
      "git_blob": "de9ac188eb7b5fe72193057b8a3cd8d49d5eb837",
      "size": 1935,
      "sha256": "fcff74336b1463a7da838cae3b21b31bd4f4af87e46d07474973ca603b1b6ab3",
      "included": true
    },
    {
      "path": "flashing/vendor/esptool-macos-amd64/esp_rfc2217_server",
      "mode": "100755",
      "git_blob": "d00cbabfc56db29abf452ffd03367d30310e6f25",
      "size": 14423968,
      "sha256": "7eec183e21e15a7d0e680a38c2b3135c2a970fb98da85cf4d0b6d227a6619d2a",
      "included": false
    },
    {
      "path": "flashing/vendor/esptool-macos-amd64/espefuse",
      "mode": "100755",
      "git_blob": "72ffb2a537edc0db99bef8aa77db539a939fda4e",
      "size": 19140256,
      "sha256": "ed62815f517bb1fdfd647e5a6130c5a8df90080e858e9d233a0935ee9b1bea39",
      "included": false
    },
    {
      "path": "flashing/vendor/esptool-macos-amd64/espsecure",
      "mode": "100755",
      "git_blob": "c59b93745b1a180cb8f21df2f93ce433a38423fe",
      "size": 18379312,
      "sha256": "d6356ae64079de366953402f0578ad4ca3c7af3a9f3e1b5a948f6445bb6ddbb6",
      "included": false
    },
    {
      "path": "flashing/vendor/esptool-macos-amd64/esptool",
      "mode": "100755",
      "git_blob": "83b7484267fb041428d17d14d91b07e4032d48e0",
      "size": 14562096,
      "sha256": "f8d370f408df03cbb35e965cddf092053ce1f2ff44e0d26c4f9ef6f2fbaafc79",
      "included": false
    },
    {
      "path": "flashing/vendor/esptool-macos-arm64/LICENSE",
      "mode": "100755",
      "git_blob": "d159169d1050894d3ea3b98e1c965c4058208fe1",
      "size": 18092,
      "sha256": "8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643",
      "included": true
    },
    {
      "path": "flashing/vendor/esptool-macos-arm64/README.md",
      "mode": "100755",
      "git_blob": "de9ac188eb7b5fe72193057b8a3cd8d49d5eb837",
      "size": 1935,
      "sha256": "fcff74336b1463a7da838cae3b21b31bd4f4af87e46d07474973ca603b1b6ab3",
      "included": true
    },
    {
      "path": "flashing/vendor/esptool-macos-arm64/esp_rfc2217_server",
      "mode": "100755",
      "git_blob": "e222286e067401be92799c7260424289c5af82b2",
      "size": 13636096,
      "sha256": "02599f64f23648a024877273cfc4d42e5914bf7128b8664f7e58802a657b286a",
      "included": false
    },
    {
      "path": "flashing/vendor/esptool-macos-arm64/espefuse",
      "mode": "100755",
      "git_blob": "5099496f4f1aea9e20d32c5f1dea30aba1d1eace",
      "size": 18305872,
      "sha256": "d47309df05201f37601b272f2b3c38da41bd9ce2ec36d569f8994bf8a378db5c",
      "included": false
    },
    {
      "path": "flashing/vendor/esptool-macos-arm64/espsecure",
      "mode": "100755",
      "git_blob": "6dd4c04003e3b101fca2f6317871a188a312d7a3",
      "size": 17573472,
      "sha256": "41f158b54d0801252b6db4003e586a074c1999f87bfa84ba67968b43f1a4f09f",
      "included": false
    },
    {
      "path": "flashing/vendor/esptool-macos-arm64/esptool",
      "mode": "100755",
      "git_blob": "604d513bd08125c8c9c4bf8b82195298e33892fe",
      "size": 13773392,
      "sha256": "5915a2219662ea3ac4de9d524d6a5539dc626121a62d737bc2bd727cd909518e",
      "included": false
    },
    {
      "path": "flashing/vendor/fetch_esptool.bat",
      "mode": "100644",
      "git_blob": "8f76053bdce0939facc6236d2b7af08ea40bcdb1",
      "size": 848,
      "sha256": "68d62bff6e5a29c409c0756eb51269903cea74e1e7e7769e276eb8ba3d34cc38",
      "included": true
    },
    {
      "path": "flashing/vendor/fetch_esptool.sh",
      "mode": "100755",
      "git_blob": "d48344a38e4bc97ae2497c52fccd9fa895159bd7",
      "size": 3082,
      "sha256": "ea9c4c52acd10c737e450db60b2a287b8bc3512a3251d7ce5a0284b6f2f3507a",
      "included": true
    },
    {
      "path": "package-lock.json",
      "mode": "100644",
      "git_blob": "ba41e69ada3c2b3ec72c55b5a6f46fd9e5c00bda",
      "size": 3575,
      "sha256": "bdce76ffdbfa9e2f728f7eafe3e7e2b7cf15ece2edc619319596322aba688d21",
      "included": true
    },
    {
      "path": "package.json",
      "mode": "100644",
      "git_blob": "3900c2c49e5fd452ba0a64e1d8af33050fddaba4",
      "size": 573,
      "sha256": "a9523ea0ca6c145a017e351b025f36a82fceead8e13e50850f7a0ef461d8f9f9",
      "included": true
    },
    {
      "path": "sim/CMakeLists.txt",
      "mode": "100644",
      "git_blob": "15f98e9441c05eb81870b11894841280efaab851",
      "size": 8417,
      "sha256": "97a5c65451e832e9ef91ab3dfc23088cddabf22fdeba0f8b8b40d635c19c81df",
      "included": true
    },
    {
      "path": "sim/README.md",
      "mode": "100644",
      "git_blob": "fc8a5120310979be5c97fb65df988ed045846a56",
      "size": 11317,
      "sha256": "a99730abc2ac432c0a9bd4b26db24b06571d53a0fbb71621dccd70b2128dc368",
      "included": true
    },
    {
      "path": "sim/fetch_lvgl.sh",
      "mode": "100755",
      "git_blob": "1dfd1d3bf9a908e1b070a8f4e708a0cf8f82207a",
      "size": 626,
      "sha256": "a46aa62e9c9da844974e6896ebeb8824595df207935c63fc01ef40b3c610b1db",
      "included": true
    },
    {
      "path": "sim/lv_conf.h",
      "mode": "100644",
      "git_blob": "c30db038833bc34e51c7bf4a6876483ccec98860",
      "size": 53700,
      "sha256": "9f20da49c6cd1adad1b7a55346fd2f27fc0f8517bb50207b8cfe41e3d6e9ebb3",
      "included": true
    },
    {
      "path": "sim/main_interactive.c",
      "mode": "100644",
      "git_blob": "99c44feca4e38fbcd0f048e0a95db74901c78ee7",
      "size": 4385,
      "sha256": "a98f2ebf4f1a44cba90524c34e8fcdc42662aa3a45032bbaa038790b8203be6a",
      "included": true
    },
    {
      "path": "sim/platform_sim.c",
      "mode": "100644",
      "git_blob": "e659b26cfd25d0af5fea1ebbf920a148fb2e474f",
      "size": 604,
      "sha256": "484e0b10c45431600588bed42621fa32db04fa77fabb091e8e47a1dfeb344bb1",
      "included": true
    },
    {
      "path": "sim/screenshot_main.c",
      "mode": "100644",
      "git_blob": "a382252c8d53e04d9667110c8a4ac7b9457c0884",
      "size": 22981,
      "sha256": "a080a6546df9ecb14312b9b2111bae87f9f929a39155b39533a92535a1cff271",
      "included": true
    },
    {
      "path": "sim/sleep_stubs/esp_err.h",
      "mode": "100644",
      "git_blob": "79341e4601a98684066e3fd84456ff651c2c085d",
      "size": 104,
      "sha256": "40d5a8a8ff32652ba31ea4aa5668b20e2db0e2b7901d39b1b41a60d2337a42ed",
      "included": true
    },
    {
      "path": "sim/sleep_stubs/esp_timer.h",
      "mode": "100644",
      "git_blob": "0416e2b5019c8580363736698d04bac9a9e51093",
      "size": 67,
      "sha256": "82a7c14acf5d1cdcbea1b23bab880c69562da88013adc34ff5f2ae2115fb08d1",
      "included": true
    },
    {
      "path": "sim/test_battery_dot.c",
      "mode": "100644",
      "git_blob": "6c169d81e26337cd4d1a82529e0efebff90f7f19",
      "size": 4341,
      "sha256": "00b3b8aee12d10d990de74046fd527a929e1e66a1eb5268a823f30b2829b9bed",
      "included": true
    },
    {
      "path": "sim/test_battery_policy.c",
      "mode": "100644",
      "git_blob": "6f5bbfd02059e560556fee3439f459f5dfdd04db",
      "size": 3072,
      "sha256": "0bad316cb12ecb0a0d33c50ea5c7db8082cba07ab4a771f8b0aab78822b96ce9",
      "included": true
    },
    {
      "path": "sim/test_battery_sleep.c",
      "mode": "100644",
      "git_blob": "273c14b5e8e9e50dbbe66984a30cabd00aece95a",
      "size": 3908,
      "sha256": "462c878f9169bbb247b5e5a16d554fafd8c922a79465363072b2938553de8bc5",
      "included": true
    },
    {
      "path": "sim/test_input_edge.c",
      "mode": "100644",
      "git_blob": "598e24a69be95097c6ecef09c82d16a070c68c51",
      "size": 4176,
      "sha256": "76d931b8ba2ffbdbb51169ece11332f770ba8b6f8b55f25a0ab9b3ef224a9037",
      "included": true
    },
    {
      "path": "sim/test_shake_detect.c",
      "mode": "100644",
      "git_blob": "dbacc0ad091e2b5894ffa15a49123c3921c4e13b",
      "size": 21936,
      "sha256": "3b0ac215f6ad09acddc3bd3f6e6f26023ed9e5b3d67ff1e2cc0af0608b9aba12",
      "included": true
    },
    {
      "path": "sim/test_state_machine.c",
      "mode": "100644",
      "git_blob": "c0c94893eae841f3ed9366fefec9959122301542",
      "size": 15643,
      "sha256": "a3592ecdc7e43e4b2711e14cc7d2e9046aae1181adadb889a7ecc4822c233772",
      "included": true
    },
    {
      "path": "support.js",
      "mode": "100644",
      "git_blob": "cb009b69ec6b5e00f48c6287a587fe7e0c6c421b",
      "size": 69150,
      "sha256": "8fe7df74405f3c55f49b7249c74ea1397e65d07dea2b1bd3b4a489bec2e28cbe",
      "included": true
    },
    {
      "path": "tools/check-docs-consistent.sh",
      "mode": "100755",
      "git_blob": "2c488546668dd3503553b4d8afe6acebd08aea7f",
      "size": 6957,
      "sha256": "d775436f9ad5f8ac8a4094f6ec497c6593c04c02c34d81d2e39e22efa11557fe",
      "included": true
    },
    {
      "path": "tools/check-generated-fresh.sh",
      "mode": "100755",
      "git_blob": "c35d84768072d2a8407a54574b9d1c805781386d",
      "size": 6020,
      "sha256": "23953f3712c4ce815de47c5da312a393232d60cc83b19ed6d5463f1090a52dca",
      "included": true
    },
    {
      "path": "tools/check-lv-conf-drift.sh",
      "mode": "100755",
      "git_blob": "17214f7a9b14b181a309ccd994aa9ed1e79b3d3c",
      "size": 2847,
      "sha256": "6d4398bec00b2a31013881c5313bf6e66f2171fac2e29282f3dca67fdbbf38f4",
      "included": true
    },
    {
      "path": "tools/check-rendered-qr.py",
      "mode": "100644",
      "git_blob": "cdefd0ca6ea407e416ffe756e80f7bbd6ac55ce4",
      "size": 1969,
      "sha256": "b075b358c41fb702b3d37c4dc897430e8e1b4813cf86027dce2bd6d0a63efa38",
      "included": true
    },
    {
      "path": "tools/gen-docs.py",
      "mode": "100755",
      "git_blob": "10c46b55d4c2a24f45eda14d23266b8bf9114a68",
      "size": 11446,
      "sha256": "e392098d0f29de0f03da5c1a14a241e18d6e89515339b71d632c8405fafaba89",
      "included": true
    },
    {
      "path": "tools/generate-fonts.sh",
      "mode": "100755",
      "git_blob": "0dedeb652d9f0003f3f52ef91a14d4d1bbb785e6",
      "size": 4889,
      "sha256": "4ee0b00d91966748413c94755f65d65fb2e7c51995d16265eb9793c9ea0c55fc",
      "included": true
    },
    {
      "path": "tools/generate-qr.mjs",
      "mode": "100644",
      "git_blob": "5150e4debc35c5e118c27473f0535dffac006c21",
      "size": 13076,
      "sha256": "91cf066fc875c4046b75722f87245a5ee5ec906db4b3045bbc6113f2cbd8e6f1",
      "included": true
    },
    {
      "path": "tools/import_moves.py",
      "mode": "100644",
      "git_blob": "7aff8b08131ac9e92f5a60a78f920bacf462a156",
      "size": 3480,
      "sha256": "64d9dd73c83b6402dac7d5932bf601b9fa6dcd8e0dd1a080944fbbb58c8bb4e8",
      "included": true
    },
    {
      "path": "tools/reconcile-changes.sh",
      "mode": "100755",
      "git_blob": "e25d1bdb4959b6364edecdcf7ae2c226c8ebe07a",
      "size": 3273,
      "sha256": "cae929cb87bccc00100c1905743552b5c76c65b7831be84590a851796d2db9b2",
      "included": true
    },
    {
      "path": "tools/test_import_moves.py",
      "mode": "100644",
      "git_blob": "fc7e7b49dd8e6c9fe52a426a670f7ce6f58f2922",
      "size": 2843,
      "sha256": "54e9e2dabc8c640770aba8218b81a1dfecf4615ca2d151538882a94bb8b7baf1",
      "included": true
    },
    {
      "path": "ui/battery_dot.c",
      "mode": "100644",
      "git_blob": "bc45ad84ce663246c52a116262908013ba4e4923",
      "size": 1065,
      "sha256": "9befabc55ded536da00dac63c1e50ff3ec7433185000a1d8de42938412d8ef81",
      "included": true
    },
    {
      "path": "ui/battery_dot.h",
      "mode": "100644",
      "git_blob": "551a5c02c53f90f4607c23fc75902ac94bdfbc16",
      "size": 269,
      "sha256": "1e5a01c1bfe20846d1956398818725ef4ea8f090c39b0e0d5a6999056adedac5",
      "included": true
    },
    {
      "path": "ui/battery_policy.c",
      "mode": "100644",
      "git_blob": "04199106254f28091e0af20afa97f770405462c3",
      "size": 816,
      "sha256": "03a11004baf1b41d919dbbce499e3d78b79915406c8d69ddb8c0f5bed0b1ede2",
      "included": true
    },
    {
      "path": "ui/battery_policy.h",
      "mode": "100644",
      "git_blob": "9935d4a6718d292dec6c6232dbfbc3e7a6d0581b",
      "size": 1328,
      "sha256": "81422bcb95f38f64f1b73372667aee1c4d47171780c7ca24af9d64fbbb0fdeb5",
      "included": true
    },
    {
      "path": "ui/deck.c",
      "mode": "100644",
      "git_blob": "0c679829376bd3d9e4343ba097d3564fe3b3e915",
      "size": 3338,
      "sha256": "65392cddc036dc355920180d58ad57b3a091bcf6d84d75760a5497a0bc7be7e0",
      "included": true
    },
    {
      "path": "ui/deck.h",
      "mode": "100644",
      "git_blob": "1b8d9cba1d075b1f3a90e03785d20f2351845506",
      "size": 2741,
      "sha256": "f0772e5daec28bd099f3e6f189a6b9db730846861cd7440676ac71980aeb902c",
      "included": true
    },
    {
      "path": "ui/motion.c",
      "mode": "100644",
      "git_blob": "c213d7ecb4f918f0ccff133027b12d5fbe15484b",
      "size": 2354,
      "sha256": "532332ef7de24bce656253520bfd1280a7bf22b183bd67f9f6b7888c676aaa56",
      "included": true
    },
    {
      "path": "ui/motion.h",
      "mode": "100644",
      "git_blob": "20da68460966ddef825fc2e57d49db3419939f09",
      "size": 1253,
      "sha256": "522ea269b20e578fcb5f519b575f9bbfbedb89dbff8a2388b96fe94884b65023",
      "included": true
    },
    {
      "path": "ui/motion_params.h",
      "mode": "100644",
      "git_blob": "220e6cd1fb93b18d918d066372e5abb720df1226",
      "size": 2827,
      "sha256": "7b4db37d5ed5d67648485c0196ae704a7bda1caae38a006e26ef226a92959095",
      "included": true
    },
    {
      "path": "ui/platform.h",
      "mode": "100644",
      "git_blob": "a21c860130eb125e9bee08efd138822f23892cb2",
      "size": 1510,
      "sha256": "fb9dc7ff50734e54d0369d05ff8cef3300495ed3df76ce10bfe80f6616549ad9",
      "included": true
    },
    {
      "path": "ui/rng.c",
      "mode": "100644",
      "git_blob": "5cbe8723a0535959e1cdae90b58220799c4b3fbf",
      "size": 639,
      "sha256": "b285394477d396e6851439d71870b4a99e3359ea12ed0806617dab77f664bd31",
      "included": true
    },
    {
      "path": "ui/rng.h",
      "mode": "100644",
      "git_blob": "215a6effb608fb8233703c0401abf13e567d1ab4",
      "size": 1483,
      "sha256": "d771b0e1ff254ca99b3aa9b418770c25404aac98c989ea9e002c6a5bb707b972",
      "included": true
    },
    {
      "path": "ui/router.c",
      "mode": "100644",
      "git_blob": "a7cba23af5d88078d7a1204e8feb4d56d2a1181f",
      "size": 2534,
      "sha256": "8d3e77fcd853409f498a439a6c53f1eb71cea4f861d1b6b25860bd8a2812bac2",
      "included": true
    },
    {
      "path": "ui/router.h",
      "mode": "100644",
      "git_blob": "6f24924b7744001f2ab48c375f8f5f5833730e35",
      "size": 1180,
      "sha256": "86afd9d0368dbbcabd0d8149089ce6e9b67f5edf78fc96a9076a7dc52b0c04fd",
      "included": true
    },
    {
      "path": "ui/screen_asleep.c",
      "mode": "100644",
      "git_blob": "90c08fd956ee92fca20fcffca31370c0b1216291",
      "size": 1717,
      "sha256": "e5cde1a5c3492a9fe774ad93b98b10ca1f92f5813774ef0bd2dc8d6ebed6677b",
      "included": true
    },
    {
      "path": "ui/screen_handoff.c",
      "mode": "100644",
      "git_blob": "7fe977055e856531d98953fb553d8f0312463842",
      "size": 5558,
      "sha256": "3a893e06b65fd21a5f2d790bfaf9f989e7b56b2b3096278d53fc4400125d42c7",
      "included": true
    },
    {
      "path": "ui/screen_lift.c",
      "mode": "100644",
      "git_blob": "9471d8800820c98ba7ed3a08a6c21afc57409eed",
      "size": 5428,
      "sha256": "4a50dd446df6d7e70664d64a73bd3f22ef66986a0bcecdc8ec20fba6f7f098c8",
      "included": true
    },
    {
      "path": "ui/screen_more.c",
      "mode": "100644",
      "git_blob": "6d4b6363aa27425e6818ee4b02464957d32fe11b",
      "size": 7600,
      "sha256": "2120bad8d402ed33866d7cc778d76bffd02c9ccd473471b8270e5484c2ceec18",
      "included": true
    },
    {
      "path": "ui/screen_reveal.c",
      "mode": "100644",
      "git_blob": "df143750f300ce896db74129603430aa77140fa8",
      "size": 3287,
      "sha256": "0a0df23c30de55633657c5e03b0e41b083c6aca1a5033538b3bdbc7993e6b4da",
      "included": true
    },
    {
      "path": "ui/screen_swirl.c",
      "mode": "100644",
      "git_blob": "2afb0724d8bc6889c1acb4ed3455fd88cb65f63e",
      "size": 7079,
      "sha256": "104d7985de7830a9b2c0693b5af61b586e39f6ca9075cebf7fcf7e7192a6d9a9",
      "included": true
    },
    {
      "path": "ui/screens.h",
      "mode": "100644",
      "git_blob": "23b006284667c78fd75986dbc35fcd05b544b10c",
      "size": 885,
      "sha256": "42528c3ebbd8c1a7ac30412ebcfe36af3de02ebaa48ccd45c1c31944475be083",
      "included": true
    },
    {
      "path": "ui/shake_detect.c",
      "mode": "100644",
      "git_blob": "03620e0819989a47a1b07e1be3b519932f5e193d",
      "size": 4762,
      "sha256": "17d304351160d85f26e3f84ea2240134cf83e963750c6eab9c619cfddb48f321",
      "included": true
    },
    {
      "path": "ui/shake_detect.h",
      "mode": "100644",
      "git_blob": "c823779e277251caa2c8585630fbbb9269cb697c",
      "size": 3100,
      "sha256": "47e2afda3350efcf55dae7ab9be547ba33477a974af4557e5cf09605d4de922d",
      "included": true
    },
    {
      "path": "ui/state_machine.c",
      "mode": "100644",
      "git_blob": "1636f8bf11cd7898522d4e78aa7e1ff139f4d4b7",
      "size": 4203,
      "sha256": "214fcba51f2a30d27ba53fc6dfe7ee27058b7369f258a722c57ba4b122aef001",
      "included": true
    },
    {
      "path": "ui/state_machine.h",
      "mode": "100644",
      "git_blob": "b6d46685773f7e63792fe5dbbe85fc8899e8c729",
      "size": 3768,
      "sha256": "0b04c528a41b9ad095b750642bc153fc356afc0e98b9f6743a8459d452001682",
      "included": true
    },
    {
      "path": "ui/theme.h",
      "mode": "100644",
      "git_blob": "db2c8d3fda01f56ad603f7b90ae37f88c2ff89e7",
      "size": 4743,
      "sha256": "e6276a5c0297052855e123eca40e757f799e91fbe9f60f3b34fdb96745696851",
      "included": true
    },
    {
      "path": "ui/timing.h",
      "mode": "100644",
      "git_blob": "4400226703455700a832adb401630bc07f3645e5",
      "size": 1263,
      "sha256": "6e90ac541be9c597a5385d1b06ea0dc410b24501478b484a4a475b5fa18231e3",
      "included": true
    },
    {
      "path": "ui/touch_edge.c",
      "mode": "100644",
      "git_blob": "f3200cef69532a79d807c9dc31c0596bf92bbbcf",
      "size": 921,
      "sha256": "8dc643d8c6049a799c9633f028e92eb9535967065d2e50e99d9e16a4c13f9fe2",
      "included": true
    },
    {
      "path": "ui/touch_edge.h",
      "mode": "100644",
      "git_blob": "0a09c2af1e9eec223d245807ad918969941d37e0",
      "size": 1205,
      "sha256": "2dbef8148273511a699d6cf0d5af8e0fea43d1fef3e13696aa42dd0164b32c5e",
      "included": true
    }
  ]
}
