Skip to content

Contextual board discovery and independently acknowledged UI #10

Open

Description

@DRSDavidSoft

Board context must come from a fresh peer capability response, never saved UI defaults, hostname, pixel count, or a generic connection flag.

  • Fresh capability manifest shared by JSON/WebSocket and append-only USB status
  • Independent Display, Text and Buzzer availability; TM1637 needs physical bus ACK
  • Contextual native panels, menus, shortcuts, settings, title and status bar source
  • Contextual embedded Web and Table-only Snake presentation
  • Stale/disconnect/cross-board cancellation and guarded domain commands
  • Firmware host policy and Web regression tests; both ESP/AVR profiles compiled
  • Read-only Table/non-Table/unacknowledged Web screenshots
  • Compile and execute native Rust tests through the guarded canonical cache — 163 passed at 73769c6
  • Replace running desktop candidate and verify actual native screenshots — 2bdbf76, PID79784, actual framebuffer; physical peer offline
  • Deploy paired firmware and verify physical ACK loss/recovery and both transports
  • Generic PCController profile/identity adapter and variable hardware inventories beyond the currently acknowledged Pakar contract

Related: #2, #3, #4, #6, #9. Guarded native tests now pass in the canonical cache; live replacement/paired deployment remain separately tracked. ASUS SSH localhost:1022 is refused. Source and fixture proof is not production or physical completion. Exact files, hashes and evidence follow in a checkpoint comment.

Activity

  1. DRSDavidSoft commented on Oct 10, 2026

    @DRSDavidSoft
    ContributorAuthor

    Published source checkpoint 433d0f6, on PR #1; no CI wait.

    • Fresh per-route capability manifest; no Table inference from hostname, pixel count, saved layout or online flag.
    • Independent Display/Text/Buzzer gates, including fresh TM1637 physical bus ACK; numeric display controls do not require Text.
    • Native source gates panels/menu/shortcuts/settings/title/status bar/workspace restore; disconnect/switch cancels unsent Table work and streaming.
    • Shipped Web regression tests and actual read-only browser screenshots: unacknowledged, buzzer-only controller, Table.
    • Snake is Table presentation; First wins additionally needs acknowledged inputs AND outputs.
    • C++ policy and existing protocol/hardware/access/update tests; both AVR/ESP busy-wire and polling compile.
    • Exact donor ledger: PCController peripheral-availability.ts + test, Pealayer board_info.rs fully read; status_bar.rs remains screened only. 1884 inventoried, 51 complete comparisons, 1833 pending, 32 known gaps.
    • Native Rust compile/tests/runtime and app replacement: canonical cache exceeds its unchanged 8 GiB guard; no bypass/extra cache.
    • Physical paired deployment/recovery and USB/Wi-Fi tests: ASUS SSH localhost:1022 refused; ledboard.local port 80 unreachable.
    • Genuine generic PCController identity/profile/inventory adapter, arbitrary geometry/modes and independently routed multi-board workspaces. This is not a claim all generic board protocols are implemented.

    Contract, exact source mapping and screenshots. Current running native app and physical boards have NOT been replaced/flashed. Source parsing, firmware compilation and Web fixtures are separate from native/physical completion. Tracking #10.

  2. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    Owner

    Board and running application identity

    Three different values now have separate owners:

    Value Owner Settings/API
    Board display name User, persisted atomic schema-2 record Board identity page and display_name
    DNS hostname User, same persisted record hostname; optional .local on input
    Application ID, name, title, PNG Running firmware Read-only application; APP_ID / APP_NAME / APP_TITLE / APP_ICON_PNG_BASE64 build macros

    The Table build reports Pakar Table by default; the non-Table profile reports
    Pakar Controller. APP_TITLE defaults to APP_NAME. No identity is inferred from
    hostname, LED count, previous selection or saved client preferences.

    Native header, viewport title/window/taskbar artwork, tray artwork/Show label,
    tooltip, About and IPC application snapshot follow the selected fresh peer.
    Web header, document title, application description, favicon and touch artwork
    follow that same manifest. Disconnect/auth loss/stale status resets to client
    fallback, not another board. The package/executable, update product ID, instance
    GUID/IPC ownership, installed shortcut and Windows app registration stay
    PakarController: changing these per selected peer would break single-instance
    ownership and host update identity. They are explicitly the host, not board firmware.

    HTTP / CLI / shell

    Authenticated GET /api/v1/device/name returns hostname/fqdn/canonical_url,
    display_name, schema/revision, persisted state, application and apply status.
    POST uses form fields hostname and optional display_name; omitted display
    name preserves it for old clients. Both fields validate before one verified,
    atomic commit. Credentials and network configuration are not rewritten.
    Display-name-only and no-op changes do not restart Wi-Fi. Hostname changes
    schedule network/AP/cloud/discovery rename after the response. mDNS application
    TXT and SSDP friendly/model names also report the appropriate owners; human
    names are XML-escaped in the description document.

    PakarController.exe --command device identity
    PakarController.exe --command device rename ledboard.local
    PakarController.exe --command device label Living room table
    PakarController.exe --command device configure ledboard.local Living room table

    Telnet: device identity, device rename HOST, device label DISPLAY NAME.
    The existing authenticated hostname route is retained, not replaced with an
    incompatible endpoint. Human names are 1..63 UTF-8 bytes with no C0/C1 controls
    or ASCII edge spaces. Hostname validation remains strict DNS-label normalization.

    USB

    Identity capability bit 13; append-only status byte 37 carries revision low byte.
    GET 0x59 payload nonce,offset_u16LE; reply 0xB2 carries
    nonce,revision_u32LE,total_u16LE,offset_u16LE,up-to-39 JSON bytes.
    The stable JSON is schema/revision/hostname/display_name/application, no secrets.
    Client checks request sequence, nonce, revision, size <=8192, ordered offsets,
    UTF-8/JSON and identity fields. Two-second per-response and eight-second whole
    read deadlines prevent a hung transfer. Ten-second read-only refresh catches
    revision-byte collisions; unchanged refresh retains current artwork.

    Existing name write 0x55 retains reset=0, hostname chunk=1, commit=2;
    display-name chunk=3 is additive. Each staged write waits for matching sequence
    and opcode ACK, then both names must match authoritative readback. Uncertain
    mutations are not replayed. USB metadata belongs to that port, never Wi-Fi.

    Actual donor code and explicit remaining work

    Pealayer src/branding.rs was completely reread: actual icon_data_from_bytes,
    source signature, cached native multi-viewport publication and title/tray update
    lifecycle are adapted; playback state becomes peer application metadata.
    HeaderBar.tsx's application-name/artwork ownership binds real reported values.
    PNG is inline, <=4096 base64 characters with IHDR dimensions 8..256 before
    decode; external artwork URLs/path reads and per-frame/disk caches are absent.
    Same master generates firmware, pre-login Web and host fallback artwork.

    Pealayer config.rs resolver and PU LocalLib/Commands.cpp Hostname are screened
    slices, not complete comparisons. Entire-file review remains pending in the
    existing ledger. Local filesystem icon overrides/presets, high-DPI editable
    masters, full WebPlatform shell actions and generic PCController adapter are
    still useful open work, not silently excluded or asserted complete.

    Acceptance

    Source versions stay consistent at 0.2.7. Both ESP link-mode candidates compile:
    busy-wire RAM 56460/80192, IRAM 63055/65536, IROM 726604/1048576;
    polling RAM 56436, same IRAM, IROM 726440. Candidate SHA-256:

    • busy-wire: ffc80e8f0e49355646312468467353614b27d61cdfd77cc46d6539eb6c3d1aca
    • polling: 994ca7a64853b5d0fd79075395a9b44a5c0495874a0796c2d8d67e59c87e835a

    These are local build candidates, not deployed identity or signed authenticity.

    • Actual embedded Web identity/access/context/branding tests: owner rebind,
      title/header/favicon, UTF-8 and invalid artwork bounds, no-op/label-only save.
    • Actual DeviceIdentity host tests: atomic paired fields, schema-1 migration,
      reboot, no-op writes, failed migration/commit preservation, corrupt recovery.
    • Rust unit/CLI/USB runtime and native window/tray acceptance: wrapper stops
      before compilation at 13.49 GiB cache versus 8 GiB policy. No bypass/replacement.
    • Physical Wi-Fi/USB identity/OTA/AP/discovery: ASUS SSH localhost:1022 refuses;
      no deployed-board acceptance is claimed.

    CI is asynchronous; source and build candidates are not the running executable
    or board. See issue #10 and the preflight receipt for current execution results.

  3. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    Owner

    Transport dropdown checkpoint: replaced the front-panel WebSocket and USB read-only badges with actionable native dropdowns. [x] Wi-Fi/USB/automatic command route choices; [x] current endpoint/port and live state; [x] lazily detected real USB ports with errors and unavailable configured ports; [x] USB disconnect/reconnect and endpoint/auth settings; [x] same-endpoint WebSocket reconnect now works in worker source; [x] custom OS serial path fallback; [x] actual Pealayer menu/status full reread and hash-bound mapping, no whole-product parity claim; [x] source wiring/menu guards, Rust parsing, reuse/file-comparison tests. [ ] Native Rust compilation/popup-pointer execution. [ ] Replace running app and inspect real native screenshots. Guarded Test stopped before Cargo: canonical desktop/target is 13.49 logical GiB (16068 files) against 8 GiB policy. No cache purge, guard bypass, duplicate cache, firmware build or native replacement performed. Exact source/provenance: docs/CONNECTION-CONTROLS.md and docs/REUSE-PREFLIGHT-RECEIPT.md. Pealayer tracked inventory drift was selectively refreshed; donors untouched. This is a published source change, not already-visible runtime acceptance.

  4. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    Owner

    Web follow-through published in def43c7: actual WebSocket reconnect/disconnect dropdown, independent HTTP refresh and stale-socket ownership guard; grouped settings uses shared capability-gated page catalog. Checked/unchecked acceptance and deployment blockers are recorded in issue #4. Native transport dropdown source remains from 38deffe; no new live desktop/board deployment is claimed.

  5. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    Owner

    Checkpoint 782da85: Flutter now follows the actual PCController ready/advertised conjunction and existing native/Web context. Independent ACKs, geometry/modes, identity, owner revision guards and phone/tablet tests pass. 29 Flutter tests, clean analyzer and warm preview APK. Exact proof/pending: docs/MOBILE-CONTEXT.md; full #3 checkpoint has source links. Physical Android/board, generic profiles, complete mobile settings/locale and native runtime remain unchecked. No CI wait or old-app replacement.

  6. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    Owner

    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.

  7. atomicdeploy commented on Oct 11, 2026

    @atomicdeploy
    Owner

    Current native and physical Android previews are now actually running the capability-based UI. Offline screenshot hides Table/Game/peripheral cards; each connected board still requires authoritative individual ACK. Canonical Android launcher omission corrected in 0054114; packaged PNG matches native/Web master. Native 115/115 and Flutter 73/73 passed before the defer-tests instruction. Physical board hostname is presently unresolved, so paired board/profile switching acceptance remains open; preview runtime is not full generic PCController adapter completion.

  8. atomicdeploy commented on Oct 11, 2026

    @atomicdeploy
    Owner

    Checkpoint b3e9d19 adds actual HTTP board/boot fields and TUI/server epoch fencing. 151 native tests, C++ policy tests, ESP8266 compile, quality and staged CLI checks pass. Exact contract/limitations: https://github.com/atomicdeploy/PakarController/blob/b3e9d19/docs/HTTP-PEER-FENCING.md . This is TUI HTTP ownership only: GUI/Web/mobile/other transports and AVR-only reset still pending; keep issue open.

  9. atomicdeploy commented on Oct 11, 2026

    @atomicdeploy
    Owner

    Web source ownership checkpoint 5b54e4d is on main: shared request deadlines/error codes, board/boot-pinned mutations, one owner per settings/batch, stale draft/read revocation and no replay. Full quality and ESP8266 compile pass; source/DOM/HTTP doubles only, no physical deployment. Exact donor paths/hashes/remaining contracts are in docs/file-comparison-evidence.json and docs/FILE-COMPARISON-RECEIPTS.md. Overall4271/104 comparisons;4167 pending,71 gaps. GUI/Flutter/other transports and integrated S3 remain pending. See the new #2 checkpoint; no complete parity or physical checkbox promoted.

  10. atomicdeploy commented on Oct 11, 2026

    @atomicdeploy
    Owner

    Native HTTP queue ownership checkpoint 73769c6 (source version 0.2.7).

    • Revocable board/boot-scoped native HTTP queue; eight-second admission lease, fresh same-peer capability checks and a second admission check before writes.
    • Shared native/TUI strict fence validation; pinned nested settings/maintenance/identity requests and no redirect following.
    • Boot/endpoint/status-loss draft revocation, same-boot public readback, correlated settings/maintenance failures and secret-free retired endpoint receipts. Failed correlated results are not diagnostic recovery.
    • Telemetry POST uses the actual validated status pin.
    • Guarded native Test: 163 passed / 0 failed. Full source-quality passed before final receipt/fixture correction; final focused API/render/settings/peer/versions/comparison guards passed afterward.
    • Full actual PCController session.go and session_test.go reread, unchanged hashes 1bf4d52… / ff6c7b2…; exact consumers/proof anchors and useful omissions retained in the authoritative ledger.
    • Desktop release/staging/live framebuffer verification — currently building, not claimed yet.
    • Native WebSocket/USB, mobile/standalone CLI/cloud ownership, cancellation inside multi-step maintenance, remembered pairing and AVR-only boot identity.
    • Server epoch check for hardware-affecting ISP probe GET (GET/HEAD currently exempt).
    • Integrated ESP32-S3 and physical ESP/AVR/LAN/multi-client tests.

    Live peer-binding gate caught two new PCController control/mirror_segments files. Selectively refreshed only PC inventory at clean donor HEAD 38f48d06f6922225e9a100d0afc2d787b5a000bd; all 20 already compared source hashes match. New files stay unread/pending. Current coverage: 4284 inventoried, 106 compared, 4178 pending, 73 known gaps — not full imports or superiority.

    Prior exact-head 5212914 Build/CodeQL passed. New CI is asynchronous; no CI wait. No open Pakar PRs were found and no completed Copilot review appeared. ASUS SSH localhost:1022 refuses connections and ledboard.local does not resolve. No board deployment/physical acceptance, no Android/firmware/donor builds, no debug cache or cleanup. Keep #2/#10 open.

    Exact implementation and limits: desktop/src/peer_http.rs, desktop/src/main.rs, docs/HTTP-PEER-FENCING.md, docs/file-comparison-evidence.json, docs/FILE-COMPARISON-RECEIPTS.md at this commit.

  11. atomicdeploy commented on Oct 11, 2026

    @atomicdeploy
    Owner

    Live desktop follow-up: implementation 2bdbf76, ownership tests 73769c6, ledger-only checkpoint c1517b2 (no desktop input changes after the compiled commit).

    • Guarded Release/stage/CLI probe and actual production replacement, version 0.2.7.
    • Running GUI PID79784, production SHA256 4440b2b24c622a5bf58b5c466369fb621f453870a2e5bca1d567b0c4df81e435,25394176 bytes.
    • Actual internal framebuffer captured and inspected:1999x1453, SHA256 64c293dde2d569eb1aa6f0b7cfdf1e90eda8b1bf027165918d28bd9137b8ed08. Offline UI contains no invented board controls; repeated WebSocket failures coalesce and distinct transport/cause failures remain visible.
    • Fixed the actual capture-discovered offline bootstrap settings/remote-job preflight storm by requiring fresh selected Wi-Fi status. Source guard and guarded Release pass. No repeated full incremental native suite:163/163 passed at the ownership checkpoint; CI remains asynchronous.
    • Preferences unchanged byte-for-byte, SHA256 22f8aeed4bf0cebc3116c670f681d90a3d1b1b833ece3de23a491d0d896a8711. Prior B5133DC9… production retained as PakarController.before-http-ownership.exe; older rollback preserved. Stage payload moved instead of keeping another duplicate. Quit guard held a transient exiting process; fresh inventory then verified no owner. No forced kill/draft discard.
    • Stage donor-drift guard repaired without bypass: all43 Pealayer compared source hashes still match clean fbf2d162…; inventory refresh alone adds2 paths/removes1 generated bundle. New files stay pending. Combined authoritative coverage 4285 files /106 compared /4179 pending /73 known gaps.
    • Windows tray tooltip startup E_FAIL(-2147467259) remains visible and tracked in Restore native Windows notifications and complete remaining Pealayer desktop parity #5. tray_available=true is object presence, not tooltip/notification Shell success. Source points to main.rs tray.set_tooltip / windows_tray.rs adapter; no full Shell recovery claim.
    • Physical ESP/AVR and integrated S3, non-HTTP/mobile/AVR-only ownership, probe GET atomic fencing, complete donor imports and glib security Resolve blocked glib security update without dropping Linux tray features #17 remain open.

    Both 73769c6 Build/CodeQL completed successfully; 2bdbf76 CodeQL succeeded and Build was still in progress at the last snapshot. No CI wait, no open Pakar PRs observed, no completed Copilot review claimed. Final documentation-head CI is separate. The app is genuinely offline at hostname-first http://ledboard.local; no board/firmware/Android deployment or physical acceptance occurred.

    Local user deliverables: outputs/PakarController/Native-HTTP-Ownership.json and desktop-http-startup.png; binary is the existing production/PakarController.exe. Master production issue stays open.

  12. atomicdeploy commented on Oct 11, 2026

    @atomicdeploy
    Owner

    Hardware-affecting GET ownership checkpoint

    Commit: 79c28571aa7a60b6441d10ebb45fefca0ff7429a on main. Production issue remains open.

    • Close GET/HEAD epoch exemption in firmware/esp8266/src/WebAccess.h. Supplied pairs are validated regardless of method, including ISP probe and pinned readback. Optional header-free compatibility remains explicitly unfenced.
    • Recheck the queued request in actual loop authenticate() before hardware access. Stale pairs produce HTTP409 peer_changed, accepted:false; no replay or inferred output.
    • Execute real middleware and async queue with transport/auth/SDK doubles: all-method mismatches, matching/partial/malformed pairs, auth/origin ordering, legacy compatibility and retirement before simulated hardware dispatch. tests/web_access_fence_test.cpp and both protocol runners contain the regression; source guards check actual probe order.
    • Shared C++ protocol suite passed; all source-quality commands passed (resumed at the stale route check after repairing its exact target references, no repeated compiler suite).
    • Rebuilt integrated ESP8266 busy-wire in its existing warm cache: 945392 bytes, SHA256 cbf2f9a2108ce47c4caa9ec337296f8f591ed0e2407e2177f431449e865c3ee4; RAM56620/80192, IRAM63055/65536 including32KiB instruction cache, flash code895328/1048576. Source versions remain0.2.7.
    • Fully reread PCController Tools/Controller/internal/link/session.go and session_test.go, original hashes 1bf4d52d6810630d1fd4d5f0a0c18254ccdd73c0942dbe94f4c97a06360680c5 and ff6c7b21f72bfb944d232c87210f8ffa139dfe016e8b5756f2582604489fffc4. Admission/dispatch adaptation and exact useful omissions remain in the same ledger. Strict live peer-binding gate passed.
    • Reviewed shipping diffs and rebound affected file/route hashes plus anchors; six existing PU850 references and their Markdown line anchors corrected without altering classification or donor hashes. Ledger:4285 files/106 comparisons/4179 pending/73 known parity gaps—not complete imports or superiority.
    • Prior exact-head c1517b2 Build and CodeQL both succeeded; fresh open PR listing was empty. No merge, donor comment resolution or completed Copilot review is inferred. New checkpoint CI runs asynchronously, without waiting.
    • Preserved actual desktop PID79784, settings and rollback. No native/AVR/Android/donor rebuild, new SDK/cache/debug/incremental output or physical deployment.
    • Deploy to the actual board and verify no SPI/reset on stale probe, accepted current probe and actual paired peripheral/update recovery. ASUS SSH localhost:1022 remains refused; ledboard.local unresolved.
    • Complete native WebSocket/USB/mobile/standalone CLI/cloud epochs, AVR-only identity, remembered pairing, S3 application/DMA, Windows tray recovery and remaining donor/UI/physical production gates.

    Middleware host tests do not validate Basic-auth parsing, SDK entropy, TLS/LAN, actual firmware dispatch on silicon or physical ISP. The simulated queued probe handler exercises real queue/fence primitives; actual firmware handler ordering is source-guarded and compiled. Existing auth/origin protections remain independent of correlation. See docs/HTTP-PEER-FENCING.md, docs/REUSE-PREFLIGHT-RECEIPT.md and docs/file-comparison-evidence.json.

  13. atomicdeploy commented on Oct 18, 2026

    @atomicdeploy
    Owner

    Connection-resilience checkpoint: a2bc42c. This does not close #10 or #2.

    • Actually observed the ASUS owner over USB COM22 and hostname-first Wi-Fi in multiple complete ten-minute windows. Original baseline:605.38s/112samples/27 Windows notifications,27 USB and5 Wi-Fi panel-list changes. First updated window:600.60s; panels retained, but read failures remained. Third window:602.72s/251samples/15 notifications; USB96/125online, Wi-Fi123/126online. That third result is explicitly NOT accepted as a timeout fix.
    • Deployed native0.2.7, PID13528, SHA256 b8109cf50c209ac95c890a7c7c59ce737a6c80ff1b9cd4127445226d80978ca1 through guarded graceful replacement; settings and rollback preserved. Actual internal Wi-Fi framebuffer1920x991 inspected, SHA25657c5d1a368126ef5d64429682debac68fbebf912a08377d7b7535c080006353b. No test fixture substituted for production.
    • Native presentation slots/height and board-keyed workspace survive transient loss; live ACKs still gate mutations. Same-owner selection/drafts survive reacquisition. USB reads retain immutable token/nonce/sequence/CRC and absolute8s capture freshness, with four bounded chunks in flight. Added typed progress and actual MessageHub/toast IPC, bounded WS liveness probes, verified TCP hostname cache, source-specific diagnostic history, and2s notification stability.
    • Flutter read single-flight, pre/post-write ownership retirement, actual AbortableRequest cancellation, bounded response bodies and socket close; retained contextual panels without stale write authority. Analyzer and32 targeted API/panel/deadline/realtime/lifecycle tests passed. Preview APK SHA256e86f12de7be1360647540ccb384317e242d9b78056e8299305382c5900d4ec2d. No ADB device available, so phone deployment/human acceptance remains open.
    • All264 native tests passed. Actual-worker WS test independently answers read-only probes, verifies exact command envelope and correlated readback under500ms. USB fixture retains8s authority through a2.2s read stall. Both-platform cloud fixtures, Wi-Fi/Ethernet route policy fixtures,6-linker-wrapper flash guard, updater/ethernet loopback and source gates passed. Fixed Linux host-wrapper CI linkage without weakening tests; new CI remains asynchronous.
    • Followed the remaining live stalls into firmware: telemetry yield did not service the USB parser; DNS-only resolver changes unnecessarily retired established cloud TCP; buffered AVR replies were examined for expiry before being drained after slow cloud IO. Added bounded cooperative read-only progress with reentry/partial-packet guards, retained sessions for DNS-only changes, and drain-before-expiry. Board now exposes aggregate timing/teardown and route/resolver counters.
    • New S3 image1925984bytes SHA256b3e6ed4225111c5671e06177b8b196759a976bc4bcc99e80af5651ebb3e2017a applied once by LAN OTA; new boot03fdc1ae101783ede943ebb1e95682b2 observed. First live counters:1MQTT attempt/0failures/0closes despite5resolver changes,1route generation. Final range-readback connection reset; no second upload. Independent full read-only export is underway.
    • Complete independent new-image SHA readback and repeat the ten-minute owner observation after this board-side fix; report actual errors/toasts/panel transitions rather than infer success from tests or counters.
    • Authorized Android install and human UI acceptance, physical peripheral/LED acceptance, all remaining full production/donor parity gates.

    Current inventory remains4673 accounted/210 hash-bound comparisons/4463 pending/168 known gaps, not full donor completion. Actual donor Session, mobile transport, workspace/presentation, resolver and messaging mechanisms were consulted and mapped in the existing ledger. AVR flash/fuses/EEPROM unchanged. No PBX/audio tests. Open Pakar PR listing is empty; no completed Copilot review is claimed.

  14. atomicdeploy commented on Oct 18, 2026

    @atomicdeploy
    Owner

    Live follow-through and final app checkpoint: f08991c (preceded by a2bc42c). Production acceptance stays open.

    • Independent full S3 readback verified1925984bytes SHA256b3e6ed4225111c5671e06177b8b196759a976bc4bcc99e80af5651ebb3e2017a, boot03fdc1ae101783ede943ebb1e95682b2. No second upload after the updater's range-export reset.
    • Actual post-fix ASUS ten-minute window601.42s/249samples: USB123/124online, ZERO active-error samples, completed immutable captures<=2145ms. Wi-Fi124/125online but39samples contained status/mapping HTTP failures or abrupt WebSocket resets. Each transport's one offline sample was initial acquisition. Both retained exactly Events|Front panel after acquisition, with unchanged boot. Raw receipt SHA2566ca583851b649e1eb0eebdee78557e4fa2b539d7689bad85a073240713ece9cd.
    • Windows notices reduced27baseline ->2. Both were actual successful-connection confirmations at7.48s/305.84s during deliberate route switches, not disconnect spam. Actual framebuffer1920x991 inspected: no active diagnostics, clear status bar, stable panels; SHA256784ac899ef535b4bd96ec6b8d6edd1ed2d34e014f889c7a851859f97fa048f1f.
    • Final native0.2.7 deployed gracefully as PID2068/session1; SHA2569b0d8c01a72de24d3b994a6d8c4c8771888c04f665630bdd7ceda5f09ef27e8e. Settings/rollback preserved. Follow-up62.31s/25samples USB+Wi-Fi smoke had zero active-error samples and stable connected panels (not a second ten-minute soak).
    • WS now uses only numeric endpoints or shared verified actual-TCP hints. Normal missing-route startup returns typed pending and waits interruptibly without error/toast events; no WS-owned OS DNS, HTTP bootstrap or resolver thread. TCP timeout and absolute TLS/HTTP handshake deadline precede handshake. Original URI/Host/SNI/roots and selected-route revocation remain intact; Plain and Rustls runtime reads both bounded. Cache supports actual verified configured aliases, with additional .local hostname checks.
    • Native full suite268/268; mobile analyzer clean and209 tests passed,2 opt-in capture tests skipped. False-freshness regressions reject older HTTP/WS producer observations before renewing a lease. App identity changes retire obsolete mode shells but retain board-owned user workspace. Offline melody slots retain exact bounds, disabled send/dropdown and no dispatch; fresh cues restore only current choices.
    • Final Flutter preview APK SHA256a621a579ff3436bc3784bcf45934cbda1df7fc532fcdca350855d8f3d4933934 built in the existing warm cache. No authorized phone attached: not installed and no Android/human acceptance inferred.
    • Remaining intermittent Wi-Fi transport failures are NOT accepted as fixed by the short clean smoke or by quiet notifications. Read-only pinned-library audit found reachable5s AsyncTCP ACK-timeout direct TCP close, unobserved full-status backpressure, loop-owned HTTP dispatch delays and poll-dependent response attachment. These require stage/queue/ACK-timeout evidence to attribute the observed failures. Pinned WebSocket queue-full does NOT force-close by default. No guessed hardware-fault diagnosis or relaxed client timeout.
    • Full physical/peripheral/phone and exhaustive donor parity acceptance remain open. AVR image/fuses/EEPROM untouched.

    Existing file ledger/proofs/gates updated in place;4673 accounted/210 hash-bound comparisons/4463pending/168gaps, not a complete-import claim. CI continues asynchronously. No open Pakar PRs were observed; no completed Copilot review is claimed. Current ASUS selection is Wi-Fi only; USB was tested separately, with no simultaneous transport fallback.

  15. atomicdeploy commented on Oct 18, 2026

    @atomicdeploy
    Owner

    CI follow-through: 7ff10be corrects the obsolete native source assertion exposed by the a2bc42c quality job. It now checks BOTH retained presentation slots and fresh live per-peripheral action gates; dynamic Web authority checks remain unchanged. Complete canonical local quality phase passed, in addition to268 native/209 mobile tests. This last commit changes tests/evidence only, so the deployed Rust/S3/APK hashes above are unchanged; no additional SDK/build/deploy cycle. Exact-head GitHub CI remains asynchronous. Working tree is clean; production and Wi-Fi soak acceptance remain open.

  16. atomicdeploy commented on Oct 18, 2026

    @atomicdeploy
    Owner

    Native layout checkpoint: 78e66a3 (main, pushed).

    • Retain the complete dock independently of the capability-filtered visible projection; transient ACK loss/disconnect is not a user close.
    • Persist explicit hidden-panel intent per board/application, including close-all. Legacy layouts without explicit hide metadata recover missing default slots.
    • Restore/reveal panels in semantic sibling/split slots, expanding collapsed ancestors; no focused-leaf appending.
    • Guarded canonical native suite: 277 passed. Tests include exact split/active-tab retention, partial ACK painting, restart/hidden/close-all and canonical reveal.
    • Gracefully replaced ASUS executable, preserving settings and rollback. PID 22880/session 1; executable SHA256 72270d79867da8fd50baecac8b8c3b659f2dc6c75a63dba5464d0d96edddb6fc.
    • Actual same-owner Wi-Fi disconnect/reconnect passed: retained-layout SHA256 2256740a29af0b6585967f0fa1f50fc705814f3ab671a35ff0515a50eaf4039c identical before/offline/after; all seven original panels restored and selection/hide intent unchanged. Same physical board identity, online again; no LED/buzzer/reset/firmware commands.
    • Expected-PID egui framebuffer captured and visually inspected, 1920x991, SHA256 12a12f4a38d45ad8a2176e25fa206dba6cd7050cf1b635cd7a0b503a140508a9. Completed one-shot verification tasks removed; production task/receipts/rollback preserved.
    • Longer network-loss/USB/other-peer layout acceptance and David's visual acceptance remain independent; no blanket production/physical peripheral acceptance claimed.

    Actual donor workspace_profiles.rs reread completely; layout.rs/app.rs canonical restore/reveal/capture/apply function slices reviewed without claiming whole-file parity. Exact hashes/proof anchors remain in the existing file-comparison ledger and REUSE-PREFLIGHT-RECEIPT.

    First live harness stopped during expected asynchronous release; failed receipt retained. Corrected helper waits for release and verifies same-owner disconnected intent before one explicit resume. layout-reconnected.json records the successful continuation.

    No open Pakar PRs at this checkpoint. CI is asynchronous, not a blocking wait or an all-green claim. Existing moderate Dependabot finding remains separate.

  17. atomicdeploy commented on Oct 19, 2026

    @atomicdeploy
    Owner

    Checkpoint: 8fe5e60 on main. This is not phone or physical acceptance.

    • Mobile failures are separate from successful telemetry reads; status pushes cannot replace a rejected command with “synchronized”. Repeated explicit attempts remain visible, with a fixed-height status bar and selectable details.
    • Negative 2xx REST receipts, rejected correlated commands, malformed/missing/pending/mismatched pixel readback now carry sanitized specific reasons; no new-intent replay.
    • Pixel diagnostics can explicitly bind a fresh connection/boot without replaying an old frame.
    • 39 focused tests passed. Canonical preview APK 0.2.8+15 built and hash-verified on ASUS: SHA256 3524bbb9d0873e769a68c0f0cebda345babfcfe9e3042d07b00435febd857ed7.
    • Android install and actual phone command: pairing in progress; not yet confirmed.
    • Live pixel acceptance: explicit HTTP Off returned a complete 480-pixel black buffer, but no optical proof. Real Flutter transport probes stopped with changed-boot/network failures before pixel writes; no success is inferred.
    • ESP health: current reset_reason=4 (panic), intermittent station HTTP, no current matching panic trace. A 20-second passive COM22 capture made zero writes and captured zero bytes. ASUS native USB is currently disabled after peer-introduction rejection, not healthy merely because the app is running.

    The same checkpoint contains bounded, nonrecursive cloud/USB ingress fencing and the corrected S3 source guard. Host/wiring checks pass, but that firmware change has not yet been SDK-built or deployed. Existing donor ledger remains 314/4697 compared, with useful gaps still open. Production issue #2 stays open.

  18. atomicdeploy commented on Oct 19, 2026

    @atomicdeploy
    Owner

    Tablet recovery checkpoint: a218814 (main, pushed).

    • Pixel diagnostics accepts its first delayed fresh verified owner, with no automatic adoption of an existing owner's replacement.
    • Added bounded/coalesced read-only Refresh state with visible read errors, pending-action exclusion and disconnect/background/generation fences. No pixel command replay or optimistic success.
    • Fixed startup auto-discovery overriding saved explicit Disconnect, including USB. First-use/default wanted connections still auto-discover; saved Disconnect remains respected across network/USB/Bluetooth.
    • Analyzer clean; 45 focused cases passed: workspace14, automatic-startup7, command-admission real-loopback3, diagnostic transport6, diagnostics UI15. The explicit live-board diagnostic probe was skipped. No new simulated screenshots were generated or substituted for tablet evidence.
    • Canonical BoardProductionHold APK 0.2.8+20 built; apksigner and aapt verified. 60689161 bytes; SHA256 5148fcc293e0e30baf63c24083aefe917ae20c6c9385f72fd71aa4b3d0d20f3e. Debug preview signer, not production signing. Shared client/Web build metadata synchronized; no firmware build or deployment.
    • Exact candidate uploaded to the existing office static APK store; full server-side size/hash and HTTPS200/Content-Length/range support verified. Download maintenance APK. Automatic-update feeds/service policy unchanged.
    • Install/launch and actual tablet read-only UI/lifecycle/network verification: no local authorized ADB device; ASUS localhost8022 repeatedly refuses SSH, including final retry. Office management has no enrolled Android client. Access requested; previous installed-build receipts are not current acceptance.
    • Actual physical pixel/melody and long-soak/human acceptance remain open. No boards contacted, LED/buzzer changes, reset or board-updater jobs in this pass.

    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.

  19. atomicdeploy commented on Oct 30, 2026

    @atomicdeploy
    Owner

    PR #43 Windows fixture failure diagnosed from run 41080991373 (Winsock 10035 at first request read). Fix 80ea74d normalizes accepted loopback sockets; production routing/admission is unchanged. Native local wrapper is blocked by concurrent donor inventory drift and remains enforced; exact-head CI is pending. No device/app deployment or physical acceptance claimed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions