fix(control,render,build): port the control-server, renderer-tooling, and release-hygiene train from litclock-dev - #51
Merged
Conversation
… and release-hygiene train from litclock-dev File-level port of the non-wifi seam of the litclock-dev #606-#631 train (dev PRs #608, #611, #614, #618, #621, #622, #623, #624, #628, #631), plus pre-train catch-ups the earlier ports missed: - litclock-dev#608: PWA update-progress survives the updater's litclock-control restart (busy-inference, server-rendered in-progress page, JS retry+resume) - litclock-dev#611: runtime-render marker binds to its proof inputs; OTA invalidates on change (with litclock-dev#604 lifecycle) - litclock-dev#614: the #605 review-polish backlog across corpus_edit, renderer, and tooling files (includes the litclock-dev#545/#564 fitted-font-size chain public had deferred) - litclock-dev#618: build-image.yml quotes and validates ref-derived values before the sourced pi-gen config (shell-injection class) - litclock-dev#621: stale confirm token self-heals instead of dead-ending - litclock-dev#622: no false 'Connection issue' during the post-boot settling window - litclock-dev#623: sudoers 020 header no longer claims dropping 010 is safe - litclock-dev#624: unused qrencode dropped from the image; runtime-render branch test coverage - litclock-dev#628: factory reset powers off instead of rebooting - litclock-dev#631: deterministic hardware test for on-boot location reresolve (scripts/qa-reresolve-hw-test.sh) - catch-ups: litclock-dev#579 (DHCP lease age no longer a network fault), litclock-dev#562 (image release resolved from the device's own repo, corpus-hash-verified), the litclock-dev#531 exit-finalization work in literary_clock.py and its test Each file byte-verified against litclock-dev master modulo ref requalification; public-only content (the #527 sysctl verification, #528 gift-mode SSH-off and their tests) preserved.
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.
File-level port of the non-wifi seam of the litclock-dev #606-#631 train into the public repo, plus pre-train catch-ups earlier ports had missed. The companion PR #50 ports the wifi/provisioning seam; the two are file-disjoint and merge in either order.
What ships (dev PRs folded here)
LC_ALL: Cpinning the allowlist ranges.scripts/qa-reresolve-hw-test.sh), now the documented QA gate.Port method and verification
Per-file
public..devdelta against a per-file merge base, never wholesale copies of diverged files. Every ported file verified equivalent to litclock-dev master modulo ref requalification; public-only content preserved and pinned by existing tests (the #527 sysctl persisted-file verification in update.sh, the #528 gift-mode SSH-off block in reset-setup.sh, the render-invariants docstring rewordings that point at the development repo's CI).Review before opening caught and fixed: an HTML entity corrupted by the ref requalifier in a test assertion, the missing fs-floor block that a ported comment claimed existed, and a stale journald doc claim.
Gates on this branch's tree: ruff clean; pytest 3,163 passed with the freetype-gated tests executed locally (zero relevant skips); vitest 182 passed.
Notes for the maintainer (dev-faithful behavior, ported as-is)
Fleet impact
None until a release is tagged (OTA is tag-gated). This train plus PR #50 is the substance of the planned v0.224.0.