Repo health
Measured at 4bc8eab67. 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.
Since v7.0.0
| Metric |
v7.0.0 |
Now |
Change |
| flash desktop-macos |
2,221 KB |
2,545 KB |
+324.1 KB (+14.6%) |
| flash esp32 |
2,095 KB |
2,230 KB |
+135.5 KB (+6.5%) |
| flash esp32-16mb |
2,343 KB |
2,210 KB |
-133.1 KB (-5.7%) |
| flash esp32-eth |
1,642 KB |
1,827 KB |
+185.6 KB (+11.3%) |
| flash esp32-pico |
2,058 KB |
2,375 KB |
+317.6 KB (+15.4%) |
| flash esp32-wrover |
1,801 KB |
2,145 KB |
+344.1 KB (+19.1%) |
| flash esp32c3 |
2,199 KB |
2,349 KB |
+150.5 KB (+6.8%) |
| flash esp32p4rev1-eth |
2,360 KB |
2,556 KB |
+196.3 KB (+8.3%) |
| flash esp32p4rev1-eth-wifi |
2,606 KB |
2,809 KB |
+202.8 KB (+7.8%) |
| flash esp32p4rev3-eth |
2,357 KB |
2,554 KB |
+196.7 KB (+8.3%) |
| flash esp32p4rev3-eth-wifi |
- |
2,612 KB |
new |
| flash esp32s3-n16r8 |
2,300 KB |
2,435 KB |
+135.0 KB (+5.9%) |
| flash esp32s3-n32r16 |
2,322 KB |
2,431 KB |
+109.3 KB (+4.7%) |
| flash esp32s3-n8r2 |
- |
2,194 KB |
new |
| flash esp32s3-n8r8 |
2,277 KB |
2,301 KB |
+23.8 KB (+1.0%) |
| flash esp32s3-zero |
2,068 KB |
2,076 KB |
+8.0 KB (+0.4%) |
| flash esp32s31 |
2,597 KB |
2,733 KB |
+135.9 KB (+5.2%) |
| flash teensy41 |
1,140 KB |
1,259 KB |
+119.0 KB (+10.4%) |
| free heap esp32 |
33,034 KB |
33,034 KB |
+0.0 KB (+0.0%) |
| tick Effects_pipeline_builds_and_renders (desktop-macos) |
7 µs |
7 µs |
+0 (+0.0%) |
| tick Layouts_resize_reallocates_live (desktop-macos) |
10 µs |
10 µs |
+0 (+0.0%) |
| lines core |
33,397 |
37,845 |
+4,448 (+13.3%) |
| lines light |
31,681 |
35,148 |
+3,467 (+10.9%) |
| lines platform |
22,993 |
25,937 |
+2,944 (+12.8%) |
| lines ui |
13,043 |
14,559 |
+1,516 (+11.6%) |
| lines test |
76,140 |
86,853 |
+10,713 (+14.1%) |
| lines moondeck |
32,680 |
35,606 |
+2,926 (+9.0%) |
| code findings |
1,642 |
1,607 |
-35 (-2.1%) |
| unit tests |
2,836 |
3,263 |
+427 (+15.1%) |
| scenarios |
36 |
37 |
+1 (+2.8%) |
Against the release v7.0.0, the fixed point a user compares with; the tables below compare against the last commit. A firmware not rebuilt since v7.0.0 is left out, and a measure the release did not record yet, such as the code check, joins from the next one.
Firmware size
| Target |
Flash |
Capacity |
Used |
Built |
| desktop-linux |
2,488 KB |
- |
- |
STALE 32d |
| desktop-macos |
2,545 KB (+512 B) ⚠ |
- |
- |
yes |
| desktop-windows |
1,880 KB |
- |
- |
STALE 44d |
| esp32 |
2,230 KB |
2,496 KB |
89% |
carried 1d |
| esp32-16mb |
2,210 KB |
4,096 KB |
54% |
STALE 14d |
| esp32-eth |
1,827 KB |
2,496 KB |
73% |
carried 2d |
| esp32-pico |
2,375 KB |
3,072 KB |
77% |
carried 3d |
| esp32-wrover |
2,145 KB |
2,496 KB |
86% |
STALE 14d |
| esp32c3 |
2,349 KB |
2,496 KB |
94% |
carried 1d |
| esp32p4rev1-eth |
2,556 KB |
4,096 KB |
62% |
carried 1d |
| esp32p4rev1-eth-wifi |
2,809 KB |
4,096 KB |
69% |
carried 0d |
| esp32p4rev3-eth |
2,554 KB |
4,096 KB |
62% |
carried 2d |
| esp32p4rev3-eth-wifi |
2,612 KB |
4,096 KB |
64% |
STALE 14d |
| esp32s3-n16r8 |
2,435 KB (+144 B) ⚠ |
4,096 KB |
59% |
yes |
| esp32s3-n32r16 |
2,431 KB |
4,096 KB |
59% |
carried 3d |
| esp32s3-n8r2 |
2,194 KB |
3,072 KB |
71% |
STALE 14d |
| esp32s3-n8r8 |
2,301 KB |
3,072 KB |
75% |
STALE 14d |
| esp32s3-zero |
2,076 KB |
2,496 KB |
83% |
STALE 14d |
| esp32s31 |
2,733 KB |
4,096 KB |
67% |
carried 2d |
| qemu |
1,351 KB |
- |
- |
carried (age?) |
| teensy41 |
1,259 KB |
3,456 KB |
36% |
carried 3d |
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.
Flash change by kind
| Target |
Net |
New |
Removed |
Grown |
Shrunk |
Other |
Since |
| esp32s3-n16r8 |
+0.1 KB |
+0.1 KB |
+0.0 KB |
+0.0 KB |
-0.0 KB |
+0.0 KB |
4bc8eab67 |
Largest moves:
- esp32s3-n16r8:
mm::HttpServerModule::readDigest(mm::platform::TcpConnection +118 B, mm::HttpServerModule::handleFirmwareUrl(mm::platform::TcpCon -12 B
What this commit's flash went to, symbol by symbol against the measurement at Since. New is new functionality, removed and shrunk are what a cleanup saved, and other is what no symbol owns, such as merged strings and alignment. A rename reads as removed plus new, which the largest moves expose.
| Target |
Tick |
FPS |
| desktop-linux |
5 µs |
200,000 |
| desktop-macos |
12 µs (+4 µs) ⚠ |
83,333 (−41,667) ⚠ |
| desktop-windows |
4 µs |
250,000 |
| esp32 |
1,716 µs |
582 |
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 |
teensy41 |
desktop-docker-arm64 |
esp32p4rev1-eth-wifi |
host=esp32p4rev1-eth sender=esp32p4rev1-eth |
host=esp32p4rev1-eth sender=esp32s3-n16r8 |
host=esp32s3-n16r8 sender=esp32p4rev1-eth |
host=esp32s3-n16r8 sender=esp32s3-n16r8 |
host=esp32s3-n16r8 sender=esp32s3-n16r8 receiver2=esp32p4rev1-eth |
host=teensy41 sender=esp32p4rev1-eth |
host=teensy41 sender=esp32s3-n16r8 |
| Aurora_fps |
1,549 |
6,015 ? |
217,295 ? |
188,782 ? |
83,632 ? |
87,613 ? |
- |
- |
33,192 ? |
7,532 ? |
1,942,284 ? |
- |
- |
- |
- |
- |
- |
- |
| Control_a_palette_preset_changes_only_the_palette |
8 |
- |
- |
2,073 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
| Drivers_output_and_brightness |
7 |
4 ? |
- |
8,690 ? |
- |
- |
- |
- |
2,144 ? |
218 ? |
- |
- |
- |
- |
- |
- |
- |
- |
| Effects_pipeline_builds_and_renders |
7 |
4 ? |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
| Effects_swap_while_running |
1 |
4 ? |
- |
10,000 ? |
- |
- |
- |
- |
2,167 |
287 ? |
- |
- |
- |
- |
- |
- |
- |
- |
| Effects_teardown_under_a_running_pipeline |
8 |
17 ? |
- |
9,080 |
- |
- |
- |
- |
2,159 ? |
482 ? |
- |
- |
- |
- |
- |
- |
- |
- |
| Firmware_reports_what_is_running |
29 |
1,827 ? |
- |
8,659 ? |
- |
- |
- |
- |
2,142 ? |
215 ? |
- |
- |
- |
- |
- |
- |
- |
- |
| Fluid_solver |
218 |
685,902 ? |
45,974 ? |
102,058 ? |
71,150 ? |
66,874 ? |
- |
- |
14,853 ? |
3,371 ? |
761,768 ? |
- |
- |
- |
- |
- |
- |
- |
| GridLayout_resize |
120 |
219 ? |
1,352 ? |
18,414 ? |
7,218 ? |
8,919 ? |
95,771 ? |
82,231 ? |
1,521 ? |
2,005 ? |
6,735,719 ? |
- |
- |
- |
- |
- |
- |
- |
| Layers_stack_and_blend_live |
267 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
| Layouts_resize_reallocates_live |
10 |
93 ? |
- |
32,399 ? |
- |
- |
- |
- |
7,788 ? |
579 ? |
- |
- |
- |
- |
- |
- |
- |
- |
| Modifiers_reshape_the_mapping |
7 |
29 ? |
- |
10,350 ? |
- |
- |
- |
- |
2,165 ? |
273 ? |
- |
- |
- |
- |
- |
- |
- |
- |
| NetworkReceive_two_boards |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
92,530 ? |
11,930 ? |
37,919 ? |
30,612 ? |
- |
3,402 ? |
5,022 ? |
| NetworkSend_one_sender_many_receivers |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
3,847 ? |
- |
- |
| Network_hardware_reconfigures_live |
21 ? |
2,734 ? |
- |
8,678 ? |
- |
- |
- |
- |
2,147 ? |
232 ? |
- |
- |
- |
- |
- |
- |
- |
- |
| Palettes_a_script_drives_the_effects |
7 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
| RAM_floor |
- |
- |
- |
11,732 ? |
2,168 ? |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
| State_one_document_adds_an_effect_with_its_controls |
7 |
- |
- |
2,505 ? |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
| perf_full |
256 |
592 ? |
5,313 |
25,340 ? |
11,711 ? |
13,373 ? |
- |
- |
6,797 ? |
2,438 ? |
5,469,660 ? |
- |
- |
- |
- |
- |
- |
- |
| perf_light |
16 |
35 ? |
2,510 |
3,044 |
1,117 ? |
1,378 ? |
- |
- |
662 ? |
780 ? |
5,385,763 ? |
- |
- |
- |
- |
- |
- |
- |
| peripheral_grid_sweep |
257 |
649 ? |
5,766 |
70,668 ? |
11,495 ? |
12,273 ? |
- |
- |
6,618 ? |
2,577 ? |
1,673,544 ? |
- |
- |
- |
- |
- |
- |
- |
| peripheral_switch |
4 |
9 ? |
425 |
2,307 |
2,570 ? |
2,990 ? |
- |
- |
111 ? |
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: 117/396 cells measured (29%), 27 of them with 4+ samples (6%). 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 |
13 µs |
32 |
| Layouts_resize_reallocates_live |
10 µs |
17 µ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 |
37,845 (−59) ✓ |
7,428 |
21.8 % |
| light |
35,148 |
7,277 |
23.3 % |
| platform |
25,937 (+111) ⚠ |
4,547 |
19.6 % |
| ui |
14,559 |
3,626 |
26.4 % |
| test |
86,853 (+35) ⚠ |
7,975 |
10.6 % |
| moondeck |
35,606 (+75) ⚠ |
4,513 |
14.6 % |
Tests
| Kind |
Count |
| unit cases |
3,263 (+2) ✓ |
| scenarios |
37 |
Complexity
| Metric |
Value |
| functions |
6,313 (+3) ✓ |
| over threshold |
333 |
| worst CCN |
128 |
Documentation
| Metric |
Value |
| markdown files |
122 |
| markdown lines |
19,769 (+2) ⚠ |
| plan files |
14 |
| backlog lines |
2,835 |
| lessons lines |
455 |
| CLAUDE.md lines |
139 |