Repository navigation
PakarController complete production acceptance and donor parity #2
Description
PakarController production acceptance
This checklist is the full user-requested release scope. A checked source/test
checkpoint is not a checked physical acceptance item. Keep the GitHub master
issue open until every applicable acceptance item has linked evidence. Any
exclusion needs a concrete donor path, reason and hardware/business scope;
"equivalent soul" and content-hash screening are not integration proof.
Master tracking issue: #2
Current delivered checkpoint
Source20a242b · actual recovery and limitations. Diagnostic recovery, not production acceptance.
- Corrected S3 image2193760B/SHA256
cb1f18f16c62e369e52120ec0986bd30d1b5d38e71204216c47aded721a6de0finstalled by actual ROM-MAC/selection-guarded USB application-only recovery. VALID app0/0x10000, new bootff6da73b47d6fd790fc1eb36c491d6ef, all34 running-image ranges/full SHA and same-peer WebSocket49ms verified. Rollback app1, bootloader/partitions/otadata and AVR memory/fuses untouched by recovery. - First LAN candidate ec2d497... was actually uploaded/verified but failed stability when MQTT exposed loopTask stack-canary panics. Original failure/COM22 panic capture retained; exact-ELF decode located nested telemetry/status stack exhaustion. Corrected compiled frames: loop2976→592B, submit1488→48B, publishTelemetry1408→80B; no SDK stack increase or second effects engine.
- Actual RMT/GDMA refill IRQ measured source71/core1/vector27/level3. Periodic filesystem telemetry scans removed in favor of boot-cached age/known/null observation; fresh update admission retained. Same renderer advances between cloud writes.
- Final16.418s normal-MQTT observation: same boot/all26 samples connected, publishes10→13,775 transmitted-frame increments, failed0, no zero-frame sample intervals; longest sampled gap516ms versus1086ms baseline. This is bounded runtime/counter evidence, not physical waveform or all80-cell proof. Startup TLS still reached2166ms; individual synchronous socket calls remain a limitation.
- Actual ASUS wire observations: mDNS A, DNS-SD PTR/SRV/TXT, SSDP root/basic, MNDP identity/MAC/IP, NB name/full121B NBSTAT. Windows nbtstat reports LEDBOARD<00>/sameMAC from ASUS wired and Wi-Fi interfaces. ESP remains Wi-Fi+AP; W5500 runtime is DISABLED.
- Focused LED worker/concurrent producer, actual-IDF ring, IRQ guard, both-platform cloud wire-format, filesystem, Ethernet/LLDP, network and settings fixtures; actual S3 SDK build; source ledger240/4673 hash-bound comparisons. Native and Flutter addressing packages built, NOT deployed in this pass. Zero open PRs at fresh listing; latest CI asynchronous, not claimed all-green.
- Human confirms all80 cells/480 pixels and no periodic optical pause. Current user-selected rainbow is preserved; older output-disabled text below is historical.
- Autonomous NTP after cold boot: clock remained unset; explicit ASUS UTC setting enabled the final TLS/MQTT test. Do not claim standalone NTP or USB-disconnect readiness from this pass.
- Original Internet image job20/TLS allocation failure remains preserved; remote image-fetch/apply completion, external-power restart and long RF/coexistence soak still open.
- Actual W5500 wiring/link/Ethernet-only Internet/local APIs/LLDP and router IGD acceptance. Router probes returned no IGD descriptor; no router login/mapping/firewall changes made.
- Authoritative installed native/mobile acceptance: SSH session0 native IPC unavailable (not proof the interactive app is unhealthy); no GUI replacement or phone deployment this pass. Complete donor parity/peripheral/physical gates remain below.
Ledger:240 comparisons,4433 pending,197 known parity gaps. Keep this master issue OPEN.
Previous service recovery: LED all-off and ASUS app
Current ESP recovery source: 4e6a6f0; exact deployment and remaining limits. Version0.2.7; native/Android build14. This is a diagnostic recovery, not production acceptance.
- The physical all-off failure is recorded: user still saw lit pixels after an accepted80-cell Off batch, all1440 published RGB bytes zero and gpio-static transmissions/error0. Those counters were NOT treated as optical success. Output disabled; no further colored tests.
- Explicit RMT-DMA recovery uses1440 internal wire bytes, bounded SDK ring, immutable full frames and300us LOW latch. Fresh post-UART render time bypasses the obsolete SoftwareSerial lease on buffered S3. Static remains separately selectable, not silently removed.
- One local OTA failed after5556ms: operation3 ABORTED42460/2046320. Independent reads established unchanged ca1acf boot/old image before USB recovery; no blind upload replay.
- Fresh CRC-valid OTA19/20, COM22 bridge and same MAC selected app1/0x340000. USB wrote only that application range in31.7s and verified its hash. No bootloader/partition table/OTA selection data/filesystem/AVR writes in this ESP recovery.
- Full actual running-image SHA d46b74b74d3471215fff3ac85cc4777287a7f9718f42cfd504804e195628f88f,2046320bytes; VALID selected/running app1 and new boot730642a9a16509512ec9365ec42b1f0b independently verified.
- Actual RMT ready, submitted2/transmitted3/failed0/error0;80 saved Off states/output disabled. Auth disabled/BLE unstarted/Wi-Fi awake/AP+STA/MQTT observed. These are observations, not physical black or cloud-command round-trip proof.
- Native PID15928/build14 reconnected Wi-Fi/WS to that exact boot:80 mappings/80Off, AVR online/TM ACKtrue, resting OFF raw masks, no pending maintenance or active incidents. Recovery timeouts remain in inactive history.
- Four complete cached-address reads: status529ms/panel479ms/Web223213bytes in1336ms/SSDP XML661ms. Same-peer WS upgrade110ms+status36ms. One image-export read required the bounded read-only retry; no clean-soak claim.
- Semantic TM policy and separate requested/observed WS+USB events in174da58; custom notice receipt/updater validation fixes infae96a6. Actual AVR Urboot backup/program jobs1/2 verified full flash and preserved EEPROM, without bootloader/EEPROM/fuse writes. Native14 deployed; Android14 exact APK staged on ASUS, NOT phone-installed.
- Focused panel/LED pipeline and8 worker-double cases plus actual S3 SDK build passed. Canonical ledgers/hash guards checked; newest exact-head CI not awaited or declared green.
- User confirms the new RMT startup/clear made ALL480 pixels physically dark.
- Verify actual white/red/per-cell mapping, RF/refill/coexistence and fault recovery after all-black succeeds.
- Repair and reverify current OTA ingress; this deployment required USB.
- Complete nonblocking single-owner cloud I/O: synchronous service reached2044ms, and coalesced display flush still timestamps before a possibly stalled publish.
- Physical TM notice readability/blink/menu priority and all peripheral/audio/input gates.
- External-power/USB-removed restart, BLE/TLS/OTA coexistence, Android on-device/signing, native clipping/per-pixel preview, W5500/TFT and full donor parity.
Source provenance remains232/4673 hash-bound comparisons,4441 pending/190 parity gaps. Production remains OPEN. Historical successful Wi-Fi OTA/discovery and older images are retained in commissioning; they do not certify this current recovery. No secrets published.
Existing source/test checkpoints (not release acceptance)
-
Web's fixed 25 FPS timer replaced with explicit 60/default and 0/uncapped
client pacing, bounded latest-frame buffering and peer/socket cancellation.
5212914:
quality/ESP compile, exact donor mappings and limits in WEB-STREAMING.md.
Physical refresh, queued-frame fencing, multi-client arbitration and full
mobile streaming/preferences parity remain open. -
Embedded Web HTTP ownership in 5b54e4d: all Web mutations preflight and pin board/boot headers; settings/batches keep one owner, false cell ACKs stop, stale replies/drafts are revoked, bounded cancellation/deadlines and no 401/redirect replay. Full quality and ESP8266 busy-wire compile pass; exact module is present in image. GUI/Flutter/other transports, S3/DMA and physical acceptance remain open. docs/HTTP-PEER-FENCING.md.
-
HTTP board/boot fencing in b3e9d19: TUI requires valid advertised identity, pins all mutating HTTP requests, and ESP rejects stale/partial headers before dispatch and both uploads. 151 native tests, C++ validation, full quality, ESP8266 busy-wire compile, Release and staged CLI guards pass. GUI/Web/mobile/other transports, AVR-only reset, S3 integration and physical reboot acceptance remain open. docs/HTTP-PEER-FENCING.md.
-
Interactive terminal checkpoint in d450866: contextual pages, native shared Find/selection, explicit guarded bulk white/red/off and shared CLI command palette. 147 native tests and first built-CLI/ConPTY checks pass; rich editors/transport/mapping/full physical acceptance remain open. Final clean-head Release/stage, redirected guard/cause-chain and real Windows ConPTY smoke passed; not full GUI/hardware acceptance. docs/TERMINAL-UI.md.
-
Native/Web incident deduplication preserves distinct causes/routes/ports and explicit failures; native67948be live stable8rows/repeat counts and screenshot proof. Prior source60d8668 full CI38140468478 succeeds.
-
Buffered AVR build profile for S3 preparation in5d02b07; hardware Serial, A4/A5 TM1637 and busy/poll modes preserved. Actual shared transport tests/all3 AVR compiles pass. Source/build only, not deployed S3/AVR or physical zero-loss acceptance; docs/UART-FLOW-MIGRATION.md.
-
One integrated ESP firmware contains API/WebSocket, LED engine, cloud,
storage, self-OTA and AVR ISP; no separate programmer firmware is required. -
Busy-wire and polling build flags exist on both boards; AVR busy input uses
INPUT_PULLUP; busy-wire is the current source default. -
Pealayer-derived native shell, Phosphor assets, dock panels, preferences,
dialogs, notifications, tray, native icons and single-instance IPC exist with
explicit source mappings in PEALAYER-DESKTOP-FOUNDATION.md. -
Half-cell odd-column stagger, alternating native column backgrounds,
logical-number search, row-major IDs and physical/name mapping exist. -
PCController-compatible one-shot/loop/interval display text and actual
segment readback are implemented; production AVR presentation tests pass. -
Actual PU850 firmware transfer source and real async web transport are
integrated; persistent auth editing and USB recovery have source tests. -
Persistent hostname editing via API/CLI/TUI/Web/native/Telnet/USB exists;
no suffix is added; 0.2.3 builds and source tests pass locally. -
Actual PU850 Telnet negotiation and bounded line editor are adapted;
hidden password input, cursor editing and no truncated-command execution tested. -
ESP busy-high explicitly uses INPUT_PULLUP; receive-ready preloads LOW;
polling builds avoid that GPIO. Production source tested; live acceptance open. -
Production AVR tone player preserves 530 ms donor welcome deadlines under
delayed service and rollover; register-double tests pass, audible gate open. -
Expanded 1,868-file donor inventory exposes missing sparse paths; manual
reviews are hash-bound. Strict release gate rejects unresolved rows. -
Existing Flutter source preserved and hardened: secure credential migration,
no mutation replay, exact logical search and Once text default; source tests
and analyzer pass. Phone/tablet and production-signing acceptance remain open. -
All fourteen current catalog cues are exercised by production source tests;
Puzzles 530 ms, PuzzleBoard 520 ms and 40LED 590 ms variants remain distinct.
Native/Web/mobile expose only known AVR-advertised cues; USB carries catalog. -
Native Wi-Fi+USB commands/network changes choose one route before dispatch;
no dual application and no replay on uncertain failure. Serial status expires. -
Broker TLS and anonymous rejection verified; exact ledboard topic ACL added
without resetting credentials or unrelated tenant rules. ESP cloud gate open. -
Native streaming target is configurable (60 FPS default, 0 uncapped) for
rainbow and sampling; hidden 25/8 FPS delays removed. Sent rate is explicitly
host-write evidence, not LED refresh. Pacing and table-footer tests pass. -
Native network observations carry endpoint/credential identity; serial
observations and queued writes carry port identity. Late other-peer events
are rejected, and destination changes clear old displayed state. -
Normal ESP/AVR handshake no longer queues a false update-success cue over
the AVR welcome. Actual OTA/ISP cues remain; source regression passes. -
Native sampler uses only a complete validated board-advertised physical
map and the odd-column half-stagger; missing/duplicate maps disable it.
Remapped cells and bounds pass tests; live and monitor/region gates stay open.
Donor completeness and provenance
- Refresh exact refs and dirty state for Pealayer, canonical and legacy
PCController, ControllerBoardMini/Puzzles, PuzzleBoard, 40LED and PU850/ASA0002E. - Inventory every source/tool/asset/test file, including sparse-checkout and
missing files; bind manual decisions to source hashes/revisions. - Manually read every applicable donor source file; assign imported/adapted,
verified superior replacement, business-only exclusion or hardware exclusion. - Import useful Puzzles code/features, including input/menu/display/audio/
configuration behavior; retain PuzzleBoard's A4/DIO, A5/CLK pin mapping. - Reconcile every applicable PCController feature and protocol operation;
no hardware-mismatched LCD/I2C page is falsely advertised. - Complete all useful PU850 features, including actual shell/editor,
Telnet negotiation, discovery metadata/MNDP, diagnostics, file tooling,
uploaders and CI/dependency/deployment scripts; document each exclusion. - Give each custom Pealayer UI element a donor file, target implementation,
invocation path, tests and real rendered screenshot evidence. - Add an automated release gate for unresolved applicable ledger rows;
distinguish screening from manual read and from runtime acceptance.
Electrical, timing and integrated firmware
- Measure actual AVR VCC and crystal/clock/fuses against its exact part's
datasheet speed grade. User-reported 3.3 V plus the current 16 MHz build profile
needs confirmation; do not alter fuses or raise supply blindly with ESP wired. - Confirm busy-wire pull-ups and boot-safe GPIO0 behavior on actual hardware;
retain configurable polling mode and select default using measured loss/latency. - Verify AVR hardware UART and ESP SoftwareSerial bidirectionally with CRC,
error counters, reboot, lost-link recovery and LED/stream/update contention. - Verify TM1637 ACK, brightness, actual segments and correct connector pins.
- Compare/import every donor melody, expose cue selection, test exact welcome
timing and transitions; physically hear correct melody without clicks/jitter. - Verify all 74HC165 inputs, 74HC595 outputs and ADC6 ninth input/debounce.
- Verify front-panel menus for ESP/AVR/device settings, actual parameters,
game modes and logic; save/readback with truthful validation. - Verify meaningful seven-segment cell/winner/config/update/error values,
imported perimeter animation and progress; no permanent nuisance marquee. - Verify full-brightness rainbow and deterministic effects with UART active;
measure frame rate rather than adding an arbitrary 20fps cap. - Test live ESP self-OTA (including abort/bad hash/parallel clients) with cues.
- Test live AVR ISP update/verify/recovery with Prog latch while full ESP
services remain installed; prove reset/ISP/UART electrical ownership. - Store/retrieve verified AVR+Urboot and EEPROM backups; test filesystem-full,
interrupted writes and restore without erasing configuration.
Business and streaming
- Validate 80 logical row-major cells, six LEDs per cell, half-cell stagger,
alternating backgrounds, number highlighting, rename and physical remap on all UIs. - Verify initial white table and per-cell red/off/effect changes via API,
physical keypad/front panel, CLI/TUI, Web, desktop and mobile. - Verify nine-button first-wins logic, ties/reset/debounce and matching
shift-register and strip outputs. - Complete snake example: input/control, reset, collision/game-over and
consistent table mapping on all requested surfaces. - Complete real screen sampler: monitor/region selection, geometry mapping,
controls and measured Wi-Fi streaming; no mpv dependency. - Validate configurable/uncapped streaming with backpressure and measured
rendered LED throughput; compare host sent rate to actual board frame commits. - Verify Wi-Fi/WebSocket/UDP streaming framing, bounds, frame commit and
disconnect recovery; define the AVR strip decision without duplicating engines. - Verify multi-client control and simultaneous Wi-Fi plus USB host transport
without double-applying commands or presenting inferred hardware state.
Network, authentication and cloud
- Deploy and verify this board as ledboard.local; API readback and reboot
persistence; hostname-first clients with current-address recovery only. - Scan actual SSIDs; join DRS Tether using the latest privately supplied
credentials; test reconnect and AP recovery without logging secrets. - Verify station/AP/AP+station selection and persistence through all menus.
- Verify mDNS, SSDP, NetBIOS and all retained donor discovery on both PCs;
verify advertisements refer to the same hardware UUID and configured name. - Verify NTP sync, offline/reconnect behavior and displayed time state.
- Verify configured Basic/session authentication, clear sign-in UI, credential
rotation, expiry, restart, USB recovery and access to protected WebSockets. - Test mqtt.digitalogic.ir round-trip, TLS/auth/ACLs and disconnect/reconnect;
coordinate only scoped credentials/service changes on office.digitalogic.ir. - Verify configurable outbound WebSocket endpoint and round-trip/reconnect.
- Expose safe network/cloud/device configuration across applicable API,
CLI/TUI/Web/native/mobile/front-panel surfaces with secrets write-only.
Applications and visual acceptance
- Complete native Pealayer-derived UX parity: modals, preferences, themes,
palettes, icon vocabulary, actions/events, workspace/tray/single instance,
shortcuts, seven-segment mirror and hardware monitor; exclude media/timeline/cue. - Inspect real Pakar and Pealayer screenshots in light/dark themes and narrow
layouts; fix alignment, overflow, focus, empty/error/stale/pending states. - Build a proper interactive table TUI with per-cell effects, search/mapping,
business modes and device configuration, not only a command prompt. - Complete Web UI parity with contextual panels, table controls, configuration,
progress and hardware monitor; no fixed architecture narration or fake status. - Audit/preserve/finish the existing Flutter Android/tablet work; analyze/test/
APK build, adaptive UI, secure settings, discovery and live board round-trips. - Install/run identical verified desktop packages on both PCs and open Web UI
on David-ASUS; verify same authoritative board state across clients.
GitHub and release
- Preserve every local-only source change and relevant semantic ref in GitHub;
leave unrelated user work intact, and never treat a draft as a release. - Pass all exact-head firmware (both flags), native, Web, mobile and ledger
checks; fix CI failures before merge. - Merge ready verified work to main; use semantic branches and no date/random
suffixes in product/release names. - Publish a version-consistent production release with artifacts/hashes,
donor licenses, migration/recovery instructions and actual deployment receipts. - Close the master issue only after applicable acceptance boxes have evidence;
leave any blocked/untested requirement visibly open with its next action.
Immediate continuation order
- Bind this checklist to the GitHub master issue/PR and fix exact-head CI.
- Audit Puzzles/audio/busy wiring and full donor inventories; import/test omissions.
- Complete interactive TUI, richer Web/native menus and retained PU850 services.
- Audit and preserve Flutter sources; integrate mobile CI and builds.
- Restore ASUS reachability for live Wi-Fi, both firmware deployments, all
physical tests, cloud round-trip and multi-client verification. - Merge/release only after the evidence gates above are actually satisfied.
Activity
Harden integrated firmware and preserve Android preview with acceptan…
atomicdeploy commentedon Oct 10, 2026
PakarController 0.2.4 source checkpoint
Refs #2.
This is not the completed production acceptance or a hardware deployment.
Implemented and locally verified
before output enable. Polling builds never touch that GPIO. AVR input
INPUT_PULLUP remains enabled. Both macro variants build.
accumulating loop delays. The welcome is exactly 530 ms in the source
schedule; late steps, wraparound, hardware divider, queue capacity, mute,
resume and idle readback are covered by register-double tests. Hardware
OC1A output remains on D9; these tests are not an audible recording.
adapted, with acknowledgements that avoid negotiation loops. CSI/SS3,
arrows/home/end/delete/backspace, Ctrl-C/Ctrl-L, split CR LF/NUL, password
non-echo, scrubbing, overflow rejection and independent state are tested.
A 96-byte service budget and login/idle expiry bound shell loop work.
read, with individual source hashes and honest remaining decisions. The
broader donor inventory contains 1,868 files, 63 missing sparse paths and
1,863 unresolved manual/integration decisions. Hash screening is not full
review. The strict release gate intentionally blocks this scope.
with platform-encrypted credential storage and safe legacy migration,
identity-checked read-only discovery for renamed hosts, no mutation replay,
Once text default, half-stagger table, alternating columns and exact logical
search/highlighting. Analyze and 12 tests pass; the release-mode preview
APK builds. Production signing/physical mobile/full parity stay open.
23 Rust tests, ten C++ suites, Web tests, CLI loopback and ledger tests pass.
GitHub jobs additionally test/build Android preview and version/ledger gates.
Actual native screenshots
The 0.2.4 process was launched on David-PC. A secondary process forwards to
the same primary PID; live IPC reports single-instance ownership, the dock
panels, Preferences open and device/WebSocket/serial offline. The screenshot
helper captures actual app windows, not mock UI. Preferences lives in a separate
native viewport and was captured by its actual observed window title.
These receipts establish rendered native workspace/preferences, not complete
Pealayer parity, light/narrow acceptance, hardware animation or Android visual
acceptance. Those gates remain in PRODUCTION-ACCEPTANCE.md.
Current external gate
ASUS SSH at localhost:1022 refuses connections. ledboard.local is unresolved
here and the former board IP times out. No current firmware upload, persistent
device rename, Wi-Fi password change, TM1637/audio/strip verification, cloud
round-trip or ASUS application launch is claimed. The newest user-provided
station password will be used only during deployment; it is not put in GitHub.
Restore ASUS/tunnel reachability to resume physical acceptance. Offline donor,
TUI/Web/menu and parity work remains explicitly open in issue #2.
The Android preview is still debug-signed; no production-signed mobile release
is published. The master issue must not be closed by merging this checkpoint.
atomicdeploy commentedon Oct 10, 2026
PakarController 0.2.5 source checkpoint
Refs #2.
This is not the completed production acceptance or a hardware deployment.
Implemented and locally verified
separately imported root PuzzleBoard 520 ms and 40LED setup 590 ms variations
do not replace the default Puzzles 530 ms welcome. Native/Web/mobile require
advertised AVR cues, based on a versioned HELLO; USB includes the catalog.
it no longer duplicates mutations. Explicit transport and stale serial
observations are respected. Lost responses do not cause cross-route replay.
An exact ledboard ACL alias was staged/validated and hot-reloaded without
changing passwords or other tenants. This is not ESP cloud round-trip proof.
See deployment/mqtt/README.md for hashes and the server recovery copy.
before output enable. Polling builds never touch that GPIO. AVR input
INPUT_PULLUP remains enabled. Both macro variants build.
accumulating loop delays. The welcome is exactly 530 ms in the source
schedule; late steps, wraparound, hardware divider, queue capacity, mute,
resume and idle readback are covered by register-double tests. Hardware
OC1A output remains on D9; these tests are not an audible recording.
adapted, with acknowledgements that avoid negotiation loops. CSI/SS3,
arrows/home/end/delete/backspace, Ctrl-C/Ctrl-L, split CR LF/NUL, password
non-echo, scrubbing, overflow rejection and independent state are tested.
A 96-byte service budget and login/idle expiry bound shell loop work.
read, with individual source hashes and honest remaining decisions. The
broader donor inventory contains 1,868 files, 63 missing sparse paths and
1,863 unresolved manual/integration decisions. Hash screening is not full
review. The strict release gate intentionally blocks this scope.
with platform-encrypted credential storage and safe legacy migration,
identity-checked read-only discovery for renamed hosts, no mutation replay,
Once text default, half-stagger table, alternating columns and exact logical
search/highlighting. Analyze and 13 tests pass; the release-mode preview
APK builds. Production signing/physical mobile/full parity stay open.
25 Rust tests, ten C++ suites, Web tests, CLI loopback and ledger tests pass.
GitHub jobs additionally test/build Android preview and version/ledger gates.
Actual native screenshots
The photographed 0.2.4 process was launched on David-PC. A secondary process forwards to
the same primary PID; live IPC reports single-instance ownership, the dock
panels, Preferences open and device/WebSocket/serial offline. The screenshot
helper captures actual app windows, not mock UI. Preferences lives in a separate
native viewport and was captured by its actual observed window title.
These receipts establish rendered native workspace/preferences, not complete
Pealayer parity, light/narrow acceptance, hardware animation or Android visual
acceptance. Those gates remain in PRODUCTION-ACCEPTANCE.md.
These screenshots remain explicitly versioned 0.2.4 receipts, not screenshots
of the additional 0.2.5 cue/routing changes or live board acceptance.
Current external gate
ASUS SSH at localhost:1022 refuses connections. ledboard.local is unresolved
here and the former board IP times out. No current firmware upload, persistent
device rename, Wi-Fi password change, TM1637/audio/strip verification, cloud
round-trip or ASUS application launch is claimed. The newest user-provided
station password will be used only during deployment; it is not put in GitHub.
Restore ASUS/tunnel reachability to resume physical acceptance. Offline donor,
TUI/Web/menu and parity work remains explicitly open in issue #2.
The Android preview is still debug-signed; no production-signed mobile release
is published. The master issue must not be closed by merging this checkpoint.
atomicdeploy commentedon Oct 10, 2026
PakarController 0.2.5 source checkpoint
Refs #2.
This is not the completed production acceptance or a hardware deployment.
Implemented and locally verified
separately imported root PuzzleBoard 520 ms and 40LED setup 590 ms variations
do not replace the default Puzzles 530 ms welcome. Native/Web/mobile require
advertised AVR cues, based on a versioned HELLO; USB includes the catalog.
it no longer duplicates mutations. Explicit transport and stale serial
observations are respected. Lost responses do not cause cross-route replay.
credentials; serial observations and queued commands are bound to the port.
Changing a destination clears old state rather than refreshing it with a
previous peer's delayed reply. Regression tests cover endpoint/credential/port.
60 FPS default, 0 uncapped, up to 240 requested. The hidden 25 FPS rainbow and
8 FPS sampler delays are gone. Frame capture/write time is deducted from the
pacing budget; no catch-up frame queue. Sent-rate UI is not LED-refresh proof.
instead of guessing the old serpentine order, and samples one-based odd
columns with the +0.5-row geometry. Missing/duplicate/out-of-range maps disable
sampling; bounds and swapped physical cells are tested. Monitor/region
selection and live sampler acceptance still remain open.
update-success cue. Explicit successful OTA/ISP paths retain audible cues.
The source boot-routing regression passes; audible acceptance remains open.
geometry regression covers multiple cell sizes, followed by actual capture.
An exact ledboard ACL alias was staged/validated and hot-reloaded without
changing passwords or other tenants. This is not ESP cloud round-trip proof.
See deployment/mqtt/README.md for hashes and the server recovery copy.
Its served chain also validates using only the exact CA embedded in the ESP,
with PC default stores disabled. This is not an ESP BearSSL handshake test.
before output enable. Polling builds never touch that GPIO. AVR input
INPUT_PULLUP remains enabled. Both macro variants build.
accumulating loop delays. The welcome is exactly 530 ms in the source
schedule; late steps, wraparound, hardware divider, queue capacity, mute,
resume and idle readback are covered by register-double tests. Hardware
OC1A output remains on D9; these tests are not an audible recording.
adapted, with acknowledgements that avoid negotiation loops. CSI/SS3,
arrows/home/end/delete/backspace, Ctrl-C/Ctrl-L, split CR LF/NUL, password
non-echo, scrubbing, overflow rejection and independent state are tested.
A 96-byte service budget and login/idle expiry bound shell loop work.
read, with individual source hashes and honest remaining decisions. The
broader donor inventory contains 1,868 files, 63 missing sparse paths and
1,863 unresolved manual/integration decisions. Hash screening is not full
review. The strict release gate intentionally blocks this scope.
with platform-encrypted credential storage and safe legacy migration,
identity-checked read-only discovery for renamed hosts, no mutation replay,
Once text default, half-stagger table, alternating columns and exact logical
search/highlighting. Analyze and 13 tests pass; the release-mode preview
APK builds. Production signing/physical mobile/full parity stay open.
30 Rust tests, ten C++ suites, Web/boot-routing tests, CLI loopback and ledger tests pass.
GitHub jobs additionally test/build Android preview and version/ledger gates.
Actual native screenshots
The photographed 0.2.5 process was launched on David-PC. A secondary process forwards to
the same primary PID; live IPC reports single-instance ownership, the dock
panels, Preferences open and device/WebSocket/serial offline. The screenshot
helper captures actual app windows, not mock UI. Preferences lives in a separate
native viewport and was captured by its actual observed window title.
Live IPC reports the saved client endpoint
http://ledboard.local, PID 73508and version 0.2.5. That client preference is not a deployed board rename.
These receipts establish rendered native workspace/preferences, not complete
Pealayer parity, light/narrow acceptance, hardware animation or Android visual
acceptance. Those gates remain in PRODUCTION-ACCEPTANCE.md.
These are updated 0.2.5 receipts. The previous 0.2.4 screenshots remain in Git
history at 76bf399; neither set establishes live board acceptance.
Current external gate
ASUS SSH at localhost:1022 refuses connections. ledboard.local is unresolved
here and the former board IP times out. No current firmware upload, persistent
device rename, Wi-Fi password change, TM1637/audio/strip verification, cloud
round-trip or ASUS application launch is claimed. The newest user-provided
station password will be used only during deployment; it is not put in GitHub.
Restore ASUS/tunnel reachability to resume physical acceptance. Offline donor,
TUI/Web/menu and parity work remains explicitly open in issue #2.
The Android preview is still debug-signed; no production-signed mobile release
is published. The master issue must not be closed by merging this checkpoint.
Exact checkpoint receipts
Latest source: f190c9c. Local: 30 native tests/release build, 10 C++ suites, Web and boot-routing tests, CLI loopback, both firmware builds, version and ledger checks pass. Strict production donor gate still fails with 1863 unresolved rows, correctly.
Previous 695a91f exact-head CI succeeded on both push and PR (all three jobs). Latest-head CI is running/queued; not yet a green claim. Keep this PR draft until that source checkpoint is verified. Do not close #2 or publish a production release merely because source CI passes.
Current local app: 0.2.5, PID 65928, saved endpoint http://ledboard.local, single-instance true, Preferences open; board/USB/WebSocket offline. Screenshots above were captured from the 0.2.5 process PID 73508 before the sampler mapping follow-up, so they are visual receipts rather than tests of that follow-up's behavior. ASUS SSH remains connection-refused.
atomicdeploy commentedon Oct 10, 2026
Published audit checkpoint e4818af: e4818af
Complete inventory: 1,868 paths. Complete comparative evidence: 26 files (4 byte-identical, 2 behavior-equivalent, 4 scoped improvements, 16 files with gaps). 1,842 remain pending, including sparse files; no unreviewed code is approved for omission. Exact source/target hashes, lines, code omissions and concrete reasons are in docs/FILE-COMPARISON.md, docs/file-comparison.csv and docs/file-comparison-evidence.json. Execution receipts: docs/FILE-COMPARISON-RECEIPTS.md.
42 native tests, 10 C++ suites, Web/boot/version/audit checks passed locally. Restored actual eleven Pealayer picker tests. Strict comparison gate correctly fails while gaps remain. Added audit checks to CI; this commit's new CI is pending, not yet certified.
Continuation/checklist: #3; master production acceptance #2 and draft PR #1 remain open. Prior integration pointers were corrected; current TM1637 ACK/recovery, generic Puzzles Tasks/key contracts, native/Web appearance and PU shell/config/event omissions are explicitly actionable. No new live firmware or physical acceptance claim.
atomicdeploy commentedon Oct 10, 2026
Native device settings checkpoint pushed: 1cf3da0. Implementation/remaining acceptance checkboxes are in issue #4.
http://ledboard.local, PID 82564. Exe SHA-256:433d3340c32d50f085c0a212bed03479c71d37c4014a2fdcca736beab9113d00.Remaining Web/mobile/device parameter contracts, narrower/light/embedded interaction acceptance, physical hardware and full donor superiority stay unchecked. Draft PR #1 remains draft; this is not final production certification.
atomicdeploy commentedon Oct 10, 2026
Exact settings source 1cf3da0 is now fully green in both 38035712949 and 38035709761: Windows native tests/build, both firmware macro variants/protocol tests and Android preview tests/build.
The local 60-test native suite, inspected simulated-peer renders, binary hash, clean published repo and preserved real-profile runtime are documented in the earlier checkpoint. Native settings implementation/CI boxes are checked in #4. Physical saves, ISP/OTA/reboot/electrical acceptance, ASUS deployment, wider interaction/all-surface parity and the full donor backlog remain unchecked. PR #1 remains draft; green CI is not physical or full production certification.
atomicdeploy commentedon Oct 10, 2026
Native Windows notifications are restored and running locally in
4cb874b.
Seventy Rust tests pass. The final owned-process smoke recorded two accepted
and two shown Shell notifications, zero failures, unchanged preferences and
the real
ledboard.localprofile. Fullscreen toggled and restored in that owner.Both exact-commit CI runs passed every Windows, firmware and Android job:
PR run,
push run.
Issue #5 owns the native
acceptance and remaining desktop checkboxes. The exact file audit
maps actual donor code and explains omissions. The full ledger now has 31
complete-file comparisons, 1837 pending and 18 known gap files. Configurable/global
shortcuts, shared preference/notification surfaces, updater, full icon/window
integration and remaining diagnostics are still open, not business exclusions.
ASUS SSH still refuses localhost:1022; the device is offline. No board flash,
EEPROM or device-setting write occurred. Banner click/hidden-window and complete
physical acceptance remain unverified. PR #1 remains draft; no full-production
or whole-repository-superiority claim is made.
atomicdeploy commentedon Oct 10, 2026
Current-hardware PCController contract checkpoint e75a26a is tracked in #6 with separate source/build and physical/surface acceptance checkboxes. Does not close the broader #3/#4/#5 backlog or certify production completion.
atomicdeploy commentedon Oct 10, 2026
Current-hardware contracts checkpoint and exact exclusions are tracked in #6, commit 11cf029. Both busy-wire and polling firmware build locally, versions match 0.2.6, and candidate outputs preserve the existing production app. No physical flash/EEPROM or production rollout occurred. This does not close donor-wide parity, future drivers, cross-owner LED macros or all-surface GUI acceptance. Final CI: https://github.com/atomicdeploy/PakarController/actions/runs/38045516420 .
atomicdeploy commentedon Oct 10, 2026
Remote firmware + telemetry + PU850 route feature checkpoint 01a898e is tracked in #7 with explicit completed/open checkboxes. Existing broader donor/UI/mobile and physical production acceptance are not closed by this feature. Draft PR #1 retains all changes.
atomicdeploy commentedon Oct 10, 2026
Published ecf882d (ecf882d). This is a durable reuse-process and actual-tool import checkpoint, not full production acceptance. Same source/evidence ledger: 1868 files, 39 compared, 1829 pending, 21 reviewed gaps. Exhaustive lookup exposes all paths; specialist routes miss 1338 (309 Pealayer). Exact omission code/reason/disposition and issue routing now appear directly in lookup/report. Actual Pealayer crate/resource guard runs before native build and in CI. Local routing/hash/gate/adversarial, readonly report, storage-plan and six crate/resource negative tests passed. Canonical Pealayer clean; all 493 live hashes match. No compiler, package copy, cache cleanup, firmware write or app replacement. See docs/REUSE-PREFLIGHT-RECEIPT.md for exact consultation and next-file queue. Master remains open; CI for this new commit has not yet been accepted.
atomicdeploy commentedon Oct 10, 2026
Checkpoint e0f0839 (draft PR #1), pushed and clean. Actual Pealayer appearance.ts functions and four donor tests imported; shared palette embedding/stale-generation gate, themed browser preferences, fixed geometry/amber highlight, alternate cell surfaces and responsive shrink behavior. Ten appearance plus existing Web/audit tests pass; screenshots are read-only SIMULATED loopback, not the native app or a board. Actual new Pealayer storage summary/equality code imported; build preflight caught concurrent donor drift before compiling, then exact changed sources were reread and hash-bound. 1,869 donor files / 42 compared / 1,827 pending / 23 reviewed gap files; Pealayer 494 / 20 / 474 / 10. App/styles full-read notes do not certify full-file parity. Native/Web/mobile live appearance transport, remaining generic donor tools/UI and physical acceptance remain open. Affected ESP busy-wire compile passed with CI-locked dependency versions; no flash. ASUS SSH refused and ledboard.local did not resolve. Native/Android/AVR/donor builds, running app and private preferences untouched; no blocked cleanup rerouted. Prior ecf882d runs 38059703363/38059700392 passed all jobs, not proof of this new commit. Exact mappings/recovery/limits: docs/WEB-APPEARANCE.md, docs/FILE-COMPARISON-RECEIPTS.md, docs/REUSE-PREFLIGHT-RECEIPT.md.
atomicdeploy commentedon Oct 10, 2026
Mobile settings/context continuation in 8b32e4b: actual Wi-Fi/cloud/identity/access editors, ACK/readback and captured-owner auth/rename handoffs; 46 passing Flutter tests, inspected phone/tablet simulated renderer, warm preview APK only (debug signing). Full mapping/remaining checklist in #4 and MOBILE-SETTINGS.md. All source quality passes; no CI wait, real-board write, native app replacement or complete production claim. Mobile firmware/localization/appearance/physical/signing and exhaustive donor acceptance remain unchecked.
atomicdeploy commentedon Oct 10, 2026
Production progress checkpoint 5f00df3: real mobile firmware/ISP/full backup/document workflows, 73 passing Flutter tests, inspected zero-mutation phone/tablet renderer evidence and compiled preview APK. Exact safety/mapping and remaining acceptance on #7/#4/#3 and docs/MOBILE-FIRMWARE.md. Prior apps/settings/previews/hardware preserved, source versions 0.2.7. No CI wait. Main goal remains unfinished: native runtime, ASUS/LAN/physical flashing/peripheral/power-loss, actual Android/provider/signing, remaining donor and UI parity still require completion.
110 remaining items
atomicdeploy commentedon Oct 19, 2026
Duplex control checkpoint — f9bfe6d
Source: f9bfe6d
Contract and limitations: DUPLEX-CONTROL.md.
APIs remain unversioned. HTTP uses request/results plus cursor event reads; WS/MQTT are persistent bidirectional transports. n8n/Telegram/Bale can later consume this contract; no bot/token/automation added. Temporary fixture broker/tunnel expired; production broker, relay and LEDs were unchanged. Master production acceptance remains OPEN.
atomicdeploy commentedon Oct 19, 2026
Automatic connection and hostname/IP continuity checkpoint
Source pushed to main: f469e0b. This is source, fixture and SDK-build evidence, not an installed-client or production deployment claim.
Contract and limits: https://github.com/atomicdeploy/PakarController/blob/f469e0bf98ae495732b4e940eb9343500f5df82d/docs/CONNECTION-LIFECYCLE.md
Fresh PR listing is empty. Source push triggers asynchronous CI; no CI wait or all-green claim. Device-deployment opt-in remains absent. Master production issue stays OPEN.
atomicdeploy commentedon Oct 19, 2026
USB demand/native OTG checkpoint: implementation 2c1bdc7, final build receipt follows on main.
Exact donor/target/proof bindings stay in the existing file-comparison ledger, REUSE-PREFLIGHT-RECEIPT.md and docs/USB-OTG.md. Master issue stays open. CI was queued, no open PRs were found, and no CI wait/override was used. The first issue-comment attempt failed TLS before posting; the retry checked for duplicates.
atomicdeploy commentedon Oct 19, 2026
Tablet recovery checkpoint: a218814 (main, pushed).
Actual PCController mobile/lib/unified/transport.dart reread through EOF at unchanged SHA5263044d/revision b0111ae0. Existing authoritative file-comparison ledger updated; 319/4697 comparisons is not full donor parity. Initial focused tests exposed the saved-Disconnect regression and now pass after correction. Current-head CI asynchronous; not awaited or claimed green. Production issue remains OPEN.
atomicdeploy commentedon Oct 19, 2026
App delivery checkpoint: ca50045 (implementation), 5d46e05 (actual publication receipt), main pushed.
Current-head CI is asynchronous, not awaited or claimed green. Master acceptance stays OPEN. Useful commands: node tools/verify-client-service.mjs and node tools/verify-presentation-service.mjs (read-only Internet verification). Root-local operator presentation JSON_FILE publishes a validated newer data revision without an APK. Existing source URLs/settings remain configurable and are not silently overwritten.
atomicdeploy commentedon Oct 19, 2026
ASUS-first delivery checkpoint from clean main
5d46e05ac3c7bf1e916fdc83f9172cdc35cf2fdf; all source versions remain 0.2.8.4bf757cf3d8dd38858de263f29ffe9499820c1c8bdcab06184d36fa9854bd0da, 31,710,208 bytes. Prior executable and preferences were preserved. There was no running owner before replacement. The first startup IPC check was too early and its failure receipt remains preserved; independent same-session observation then confirmed build21/PID18568/ready/single-instance and captured the actual framebuffer. USB selected, not TCP/Wi-Fi. This is desktop runtime evidence, not board actuation proof.4aff174e7f5ebfa5d59366b81fb4357ca20787628c9c66c9027f87e8822f22f3, 60,754,697 bytes. Maintenance production-hold build, existing debug signing identity; not a production-signed Android release. No redundant Flutter rebuild or app-data clearing.76f6e79fa7e37389df2f0ce4b17ca96b54dbd335e4e0b664075e38f0f2a72801. Copied to ASUS prepared-firmware and independently SHA/size verified. No flash.3d3488daf97fa9d0bae1637c913b22106ad8f4c8f254ec2433ed78b1c5743f0b, staged/hash-verified on ASUS with application HEX and chain metadata. Flash usage 32,126/32,384 bytes and SRAM 1,478/2,048 bytes remain resource/physical acceptance concerns, not assurances of hardware health.90:70:69:EA:C8:00on native USB COM23, while the prepared profile uses UART0 and the desktop selects COM22. User asked to move to the USB-to-UART connector; no native-USB protocol success claimed.No board firmware update, reset, LED command, AVR programming or full repeated test suite was performed. Production hold remains in force; no hardware/master acceptance boxes closed. ASUS tunnel briefly flapped but returned; application owner remained unchanged. One canonical cache per component, no clean or duplicate debug build. Local handoff manifest: outputs/PakarController/verification/prepared-delivery.json; actual desktop runtime receipt/screenshot preserved separately.
atomicdeploy commentedon Oct 19, 2026
Actual client delivery/read-only communication checkpoint (no board flash or output change):
esp32s3-907069eac800, boot07f360f9587900304680f2d8287e3cb6; actual snapshot reports AVR0.2.8 online, zero AVR/ESP UART errors and TM1637 ACK. This does not prove optical or audible behavior. The old native-COM23 introduction timeout is retained as resolved history, not a reason to flash or bypass admission.4aff174e7f5ebfa5d59366b81fb4357ca20787628c9c66c9027f87e8822f22f3verified. Actual app launch and screenshot show acknowledged Pakar Table, all80 cells, live state at ledboard/192.168.1.191, indicators ON and multiselect OFF. It was then replaced on ADB by the phone at the user's request.Small local receipts/screenshots: ASUS-prepared-usb-handshake.json, ASUS-both-clients-live.json, tablet-build21-connection.png, phone-build21-connected.png, phone-build21-install-restored.json under outputs/PakarController/verification. Media backups remain preserved on ASUS. These are actual install/runtime/read-only state observations, not simulated UI, output-command acceptance, LED optical proof, a long soak or completion of issue#2. No firmware jobs, resets, LED commands or melodies were started. No rebuild/CI wait needed for these existing hash-verified packages.
atomicdeploy commentedon Oct 20, 2026
First-wins incremental checkpoint: 86b88f5 pushed. New keycontroller only (ESP MAC 90:70:69:EA:AF:D0, COM24); existing ledboard untouched. ESP full original 16 MiB flash backed up; new image flashed and esptool hash verified. Live keycontroller.local on DRS Tether, AP+station, advertises first-wins, 9 keys x 2 groups x 12 pixels =216, RGB, RMT/DMA, zero observed TX failures (not optical proof). AVR ISP signature 1E950F, original flash/EEPROM/fuses backed up, new application+Urboot image programmed and readback verified, EEPROM preserved, NO fuse writes. Critical remaining gate: UART recovery failed, zero valid frames, Prog remains armed; button game is NOT accepted operational. Requested exact GPIO17/18 UART check. Desktop build22 deployed on ASUS with graceful IPC replacement, rollback/settings retained, PID6112, WebSocket observed. Android build22 installed, installed APK SHA matched, both temporarily offloaded videos restored without errors, app launched. Builds: ESP/AVR, native Check+Release, Flutter Analyze+APK and six pixel diagnostics tests passed; renderer role test passed. Remaining: live AVR UART/buttons/relay/optical acceptance, configurable game palette/settings, native216-pixel diagnostics, free-position nine-key layout, deeper parity. Package identities are dirty-source build22 subsequently checkpointed at this commit, not embedded-commit attestation. No production checklist closure.
atomicdeploy commentedon Oct 20, 2026
Checkpoint 8ce8f29: keycontroller enabled-box settings and configurable idle/winner/other RGB palette.
Old production ledboard was not changed. Acceptance issue remains open. User wiring confirmation supersedes the earlier uncertain UART diagnosis.
atomicdeploy commentedon Oct 21, 2026
Source-only working-tree checkpoint (not committed/deployed or hardware acceptance): first-wins winner edges now feed the existing native Pealayer-derived message hub and Windows Shell notification backend, retaining optional sound preferences and suppressing duplicate/reconnect announcements. Flutter has persisted foreground winner alerts and optional sound. Both clients render the two actual published 12-pixel groups rather than inventing RGB from palette targets. USB snapshot validation now admits the first-wins 18-group/216-pixel role separately from the 80-cell/480-pixel table, preserving peer identity validation and on-demand pixel requests. Focused canonical native tests: 3 passed (winner policy, winner edges, keycontroller USB snapshot); Flutter analysis clean and 2 focused winner/preview tests passed. Production board was not touched. No live FPS, Windows visibility/audio or on-device acceptance claimed. Remaining user-requested work: subscribed high-rate pixel telemetry/UDP evaluation, table custom RGB/persistence and recent-color picker, neighboring splash/explosion/laser, fully host-owned hidden Snake, deployment and visual verification. Existing white/winner/loser and optional flash/ring-chase firmware implementation was reviewed and retained, not reported as newly physically verified. Existing donor ledger remains open: 329 hash-bound comparisons, 4368 pending, 268 known gaps. No production checkboxes closed.
atomicdeploy commentedon Oct 21, 2026
Keycontroller checkpoint: configurable winner/reset melody names (including silent), persisted ESP settings and AVR-applied receipt, capability-gated Rust/Flutter/Web controls, direct round reset in game panel. AVR repeated reset while already ready no longer restarts/cancels melody; won-to-ready retains configured reset cue. AVR ISP update verified with EEPROM preserved. ESP OTA running-image full SHA256 verified: 3c7f2388c8783beb8bc39e9c200988088c185bba65d33889f333d60b96c9ce73. Audio tests, 2 native key-settings tests and 4 Flutter game-settings tests passed; Android analysis clean. ASUS native replacement hash 3a4e6037895c9a30c429ac47abc1f31476d1e0deff56265cc8d20e7c97f25aaa; runtime confirmation pending. Android APK built/transferred but install rejected for insufficient phone storage; old app/data preserved. Separate LED stuck report: GPIO4 capture matched all5184bits/216pixels with zero timing errors; user identified faulty wiring. Not optical acceptance. Web browser reconnect currently times out during wiring work; do not close production acceptance. Existing nine-box settings and station/AP policy preserved. No assertion of complete donor parity or zero remaining bugs.
atomicdeploy commentedon Oct 22, 2026
Keycontroller four-box reset regression checkpoint (not full production acceptance): - ESP installed via local Async OTA; complete running-image SHA-256 readback and VALID selected/running slot verified:
868831269524dd13a88d718df10cdae71f062f3fcd67074afdff751c8c27dabb(2,312,704 bytes). Boardesp32s3-7ce8b1b06110, bootfcee210a6c6a7dd16b49bfa001d67557; same-peer WebSocket verified. No other board touched. - Runtime hostnamekeycontroller; four enabled boxes; persistent silent Off; auto-reset 0. This boot automatically recovered the AVR mask/audio admission; GPIO21 observed released. - Source repairs: reset-counter observation must preserve a winner in that same frame; restating the current baked mode is an idempotent ACK across USB/REST/WS/cloud/AVR. No new delayed network-start reset retained. Scene, role renderer, reset/audio guards and radio mock tests passed; actual ESP/AVR builds passed. Worktree remains preserved, with source hashes in the existing evidence ledger; no claim that all dirty concurrent work is a reviewed release commit. - AVR candidate95ff7cb02d308a03dc3556432ba0ef34228118b8f1e36a89066caff02449db6cbuilt and verified on ASUS. Urboot job 1 stopped at durable Prog admission:write_attempted=false,programmed=false. No AVR application/bootloader programming or fuse write occurred; normal boot-journal and attempted Prog-latch EEPROM activity is distinct. AVR boot count increased during that admission and it reports BORF; a power/wiring cause is not physically proven. Application recovered online/mask-confirmed, Prog clear. - Rainbow was physically confirmed by David before the update; rainbow is selected again on the new image. New-image winner hold, GPIO reset, four physical key order, flash/melody/effects and power integrity remain OPEN. Awaiting a fresh button test; no optical success inferred from TX counters. - Full file-comparison report regeneration encountered unrelated staledesktop/src/bridge_events.rsevidence; it was not silently rehashed as reviewed.atomicdeploy commentedon Oct 22, 2026
Keycontroller presentation checkpoint (source/build only; not deployed): implemented persistent timing and per-group winner/loser color/motion patches across HTTP, WS and fenced USB. Default: two 500 ms winner-button flashes, 250 ms gaps, 750 ms loser fade, shared travelling chase through enabled losing indicator groups. ESP schedules finite winner tones from the flash clock; other named melodies retain their own timing. New AVR-advertised game-press capability uses the normal winner latch and actual AVR ACK. Web, Rust and Flutter controls added; existing native/mobile live pixel preview retained. ESP candidate compiles (2323131 bytes); AVR candidate compiles (31502 flash / 1642 static SRAM, stack margin still requires hardware testing). Flutter analysis clean and 2 focused presentation tests pass; native focused build/test ongoing. Entire comparison-report regeneration remains blocked by an unrelated stale bridge_events.rs evidence entry; no blanket refresh or bypass. Hardware hold: latest 70 ms audible test still incremented AVR boot count with BORF after the reported voltage adjustment; no further audible test or deployment. Production/human acceptance stays open.
atomicdeploy commentedon Oct 22, 2026
Follow-up verification: canonical native release-profile focused test build completed; both game_presentation tests pass, including inherited-value bounds before USB narrowing. Existing unrelated warnings remain. Final ESP build and both role renderer fixtures pass; Flutter analyzer and both focused tests pass. No new firmware/client package deployed and no audible/physical acceptance claimed.
atomicdeploy commentedon Oct 22, 2026
Actual deployment follow-up: fixed missing network pixel observation in ESP/native/Flutter with on-demand WS pixel-subscribe/pixel-frame, peer-bound samples and no command-clock renewal. Native release + focused test pass; Flutter analyzer + foreground/reconnect test pass; APK built. ASUS staged APK SHA a932b71ad114b08b275a187e5fc97f87ed8dc4fe46fe809248e689a01abbc4e1 and ESP SHA be34c0fec48b88f73ae7c25c0fdadc8b5f91087e9d9d276515b6e42062215a4d verified. AVR Silent was set On and read back via Rust network CLI. OTA attempt aborted after tunnel dropped; running image/boot confirmed unchanged, backup verified. Background updater/downloader launch subsequently blocked by execution policy; no workaround attempted. Old ASUS PID5416 remains, final WS/online false and stale pixels; no claim of completed runtime repair. No authorized Android ADB device. Manual/approved deployment path and Android attachment required; all physical/client acceptance gates remain open.