Repository navigation
refactor(#274): E4 band 3e -- the web server leaves src.ino; #264 is met - #279
Merged
Merged
Conversation
…-3 parent is satisfied
src/web.{h,cpp}: webServer and wifiConnected published; the WiFi/NTP state,
the credential placeholders (#245, #99) and the upload/serial-stream buffers
private; WEB_SERVER_PORT, WIFI_RECONNECT_INTERVAL; initWiFi, checkWiFi,
initWebServer and the 22 handlers -- 1,181 lines, the largest unit. It reads
every domain through headers and reaches back into src.ino for nothing.
src/fc_version.h: FW_VERSION, in one obvious file (the boot banner, the About
screen and every web page show it); CLAUDE.md's pointer follows. display.h
takes LVGL_BUF_LINES/LVGL_BUF_SIZE (the diagnostics page shows the buffer
size; initLVGL joins that side in band 4).
src.ino 5,581 -> 4,387 lines. The acceptance of the band-3 parent task (E4-5), measured: nm on
src.ino.cpp.o defines none of the 35 cut-set variables; the reference graph
of what remains shows 3 external-linkage variables, 78 authored functions,
77 of them touching no shared state of the file, cut set 0, largest cluster 1.
Harness: a constructor-call declaration (WebServer webServer(80);) is a
variable. The in-worktree baseline build raced the extraction and compiled
post-move code; the before-side artefacts came from a scratch worktree at
main, and the record says so.
Verified by scripts/verify_extraction.py, PASS: 592 -> 592 symbols, 55
relocated, no linkage change, 12 size deltas net +16 all attributed, all 27
moved functions checked by reference set, unexplained none. .flash.text +28
(inputs +28), .flash.rodata +28 (inputs +60, merged), RAM unchanged. Flash
1,856,634 -> 1,856,690. Both toolchains build. 58 tests pass. Record:
section 14 of docs/god-object-inventory.md.
Owner
Author
|
Merged autonomously under the owner's standing grant of 2026-09-07. Gate: Set aside for the owner's review, in the PR body: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
E4 band 3e, task #274 — the last child of #264, Epic #212. Opened autonomously under the owner's standing grant of 2026-09-07.
What moved
The web server, whole:
webServerandwifiConnectedpublished; the WiFi/NTP state, the credential placeholders (#245 — where #99 will put runtime storage) and the upload/serial-stream buffers private;initWiFi,checkWiFi,initWebServerand the 22 handlers — 1,181 lines, the largest unit. It reads every domain through headers and reaches back intosrc.inofor nothing.src.ino5,581 → 4,387 lines.#264's acceptance, measured
nmonsrc.ino.cpp.odefines none of the 35 cut-set variables.python scripts/reference-graph.pyon what remains: 3 external-linkage variables, 78 authored functions, 77 of them touching no shared state of the file, cut set 0, largest cluster 1. What is left is screens,setup/loop, buttons and the LVGL glue — band 4's material.Calls made under the grant — please review
src/fc_version.hnow holdsFW_VERSION. Bothsrc.ino(boot banner, About screen) andweb.cpp(every page) show it; one obvious file is where a bump goes.CLAUDE.md's Versioning pointer follows in this PR.LVGL_BUF_LINES/LVGL_BUF_SIZEwent todisplay.h: the diagnostics page reports the buffer size, andinitLVGLjoins the display side in band 4.web.cpp, not published: nothing outside the unit reads them.Baseline note
The in-worktree baseline build raced the extraction and compiled post-move code. The before-side artefacts for this proof came from a scratch worktree at
main(7bfefa7), whose Flash figure matches the 3d merge exactly.Proof
scripts/verify_extraction.pyPASS; full output indocs/god-object-inventory.md§14: