Repo health
Measured at f9832755. 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-macos |
1,963 KB |
- |
- |
yes |
| desktop-windows |
1,880 KB |
- |
- |
carried 0d |
| esp32 |
2,061 KB (+416 B) ⚠ |
2,496 KB |
83% |
yes |
| esp32-16mb |
2,012 KB |
4,096 KB |
49% |
STALE 21d |
| esp32-eth |
1,642 KB |
2,496 KB |
66% |
STALE 19d |
| esp32-pico |
2,058 KB |
3,072 KB |
67% |
STALE 21d |
| esp32-wrover |
1,801 KB |
2,496 KB |
72% |
carried (age?) |
| esp32p4rev1-eth |
2,022 KB |
4,096 KB |
49% |
yes |
| esp32p4rev1-eth-wifi |
2,304 KB |
4,096 KB |
56% |
carried 0d |
| esp32p4rev3-eth |
2,025 KB |
4,096 KB |
49% |
carried 1d |
| esp32s3-n16r8 |
2,111 KB (+400 B) ⚠ |
4,096 KB |
52% |
yes |
| esp32s3-n8r8 |
2,038 KB |
3,072 KB |
66% |
STALE 22d |
| esp32s3-zero |
1,977 KB |
2,496 KB |
79% |
STALE 22d |
| esp32s31 |
2,395 KB |
4,096 KB |
58% |
carried 0d |
| 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-macos |
7 µs (+1 µs) ⚠ |
142,857 (−23,809) ⚠ |
| desktop-windows |
4 µs |
250,000 |
| 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 |
desktop-docker-arm64 |
esp32p4rev1-eth-wifi |
| Aurora_fps |
1,544 |
6,661 ? |
217,295 ? |
188,782 (−11,896) ✓ ? |
83,632 ? |
87,613 ? |
- |
- |
7,532 ? |
6,343,087 ? |
| Drivers_output_and_brightness |
10 |
4 ? |
- |
8,690 ? |
- |
- |
- |
- |
218 ? |
- |
| Effects_pipeline_builds_and_renders |
7 |
4 ? |
- |
- |
- |
- |
- |
- |
- |
- |
| Effects_swap_while_running |
2 |
4 ? |
- |
10,000 ? |
- |
- |
- |
- |
287 ? |
- |
| Effects_teardown_under_a_running_pipeline |
9 |
17 ? |
- |
9,080 (−732) ✓ |
- |
- |
- |
- |
482 ? |
- |
| Firmware_reports_what_is_running |
32 |
1,827 ? |
- |
8,659 ? |
- |
- |
- |
- |
215 ? |
- |
| Fluid_solver |
218 |
6,950,405 ? |
45,974 ? |
102,058 ? |
71,150 ? |
66,874 ? |
- |
- |
3,371 ? |
4,661,597 ? |
| GridLayout_resize |
120 |
219 ? |
1,352 ? |
18,414 (+17,403) ⚠ ? |
7,218 ? |
8,919 ? |
95,771 ? |
82,231 ? |
2,005 ? |
6,735,719 ? |
| Layouts_resize_reallocates_live |
12 |
93 ? |
- |
32,399 ? |
- |
- |
- |
- |
579 ? |
- |
| Modifiers_reshape_the_mapping |
9 |
29 ? |
- |
10,350 ? |
- |
- |
- |
- |
273 ? |
- |
| Network_hardware_reconfigures_live |
- |
2,834 ? |
- |
8,692 (−1,531) ✓ ? |
- |
- |
- |
- |
237 ? |
- |
| perf_full |
252 |
592 ? |
5,313 |
25,340 (+8,425) ⚠ ? |
11,711 ? |
13,373 ? |
- |
- |
2,438 ? |
5,469,660 ? |
| perf_light |
16 |
35 ? |
2,510 |
3,044 (−12) ✓ |
1,117 ? |
1,378 ? |
- |
- |
780 ? |
5,385,763 ? |
| peripheral_grid_sweep |
257 |
649 ? |
5,766 |
70,668 (−14,841) ✓ ? |
11,495 ? |
12,273 ? |
- |
- |
2,577 ? |
1,673,544 ? |
| peripheral_switch |
4 |
9 ? |
425 |
2,307 (+181) ⚠ |
2,570 ? |
2,990 ? |
- |
- |
341 ? |
773,191 ? |
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: 87/150 cells measured (58%), 21 of them with 4+ samples (14%). 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-macos: isolated scenarios (p50 of the sample window)
| Scenario |
p50 |
p95 |
n |
| Effects_pipeline_builds_and_renders |
7 µs |
42 µs |
32 |
| Layouts_resize_reallocates_live |
12 µs |
47 µ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.
desktop-windows: isolated scenarios (p50 of the sample window)
| Scenario |
p50 |
p95 |
n |
| Effects_pipeline_builds_and_renders |
4 µs |
6 µs |
2 |
| Layouts_resize_reallocates_live |
93 µs |
1,957 µs |
3 |
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 |
22,299 (+33) ⚠ |
5,720 |
28.3 % |
| light |
31,054 |
7,499 |
27.1 % |
| platform |
16,798 (+9) ⚠ |
3,608 |
24.0 % |
| ui |
11,394 |
3,415 |
31.6 % |
| test |
57,759 (+192) ⚠ |
6,736 |
13.6 % |
| moondeck |
29,325 (+81) ⚠ |
4,949 |
19.2 % |
Tests
| Kind |
Count |
| unit cases |
2,120 (+4) ✓ |
| scenarios |
21 |
Complexity
| Metric |
Value |
| functions |
3,711 (+3) ✓ |
| over threshold |
278 |
| worst CCN |
128 |
Documentation
| Metric |
Value |
| markdown files |
135 |
| markdown lines |
28,599 (+25) ⚠ |
| plan files |
36 |
| backlog lines |
3,330 |
| lessons lines |
532 |
| CLAUDE.md lines |
283 |