Repo health
Measured at 93da7fa1. Generated by moondeck/check/repo_health.py on every KPI-gate run. Do not edit by hand.
Current state only; the trend is this file's git history (git log -p docs/reference/metrics/repo-health.md). Nothing here fails a build: the numbers make growth visible, the judgment stays human.
Firmware size
| Target |
Flash |
Capacity |
Used |
Built |
| desktop |
1,908 KB (+0 KB) ⚠ |
- |
- |
yes |
| esp32 |
2,032 KB |
2,496 KB |
81% |
carried 0d |
| esp32-16mb |
2,012 KB |
4,096 KB |
49% |
STALE 7d |
| esp32-eth |
1,642 KB |
2,496 KB |
66% |
carried 5d |
| esp32-pico |
2,058 KB |
3,072 KB |
67% |
STALE 7d |
| esp32-wrover |
1,801 KB |
- |
- |
carried (age?) |
| esp32p4rev1-eth |
1,981 KB |
4,096 KB |
48% |
carried 0d |
| esp32p4rev1-eth-wifi |
2,231 KB |
4,096 KB |
54% |
STALE 8d |
| esp32p4rev3-eth |
1,605 KB |
- |
- |
carried (age?) |
| esp32s3-n16r8 |
2,082 KB (−0 KB) ✓ |
4,096 KB |
51% |
yes |
| esp32s3-n8r8 |
2,038 KB |
3,072 KB |
66% |
STALE 8d |
| esp32s3-zero |
1,977 KB |
2,496 KB |
79% |
STALE 8d |
| esp32s31 |
2,294 KB |
4,096 KB |
56% |
STALE 10d |
| qemu |
1,351 KB |
- |
- |
carried (age?) |
Built: yes was measured this run. carried (age?) was not rebuilt either and predates this record, so its age is unknown: it dates itself on the next build. carried Nd was NOT rebuilt and its number is N days old, so an absent delta says nothing about the change. STALE marks a carry older than 7 days: the number has gone unchecked long enough that growth will surface later as one jump, blamed on whichever commit happens to rebuild that target. Used is against the app slot in the firmware's own partition table.
| Target |
Tick |
FPS |
| desktop |
125 µs (−8 µs) ✓ |
8,000 (+482) ✓ |
| esp32 |
8,354 µs |
119 |
Scenario tick by target (p50 of each sample window)
| Scenario |
desktop-macos |
desktop-windows |
esp32 |
esp32s3-n16r8 |
esp32p4rev1-eth |
esp32s31 |
esp32-eth |
esp32-eth-wifi |
unknown |
| Audio_mutation |
22 |
40 ? |
13,152 |
47 ? |
- |
- |
- |
- |
- |
| Aurora_fps |
1,549 |
- |
- |
- |
- |
- |
- |
- |
- |
| Driver_mutation |
20 |
42 ? |
12,812 |
39 ? |
- |
- |
- |
- |
- |
| Effects_composition |
145 |
549 ? |
- |
- |
- |
- |
- |
- |
- |
| Fields_polar_lut |
1,298 |
- |
- |
- |
- |
- |
- |
- |
- |
| Fluid_solver |
220 |
- |
- |
- |
- |
- |
- |
- |
- |
| GridBlacks_blackpixel |
2 |
8 ? |
269 ? |
267 ? |
- |
- |
- |
- |
- |
| GridLayout_resize |
121 |
219 ? |
1,352 ? |
1,011 ? |
1,143 ? |
- |
95,771 ? |
82,231 ? |
- |
| Layer_base_pipeline |
70 |
118 ? |
- |
- |
- |
- |
- |
- |
- |
| Layer_memory_1to1 |
5 |
1 ? |
- |
- |
- |
- |
- |
- |
- |
| Layouts_mutation |
93 |
111 ? |
13,692 |
45 ? |
- |
- |
27 ? |
- |
- |
| MoonLiveEffect_controls |
11 ? |
- |
12,901 |
4,624 ? |
- |
- |
- |
- |
- |
| MoonLiveEffect_livescript |
5 |
- |
13,433 ? |
8,255 ? |
11,336 ? |
- |
- |
- |
- |
| MoonLive_pipeline |
5 |
1 ? |
9,604 ? |
3,278 ? |
- |
11,398 ? |
- |
- |
4,393 ? |
| MoonModule_control_change |
127 |
262 ? |
212 ? |
166 ? |
165 ? |
- |
111,731 ? |
89,895 ? |
- |
| MqttModule_haDiscovery_toggle |
3 ? |
- |
36 ? |
36 ? |
- |
- |
- |
- |
- |
| MultiplyModifier_memory_lut |
3 |
3 ? |
- |
- |
- |
- |
- |
- |
- |
| MultiplyModifier_pipeline |
120 |
225 ? |
- |
- |
- |
- |
- |
- |
- |
| NetworkModule_eth_reconfigure |
- |
- |
1,169 ? |
97,843 ? |
- |
- |
- |
- |
- |
| NetworkModule_mdns_toggle |
13 ? |
- |
36 ? |
36 ? |
21 ? |
- |
109,767 ? |
93,963 ? |
- |
| Trails_ladder |
359 |
- |
- |
- |
- |
- |
- |
- |
- |
| modifier_chain |
43 |
69 ? |
13,337 |
- |
- |
- |
- |
- |
- |
| modifier_swap |
23 |
41 ? |
12,250 |
354 ? |
362 ? |
- |
1,010 ? |
- |
- |
| perf_full |
252 |
592 ? |
10,392 |
16,915 ? |
17,433 ? |
- |
- |
- |
- |
| perf_light |
16 |
35 ? |
2,183 |
2,485 ? |
2,038 ? |
- |
- |
- |
- |
| peripheral_grid_sweep |
252 |
649 ? |
6,991 ? |
- |
11,495 ? |
12,273 ? |
- |
- |
- |
| peripheral_switch |
4 |
9 ? |
437 |
46 ? |
217 ? |
- |
- |
- |
- |
Microseconds. ? marks a cell backed by fewer than 4 samples, which is a first impression rather than a percentile; several are months old and were captured during a network reconfigure, so they read as whole milliseconds. - means that target has never run that scenario.
Coverage: 98/243 cells measured (40%), 32 of them with 4+ samples (13%). The blanks are the point: a regression on a target that has never run a scenario cannot be DETECTED in it, and the target cannot be compared against the others. Filling the matrix means running the scenario suite on each bench board, which is a standing task rather than a one-off.
desktop: isolated scenarios (p50 of the sample window)
| Scenario |
p50 |
p95 |
n |
| Layer_base_pipeline |
70 µs |
74 µs |
32 |
| Layer_memory_1to1 |
5 µs |
24 µs |
32 |
These build a bare pipeline with no optional modules, so a change here is a change in the pipeline itself rather than in what was measured. A new module belongs in an advanced scenario, which keeps its own numbers.
Code
| Area |
Lines |
Comments |
Comment share |
| core |
27,154 |
10,870 |
43.3 % |
| light |
36,453 (−38) ✓ |
13,870 |
41.8 % |
| platform |
19,796 (+14) ⚠ |
6,960 |
38.5 % |
| ui |
11,196 |
3,333 |
31.4 % |
| test |
60,181 (+101) ⚠ |
11,252 |
21.5 % |
| moondeck |
25,724 (+58) ⚠ |
4,152 |
18.4 % |
Tests
| Kind |
Count |
| unit cases |
2,061 |
| scenarios |
27 |
Complexity
| Metric |
Value |
| functions |
3,621 (+2) ✓ |
| over threshold |
264 |
| worst CCN |
128 |
Documentation
| Metric |
Value |
| markdown files |
137 |
| markdown lines |
29,068 (+17) ⚠ |
| plan files |
31 |
| backlog lines |
2,948 |
| lessons lines |
518 |
| CLAUDE.md lines |
277 |