Skip to content

File-by-file donor parity, exact mappings and justified omissions #3

Open

Description

@atomicdeploy

File-by-file donor comparison and omission decisions

Subtask of production acceptance #2. Whole-repository superiority is not
established.
A complete hash inventory is not a complete code comparison.

The current comparative report accounts for 4,255 files: 101 complete hash-bound comparisons, 4,154 pending comparisons and 68 compared files with known parity gaps. Pealayer has 520 inventoried paths, 43 complete comparisons and 477 pending. RayanLamp has 2,349 inventoried paths, twenty-six complete comparisons and 2,323 pending. No pending path is an accepted exclusion. Specialist keyword routes miss 1,314 paths; the exhaustive donor-audit lookup exposes all of them.

Evidence: docs/FILE-COMPARISON.md, docs/file-comparison.csv,
docs/file-comparison-evidence.json, docs/FILE-COMPARISON-RECEIPTS.md.

  • Inventory all seven donor roots, including 63 absent sparse PU850 files.
  • Bind reviewed source bytes and target/proof content to hashes and exact line anchors.
  • Record exact omitted/replaced code and a concrete reason per reviewed file.
  • Restore Pealayer's actual eleven icon/picker tests; 42 native tests pass.
  • Verify historical byte equality of MessageHub, theme catalog and shift-register files; retain all 90 Puzzles pitch/REST definitions. Current PCController ShiftRegisters.cpp has changed and is now parity-gap, not byte-identical; its new 328P-only guard remains tracked.
  • Execute ten C++ suites and Web/boot/version/audit checks locally.
  • Add CI checks rejecting stale/unbound comparison evidence and a strict completion gate.
  • Add exhaustive consultation for every inventoried file, exact source lookup, visible routing gaps and omission reasons.
  • Reject stale committed comparison reports in CI without rewriting them; retain one stable comparison fixture.
  • Adapt actual Pealayer crate/resource guard, execute before native builds and test current/future architecture plus six rejection cases.
  • Catch live Pealayer tracked-inventory drift before compilation; reread changed sources and refresh exact evidence, without bypass.
  • Import actual storage summary/content-equality helpers; preserve blocked cleanup and owned warm cache.
  • Import all five actual Web appearance functions, all four donor tests and shared palette embedding; execute ten shipped-code tests and simulated browser capture/geometry/persistence checks.
  • Read complete actual native menu/appearance donor files; import exact root hover helper and six muted right-aligned shortcut rows; bind source/target/test evidence. Height settings left unchanged as requested.
  • Execute actual native menu paint/pointer tests locally within the all128 passing guarded native run; single warm release cache and isolated config, no bypass.
  • Verify deployed menu visuals and remaining full-menu ownership; source tests are not human/runtime/physical parity.
  • Restore remaining generic menu contracts: persisted bindings/Edit configuration, ordered active workspace selection/reset persistence, language/direction/shortcut menus, E-STOP release/readiness/hide cluster and connection lifecycle/remote management.
  • Compare the remaining 4,154 inventoried paths; obtain/read all sparse source blobs.
  • Complete reviewed TM1637 recovery: import current PCController ACK sampling, detected state, cached-frame reconnect and periodic keepalive onto A4/A5; wire loop/telemetry; test actual reconnect.
  • Resolve Puzzles 50 ms versus Pakar 25 ms debounce, physical bit order and reusable key callback/state contract with tests and measurements.
  • Implement a bounded generic task scheduler preserving add/cancel behavior, fixing sentinel/rollover pitfalls.
  • Share Pealayer's actual appearance/parameter contract across native/Web/mobile; port donor contract tests rather than dropping them.
  • Make WS2811 chipset/channel order configurable; test separate R/G/B and all 480 pixels.
  • Reconcile optional encoder versus RC pin ownership; do not silently omit useful encoder support.
  • Import useful PU850 shell parameter registry, readonly handling, prompt-safe events and utilities; replace unsafe numeric parsing with a strict tested implementation.
  • Configure Telnet enable/port/network/discovery lifecycle; provide an explicit framed/negotiated serial shell without corrupting COBS.
  • Complete file-level Pealayer dialogs/panels/actions/events/preferences/tray/single-instance/UI asset mappings with invocation, tests and real screenshots; do not infer application parity from imported helpers.
  • Complete individual PuzzleBoard/40LED/ControllerBoardMini variants, scripts/dependencies/CI and remaining canonical PCController operations; justify exclusions with exact source scope.
  • Pass comparison completion gate, all-surface/runtime/physical acceptance and final CI before making a superiority/production-release claim.

No board flash or live hardware acceptance was performed for this audit.
PR1 is merged. Remaining acceptance stays open in the numbered child issues; a merge is not completed production acceptance. Future comparisons must continue from
this manifest and rereview stale targets/sources instead of blanket-promoting
the older keyword-screening ledger.

Actual native menu checkpoint

Source 44d07ea, exact function mapping/omission reasons: NATIVE-MENU-COMPARISON.md. Pealayer live inventory advanced to 8d9bc1d (496 paths); menu/mod hashes unchanged. New files stay pending and changed App.tsx stays stale-review. Local source/import, Rustfmt, ledger/comparison/adversarial and screenshot-wiring guards passed. Native Test wrapper passed donor/crate checks then refused the >8 GiB canonical cache: no cleanup reroute, bypass, duplicated cache, compiler or live app replacement. CI native execution is pending; imported code is not a post-fix runtime screenshot. Height divergence is diagnosed (28/6/13 versus 18/3/12), not changed or justified as intentional.

User requested no blocking CI wait. Native verification continues asynchronously at run 38062770097; no native pass/deployment claim until verified. PID 62448 advertised no open Preferences draft; its existing internal framebuffer capture succeeded. Windows computer-use screenshot failed (0x8007041D, then no screenshot targets on the one fresh-window recovery); no stale coordinate input or blank image acceptance. Baseline capture is pre-fix, not patched menu proof.

Shared native / Web application branding checkpoint

  • Remove independent Web diamond and native theme-tinted application mark; use one bundled Phosphor Circuitry PNG for Web header/login/favicon/touch and native toolbar/About/window/tray/PE resources.
  • Completely read actual Pealayer branding.rs, build.rs, HeaderBar.tsx, webPlatform.ts and icon README; import actual decoder and native ICO conversion, with exact source/target hashes and concrete generic omission reasons in the same file ledger.
  • Preserve existing native 64x64 artwork exactly; four embedded Web image references match its bytes; validate source consumers and no-write generation. Native menu heights unchanged.
  • Execute the three new native tests, compile/extract the final PE resources and capture actual deployed native/Web parity. Canonical native cache guard remains respected; no local compiler, duplicate cache, deployment or board flash this checkpoint.
  • Complete configurable/runtime icon resolver, multi-viewport/tray revision synchronization, validated branding metadata and high-DPI/PWA manifest artwork. No blanket whole-file parity claim.

Source 8cfc2dc, exact mapping and remaining contracts: BRANDING-PARITY.md. Source branding/menu/Web appearance/access/table/display tests and comparison integrity checks passed; Rust test presence is not Rust execution. CI is asynchronous: no CI waiting, no current app or board update claim. Donor live inventory refreshed to 1697895 (498 paths); actual changed STOP export reread/imported rather than masking drift.

Tint-free selection / Find cell checkpoint

Source 0d73892. Exact current behavior, donor consultation and proof boundaries.

  • Remove red LED-state, selection-accent and search-amber background tint from table cells on native/Web; retain neutral alternating cell surfaces.
  • One amber inside outline for selection and highlighting; selected/matched hover/active/focus do not add a competing accent ring or fill. Geometry, animation and default-hidden optional indicators remain intact.
  • Two-way Find cell / selection agreement: valid query selects exact logical cells; click/Ctrl/Shift, keyboard, row/all/clear, manager and marquee gestures show exact sorted ranges. Native CLI/IPC FindCell selects those same cells.
  • Preserve partial invalid drafts during passive updates; same-cell reselection or clearing an already-empty selection replaces them. Web status refresh does not clobber an active search draft. Native revision sync requests repaint; F3 navigation retains the selected range.
  • Actual shipped Web DOM/HTTP-doubles tests pass including range formatting, invalid-draft recovery, same-cell reselection, keyboard, rows, all/clear and marquee; appearance/access/display/branding/menu/capture-source and comparison/preflight checks pass. No selection performs a hardware write.
  • Native Rust test execution, final build and deployed native/Web screenshots: Test wrapper passed donor/crate gates then refused the existing canonical cache above 8 GiB. No bypass, cleanup reroute, duplicate cache, direct compiler retry, app replacement or board flash. CI is asynchronous and not waited on.

Actual Pealayer controls.rs neutral/fixed-geometry and selection-before-paint slices were consulted, not falsely certified as a full-file review. Useful generic controls remain pending; transport tint conflicts with this explicit request and playback/timecode mutations are not cell-domain contracts. Added the missing controls route. Refreshed live donor inventory to d71c88d (499 tracked paths); authoritative totals: 1,874 inventoried, 47 complete comparisons, 1,827 pending, 28 known-gap files. No whole-project completion claim.

RayanLamp actual-source theme checkpoint

Source 10a3841; exact nine imported file mappings and concrete replacements, hash-bound comparison ledger.

Located and reread Build RayanLamp Go app, task 019f8cfc-271a-72e1-8747-e3eb883de5ec, local, not loaded. Not resumed/messaged; donor remains read-only and has no fabricated Git commit. Its last regression turn remains unverified.

  • Retain existing six actual imports: decimal maps, haptics and tests, preference channel and tests, MIT license.
  • Read full webui/src/theme.ts, theme.test.ts, webui/public/theme-init.js; import actual controller ownership/idempotent cleanup, pre-paint preference application and browser chrome metadata.
  • Keep one actual Pealayer helper/palette engine; fixed Pakar dark/Studio defaults, peer title unchanged, logical grid LTR, explicit direction honored.
  • Port all three actual donor test scenarios and add blocked-storage/OS API, newest-owner, cross-tab reset, palette and no-device-call regressions; six added + ten existing appearance tests pass.
  • Full local source-quality suite and reviewed five-file ESP build gate pass. Warm ESP busy-wire build passes, bin SHA256 43545b2d0bcc8c939e3064c54b54793752e08bc5119837a67bbccbb326203108, 903296 bytes. Tight IRAM headroom is retained in receipt, not ignored.
  • Inspect actual browser light/Neutral and dark/Studio Persian/Vazirmatn/RTL reloads; screenshots committed and byte-verified. Fixture denies non-GET; tab/process closed by owned identity. No synthetic screenshot.
  • Complete remaining Rayan Windows/DPI/material/render-resource, notification/tray/hotkey/IPC/CLI/TUI, diagnostics, transport/PWA/reconnect, full settings, scripts/CI and licensed font review. Unread/partially read files remain pending, not exclusions.
  • Complete dynamic Web and full mobile localization/appearance, native/Web/mobile synchronization and live board/Android/native acceptance. No native/Android rebuild or physical flash this checkpoint; ASUS SSH still refuses. No CI wait or cache cleanup workaround.

Actual dark Persian browser fixture

This is verified progress, not full Rayan parity or a production-release claim.

RayanLamp actual-source locale checkpoint

Source 527d8e9; exact 11 donor mappings and pending omissions.

  • Reverify Build RayanLamp Go app, read full 656-line i18n source and 71-line tests; verify original-byte hashes. No donor changes, task message/resume or fabricated Git revision.
  • Import real locale normalization/detection, placeholders, visual digits/number formatting and automatic languagechange lifecycle into actual embedded UI; owned restart/idempotent cleanup and no OS preference writes.
  • Translate real selection/batch result consumers and dynamic network/cloud labels/panel menu reversibly without peer identity, mapping, hostname or secret-draft mutation.
  • Seven added shipped-code tests and every local source-quality child pass; seven-file reviewed gate and deterministic embeddings pass.
  • Actual browser mixed-script input becomes 1–3 with Persian selection count; dynamic network labels switch Persian/English, peer title/SSID unchanged. Real JPEGs inspected, exclusive-created and byte-verified. Read-only fixture denies all non-GET; tab/process closed by verified owner.
  • Warm ESP-only busy-wire build passes: 906928 bytes, SHA256 02464a4211b97e98ff1e22b2b88feeef32608a6465a480f0c96a055aa43e7012; IRAM still 96%, not ignored. No physical flash, native/Android rebuild, new cache or CI wait.
  • Finish English Scan/save/placeholder/status/tooltip/dialog copy, Persian-calendar/date and rendered BidiLtr protocol consumers. Full native/mobile locale/appearance and client synchronization remain open.
  • Patch CI Linux missing-C-drive donor lookup and all 11 known native egui/private-table API compile errors in source 2a5574c; new native/Ubuntu execution remains unchecked below. Source tests are not all-green CI or production acceptance.
  • Continue remaining 2338 Rayan files and 4162 total donor comparisons; generic useful work is pending, never a blanket business exclusion.

Actual Persian selection

Actual dynamic network labels

Native API and Linux gate repair: 2a5574c

  • Patch all 11 known native egui/private-field errors and Linux missing-drive Join-Path order; preserve source/target gates and explicit live-unavailable labels.
  • Actual preflight regressions, complete no-compile quality and Test Plan pass; selectively rebind only 15 affected references.
  • Repaired native/Ubuntu pipeline execution, paint/runtime acceptance and package replacement; no wait/all-green claim.
  • Canonical cache >8 GiB is still refused by wrapper; no bypass or cleanup claimed. ASUS SSH localhost:1022 refuses physical acceptance.

Donor coverage unchanged: 75/4237, 4162 pending, 46 gaps; Rayan 11/2349. Actual Pealayer menu/branding/build-host sources reread; no new whole-file certificate or unsupported superiority claim. Source and failure receipts are published with this checkpoint.

RayanLamp browser diagnostics checkpoint c814379

Source c814379, exact imports and omissions, execution receipt.

  • Reverify Build RayanLamp Go app, task 019f8cfc-271a-72e1-8747-e3eb883de5ec; read only, not resumed or messaged. Donor unchanged.
  • Fully read and import actual browser-console.ts / browser-console.test.ts: styled sink, event levels, recursive sanitization, Error-code projection, quiet-window dedupe. Shared Pealayer colors; no lamp identity or second palette engine.
  • Real HTTP/WS adapter tests: no raw body/header/response/frames, no uncertain-write retry, accepted != readback, quiet telemetry/polls, newest-socket ownership. Add bounded lifetime and camelCase/prototype/percent/control safeguards.
  • One-pass canonical generator check, nine-file reviewed gate, all added tests and complete local source-quality pass. OS metadata normalization retains strict font equality and exact font/body/CRC; same Node 24 added to firmware CI.
  • Warm ESP-only busy-wire build passes: 915632 bytes, SHA256 0544853c13cf64dbf78f488b765379d726e6c2da244b467c5a1156cc541cc5e3; RAM 70%, IRAM 96%, flash 82%. No unrelated builds/new cache or physical flash.
  • Actual Ubuntu font/build rerun and Windows failed native tests/crash recovery. Terminal 2a5574c CI passes lint/source/Android and CodeQL, but fails firmware font equality and Windows assertions plus 0xc0000409. Compilation got past the former 11 API errors; runtime is not complete.
  • Complete toasts/store/Icon/placement/focus integration and remaining Windows/rendering/notifications/transport/settings/CLI/TUI/packaging imports. Read toast/tokens files are still pending, not new certificates.
  • Finish remaining 2336 Rayan and 4160 total comparisons, localization/mobile synchronization and real board/native/Android acceptance. Current authoritative coverage: 13/2349 Rayan; 77/4237 total; 46 known gap files.

ASUS SSH localhost:1022 still refuses. Native cache budget is not bypassed; no running-app replacement or claimed hardware acceptance. Optional local actionlint execution was denied by the existing Go no-exec temp policy; Ubuntu CI remains its execution surface. No CI wait or all-green claim.

Restored native test execution contract

Source 0c723f1, remote verified. Exact donor receipt.

  • Fully reread actual Pealayer CI/native runner/i18n; restore serial native runtime tests independently of compile jobs. Add immediate assertion output, isolated CI/local test config and backtraces, with environment restoration and explicit fixture override preservation.
  • Execute actual Plan/regression and complete local source-quality suite; retain assertions, test selection, compile jobs, profiles and storage/cache guards. Nine existing references selectively rebound; two exact CI-to-wrapper/test mappings added, no donor-count inflation.
  • Verify terminal c814379 Build 38091589105: lint/source, both ESP/AVR polling and busy-wire variants, protocol/profile fixtures and Android preview pass. Real Ubuntu strict font equality passes. Separate CodeQL 38091589143 passes. Firmware artifact 11684557100 uploaded: build metadata is not downloaded-byte or physical verification.
  • Resolve three Windows UI failures and 0xc0000409 using uncaptured assertions under the restored donor contract. Shared config can race, but neither all failures nor crash root cause is established. No inferred UI fix or weakened test.
  • Complete local native/runtime acceptance once the canonical cache can safely satisfy its guard. Current Test refuses >8 GiB before cargo; no bypass, duplicate cache or blocked-cleanup reroute. ASUS localhost:1022 refuses; no production replacement/flash.
  • Finish all useful pending donor/native/mobile/localization/hardware acceptance. Rayan 13/2349, 2336 pending; total 77/4237, 4160 pending, 46 known-gap files. Not production complete; new CI runs asynchronously without blocking waits.

Native render-test lifecycle checkpoint 8849ab8

Source 8849ab8, remote verified; exact donor/failure receipt.

  • Verify terminal 0c723f1 run 38092457174 and uncaptured Windows job 114331734735: four unhandled headless TexturesDelta destructor panics, not previously inferred font/cell/dropdown assertion failures. Shortcut assertion reads cached PLACEHOLDER rather than rendered muted ink, then a second destructor panic causes 0xc0000409. Earlier guessed diagnosis is superseded.
  • Fully reread actual Pealayer i18n/menu/palette/branding and inspect locked egui/epaint ownership and color resolution. Restore clear-before-assert/explicit discard in five test modules; check actual tessellated glyph colors. Production style/font registry and behavioral assertions stay intact.
  • Complete local source-quality suite, new mandatory lifecycle guard, exact comparison Check, no-write Rust parser (edition 2024) and Test Plan pass. Sixteen references across eight reviewed files/documents rebound; donor hashes/counts unchanged. Source guards/parser are not Rust execution.
  • Prior source passes workflow/source, both ESP/AVR UART variants, protocol/profile fixtures and Android preview; CodeQL 38092457168 terminal success. No relabeled firmware/APK/native package or physical claim.
  • Execute repaired native tests/package and inspect deployed native UI. Actual Test refuses the existing canonical cache above 8 GiB before Cargo; no bypass, extra cache or cleanup reroute. New CI is asynchronous and not waited on.
  • Complete Rayan toasts/store/Icon/focus/placement and remaining donor/runtime/physical requirements. Rayan 13/2349, 2336 pending; total 77/4237, 4160 pending, 46 gaps. No full parity or production claim.

ASUS SSH localhost:1022 refuses; ledboard.local does not resolve. No running-app replacement or physical board write.

Actual Rayan toast/store/Icon checkpoint 8530a33

Published, remote-verified 8530a33; exact source mappings and concrete omissions, failure/build/browser receipt.

  • Freshly reverify Build RayanLamp Go app without resume/message. Fully read and live-hash toasts.tsx, toast-layout.test.ts, store.ts and icon.tsx; preserve donor/MIT notice and shared Pealayer palette/branding.
  • Actual serial IDs, four-item queue, 4500 ms per-ID expiry/filter, status/live-region rows/title/message, four SVG consumers and localized dismiss integrated into all actual Web reports and identity notices. No disconnected helper or second framework.
  • Add bounded timer eviction/duration/text, independent focus/hover holds, keyboard Escape with focus restoration, safe text rendering, pagehide/idempotent cleanup. No storage or network mutation/replay by notifications.
  • Actual donor CSS extraction/center-axis tests plus executable shipped queue/DOM, stale expiry, cap/timers, overlapping holds, keyboard, injected text, locale refresh and embedding tests pass; complete source quality passes. Expanded thirteen-reviewed gate keeps full CSS pending. Exact PU route bindings updated only after unchanged route/consumer inspection.
  • Warm ESP-only busy-wire compile passes: 924368 bytes, SHA256 c2e97d576cf2d00ce8c6e65c880c7b0a66b5176fe2a5eed2cd3a85a5c09ceed8; RAM 70%, IRAM 96%, flash code 83%. No AVR/native/APK rebuild, extra cache or flash.
  • Real labeled read-only browser fixture at logical 1280x720 and 390x844: centered icons/copy, no horizontal overflow, bounded rows; Escape removes only focused row and restores next-dismiss focus. Inspected/exclusive-created JPEGs byte-verified; viewport reset and owned tab/process closed. Not physical or native/OS-toast proof.
  • Verify prior 8849ab8 terminal CI: native completes 114 passed/1 failed without texture/double-panic abort; workflow/source, both firmware variants, Android preview and CodeQL pass. Remaining native assertion is menu label primary ink at menu.rs:125, not all-green or package acceptance.
  • Finish generic store bootstrap/revision/draft/client and actual API/contracts mapping without optimistic uncertain-write replay; other generic/labeled Icon consumers and full app.css remain pending.
  • Verify real open-modal/themed/Persian notification matrix, shared native/Web/mobile delivery and Windows OS notifications. Complete native label-color policy review, package/deployed and physical acceptance; no production completion claim.
  • Complete remaining 2332 Rayan files and 4156 total comparisons. Current 17/2349 Rayan, 81/4237 total, 48 known gap files. No unread file is an exclusion.

Actual wide browser notification fixture

Actual narrow browser notification fixture

ASUS SSH refuses and device hostname remains unresolved; no running-app replacement or board write. New CI proceeds asynchronously without blocking waits.

Actual Rayan reconnect checkpoint 6d3248b

Published, remote verified 6d3248b. Exact files, functions and omissions, failure/build receipt.

  • Freshly verify Build RayanLamp Go app without resume/message or donor mutation. Fully read/hash sync.ts, sync.test.ts and api.ts; three new explicit parity-gap comparisons. api.test.ts fully read but adaptation remains pending, not another import certificate.
  • Import actual exponential retry base/cap/jitter, preparation-before-open, reset/stop cleanup and 12-second AbortController/finally bound into actual Web status GET/socket path. Add one retry owner, capped exponent, stale-generation protection, pause/sign-out/pagehide/hostname cancellation and constructor recovery. No device mutation/session command replay.
  • Execute shipped module plus actual connectWs/refreshAuthenticated/api HTTP/socket/timer tests: jitter/cap, failed reads, deadline/abort, 401 login loss, late callbacks/paint suppression, HTTPS hostname, constructor ownership and cancellation. Full local source-quality suite and all 50 route bindings pass; deterministic generators and sixteen-reviewed gate retain CSS/API-test comparisons pending.
  • Final warm ESP-only busy-wire compile: 926960 bytes, SHA256 cf52f0404185f0b5bcccba918e6911eec726b7f15391c43bb7aae2ae2a4cc16b; RAM 70%, IRAM 96%, flash code 83%. Same cache, no clean/AVR/native/APK build or physical flash.
  • Native correction d0d20a6 traces actual egui inactive-button ink vs noninteractive label ink; all-six-row stock/Studio/Native both-theme matrix and exact glyph checks preserved. Source quality/parser/Test Plan pass; production styling unchanged.
  • Verify new native tests/package and deployed interfaces; local Test still refuses the >8 GiB canonical cache before Cargo. No bypass/duplicate cache or cleanup reroute. CI proceeds asynchronously without waiting.
  • Restore generic typed config/revision/event epochs, multi-tab lock/lease leadership, diagnostic/audio/notification ownership and full host API/tests with actual discovered contracts. Complete full CSS/native/mobile and LAN/physical acceptance; twenty reviewed source files are not complete Rayan parity.
  • Continue remaining 2329 Rayan and 4153 total comparisons. Current total 84/4237, 51 known-gap files; no unread source is an exclusion.

ASUS SSH localhost:1022 refuses and ledboard.local resolution fails. No production app replacement, board write, Windows OS-toast restoration or release-complete claim.

Current checkpoint b6bd876

  • Actual PCController display recovery/fade tests imported; fallback and AVR-register branches pass; both UART variants compile. Physical reconnect remains pending.
  • Actual Pealayer CLI help/version early-exit imported and verified against the package. Saved GUI hostname/user defaults shared.
  • a6f13a0 release deployed locally with SHA256 828d499745c93b580c0cc2b1096bef012017f9b2b280ddb4a04a5d348de5edeb; one owner, Preferences byte-identical, rollback retained; internal screenshot inspected.
  • Initial staging failure (--help opened GUI and outer shell continued with old candidate) documented and corrected; staging exit and exact hashes checked before successful replacement.
  • CI stale TM1637 contract hash selectively repaired after donor/target reread, agreement guard added; focused ledger/contract/audit checks pass.
  • All paginated GitHub records refreshed: Pakar17, Pealayer143, PC634, total794. Only nine full-record conversations and two comment scopes explicitly reviewed; the remainder is not certified read.
  • Finish 4153 pending source comparisons and 56 gaps; PC12/1211, Pealayer41/514, Rayan20/2349. Ledger NOT complete.
  • Fix observed native caret glyphs, offline error repetition and Windows-shell initialization; complete dialogs, discovery and useful donor contracts.
  • Physical ASUS/board acceptance: SSH refuses, hostname unresolved; no firmware flashed.

Exact failure/runtime/import receipt: https://github.com/atomicdeploy/PakarController/blob/b6bd876d2656ea6e17fb8d15f63c02a223e0164d/docs/REUSE-PREFLIGHT-RECEIPT.md . Zero open Pakar PRs; only main observed. Copilot requested, no completed review observed. Rayan GitHub URL unverified; local imports continue. glib issue17 remains open. No CI wait or all-green/production-complete claim.

ESP32-S3 migration and current native lifecycle

Source checkpoints: 1dbfd0b (desktop) and 629dada (S3 adapters). Neither claims whole-project completion.

  • Native lifecycle test execution: 130 passed, zero failed/ignored; release/stage/probe; desktop source Build and CodeQL success.
  • Gracefully replace closed-draft owner, preserving settings at replacement and five rollback executables.
  • Live minimized IPC, correlated hidden request and timeout without pixels, and Show state applied.
  • Fix visible normal-window geometry after minimize/restore: source2aaa811,132 native tests, guarded release/stage, full live minimized/hidden-timeout/Show/internal1999x1453 capture acceptance pass; settings/rollback preserved.
  • Deduplicate/back off repeated offline DNS/HTTP/WebSocket events without hiding transitions or uncertain writes; final native67948be live8rows stable, repeat count6→11; complete source60d8668, receipt f0adf3a.
  • Start S3 provisional safe GPIO, explicit buffered UART1, hardware error counter, actual shared COBS/CRC and ACK-gated AVR menu-audio adapter. Pure pin/audio contract assertions pass.
  • Compile and integrate S3 hardware adapters into shared production firmware; no S3 firmware release/flash is claimed.
  • Paired AVR unsolicited/buffered UART build flag before removing polling/busy wire.
  • Shared LED GPIO/RMT5 DMA backend and authoritative runtime backend reporting; Wi-Fi/UART/LED stress and all peripheral/ISP/OTA acceptance.
  • Partition-aware flash/OTA/recovery, S3 TLS/LittleFS/telemetry/discovery/USB adapters and shared native/Web/Flutter menu integration.

Exact current structure, libraries, provisional pinout and discovery completeness: docs/ESP32-S3-MIGRATION.md. S3 slice consumers and pending work: docs/S3-MIGRATION-REUSE.csv; this does not replace/promote the authoritative donor ledger. Full donor count remains91/4242 complete,4151 pending,57 gap files. Conversation corpus795 records,21 full-record decisions plus2 comment scopes,772 pending; fetched is not reviewed. Rayan GitHub identity remains unverified; do not substitute another repository. ASUS physical acceptance deferred at user's request while migrating boards.

  • Bring native/Web six-pixel shape and diagnostics parity to Flutter; actual current read-only screenshot shows rectangular cells. Shared selection/stagger/column styling remain, but full mobile table parity is not claimed.

PortableShell preservation audit — 2026-10-29

PR #39 fixes a preservation defect in the conversation auditor: a targeted refresh from a fresh worktree could drop other donors absent from its ignored raw cache. The deletion was detected before commit. The tool now merges refreshed records into the committed inventory without changing untouched review evidence. All 778 PCController/Pealayer records remain alongside 38 Pakar records (816 total). Focused regression tests pass; refreshed tool/test/coordination hashes are recorded in the existing file-comparison ledger. This is audit-tool source proof, not completion of the remaining donor, package or physical acceptance gates. PR #38 retains its independent final firmware/package CI gate; the other task's draft PR #37 is preserved.

Activity

  1. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    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.

  2. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    Native device settings checkpoint pushed: 1cf3da0. Implementation/remaining acceptance checkboxes are in issue #4.

    • 60 native tests and the locked release build pass. Existing Web display/access, boot audio, CLI loopback, ledger/comparison and source-version checks pass locally.
    • Actual Pealayer-derived settings center: ten grouped/searchable domains, public network/cloud readback, explicit secret semantics, dirty/conflict/peer/close guards, USB provisioning, integrated guarded ISP/backup/export/program/latch recovery/ESP OTA, single-instance deep links.
    • Exact controls, files, limits and receipts: DEVICE-SETTINGS.md.
    • Inspected actual rendered Wi-Fi and MQTT. These are SIMULATED read-only loopback peer renders, not real-board proof; production CLI/IPC navigation, isolated profile and owned PID were checked.
    • Updated app reopened with the unchanged real user preferences at http://ledboard.local, PID 82564. Exe SHA-256: 433d3340c32d50f085c0a212bed03479c71d37c4014a2fdcca736beab9113d00.
    • ASUS SSH localhost:1022 refused connection; device hostname did not resolve. No board write, physical save/ISP/OTA/audio/electrical acceptance or second-PC deployment is claimed. Firmware artifacts were not replaced or flashed.
    • CI for this exact source is in progress: 38035712949, 38035709761. Prior e4818af runs are green but do not certify this settings commit.
    • Donor audit remains 1868 inventoried, 26 hash-bound comparisons, 1842 pending and 16 known gaps. The unchanged workspace picker call/test was rereviewed and its shell target hash rebound; no pending donor files were silently promoted.

    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.

  3. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    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.

  4. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    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.local profile. 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.

  5. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    Donor-first continuation correction is published in 29dd7c4.

    Root cause: the inventory existed as a report, not a mandatory lookup. Pealayer packaging/resolver/probe/hygiene sources were screened, not fully compared, and were not consulted before recent storage tooling. That process failure is now explicit in docs/REUSE-PREFLIGHT.md, not excused as unavailable source.

    • Refreshed all 493 Pealayer tracked files against clean a54933aa7d0c05a058045dc9cd21b1b7fbc7378e, exact bytes/hash/revision recorded, none missing. Other donor inventories preserved.
    • Fully read six more actual tooling/hygiene files and added source/target/test hashes, anchors, preserved code, precise omissions and next actions to the SAME authoritative ledger.
    • Byte-identical scripts/package-probe-windows.ps1 import -> tools/package-probe-windows.ps1 (SHA256 f4516884990ad76c020fbc6534d902c4949abae0b48da8ea40c008afa44dfd4f). Adapted actual cache/file-identity/source-stability helpers -> tools/windows-build-host.ps1; wrappers call them.
    • Nine capability routes, read-only consult-reuse.ps1 lookup and reviewed-slice gates. Native build/Plan, stage and capture invoke the gate automatically. Live donor byte/tracked-path drift, missing full read, missing targets and stale/escaping target/proof are rejected. AGENTS.md mandates lookup on EVERY task/tool failure/missing capability before replacements or unavailable claims; no direct-command bypass.
    • Adversarial preflight, actual short-lived process stdout/exit-code, relative-cache resolver, build-plan, screenshot guards, ledger/comparison/version tests pass. Existing Pakar --help probe succeeds. Identical stage -Probe performs no copy; clean-source stability succeeds after commit. Repeated unchanged ledger/report generation leaves write timestamps unchanged. No Rust/firmware/APK rebuild, app replacement or board/private-setting write.
    • Pealayer now 17 full-file comparisons, 476 pending and nine reviewed gap files. All donors: 1868 inventoried, 39 comparisons, 1829 pending, 22 known gaps. Lookup success is NOT full feature parity or approved omissions.
    • Full mpv-free package manifest/embedded build identity, host/toolchain provenance, generic runner/crate guard, resource/font/Web/branding validation and full screenshot/interaction matrix remain useful unfinished code; concrete reasons/actions are recorded, not blanket-excluded as business.
    • Earlier 12.206 GiB cleanup remains blocked; no cache/SDK/rollback data was deleted or blocked operation rerouted.

    Exact decision and proof files: docs/file-comparison-evidence.json, docs/file-comparison.csv, docs/REUSE-PREFLIGHT-RECEIPT.md. Manual source reads are separate from automatic screening, local runtime evidence, CI and physical acceptance.

  6. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    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.

  7. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    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.

  8. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    One selection concept: Find edits it, highlighting displays it

    Source 556126b. Current contract, shared native/Web transition fixture.

    • Remove native matched painter argument/reparsed render-navigation list and Web matched class/Select matches button. Native Selection.ids and Web selectedCells are the sole authoritative per-client membership.
    • Find validates/commits to that model. Highlighting, navigation, counts, manager/menu and bulk targets read it directly; invalid drafts create no other membership.
    • Preserve useful parsing/normalization: sorted/deduplicated compact ranges on valid blur/Enter. 1,2,3 becomes 1–3; 1,2,3,5,7,8 becomes 1–3, 5, 7–8. Both hyphen/en dash accepted; editor text does not jump during typing.
    • Status selected_cells/highlighted_cells/legacy search_matches all project the same selection; canonical cell_search and uncommitted cell_search_draft are explicit. Cursor/focus is separate, not a second selection.
    • Shared 16-step native/Web fixture checks query/click/toggle/extend/row/next/clear and invalid drafts; shipped-Web execution verifies membership, ARIA and counts after each transition, plus normalization and repeated Enter/F3/Escape. Native parser tightened to the same single-# ASCII-digit validation.
    • Actual Web table/appearance/access/display, branding/menu/source, Rust parse/format, crate and hash-bound comparison/preflight checks pass. Existing donor anchors were rereviewed before target hashes changed; no full controls.rs review/import or whole-project parity claim.
    • Native Rust fixture execution, final build and deployed native/Web captures. Native Test wrapper passed donor/crate gates but refused the existing canonical >8 GiB cache; no bypass, cleanup reroute, alternate cache, local compiler retry, app replacement or board flash. CI remains asynchronous, not waited on.

    Selection is client-local and never an automatic LED write or unsolicited broadcast to other users. Canonical authority is the selected-ID set, not reparsed draft text. Comparison totals unchanged: 1,874 inventoried / 47 compared / 1,827 pending / 28 known-gap files; donor live file count remains 499.

  9. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    Manage cells hover/focus geometry checkpoint: 332ad12 (pushed; no CI wait).

    • Trace locked egui 0.36.2 Button::selectable/atom_ui → AtomLayout Frame::total_margin: restoring hover stroke changes layout margins.
    • Read all 952 actual Pealayer src/ui/dialog.rs lines; source hash 4ffdd81afbaa2f918cb572f11d1ec978b279ca0e263f9bfad83e99a59bc27781 matches inventory. Adapt navigation_control fixed allocation/clipped text/inside strokes to compact manager cell, row and state selectors. Shared neutral selection and animation retained.
    • Fixed native slots 32/96/104 x 28 and top-aligned wrapped row headings. Widget accessibility/keyboard semantics retained.
    • Web constant border-box slots, inset focus, no competing selected-focus outline; animation/reduced-motion respected.
    • Shipped Web selection/manager DOM-double and geometry source checks; 10 appearance tests; access/display/branding/native-menu/generation; Rustfmt; reuse/comparison integrity and adversarial tests pass.
    • Existing hash-bound ledger/report/receipt updated with exact mapped donor/target/test anchors and concrete pending generic omissions. 48 complete-read comparisons of 1874; 1826 pending, 29 gap files. No all-file superiority claim.
    • Execute added native painter/input matrix at 240/650 widths with animation on/off and idle/hover/press/focus/selection. Guarded Test passed donor/crate gates, then refused existing canonical >8 GiB cache before compilation; no bypass or cache duplication.
    • Capture actual new native/browser rendering and deploy via guarded draft-preserving workflows. No running-app replacement or firmware flash claimed.

    Mapping/proof: desktop/src/ui/cell_table.rs::manager_selector and manager_hit_slots_text_and_wrap_never_follow_hover_or_stroke_width; firmware/esp8266/src/WebUi.h fixed manager slots; tests/web_cell_table_test.mjs. Full details: docs/file-comparison-evidence.json, docs/REUSE-PREFLIGHT-RECEIPT.md and docs/CELL-CAPTURE.md. Useful generic dialog/numeric helpers and donor runtime tests remain named pending issue #3 work, not accepted exclusions.

  10. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    Publication confirmed: f5940fd is now pushed to feature/pealayer-desktop-foundation. Explicit Edit order mode gates native/Web cell drag-and-drop in table and manager; before/after insertion and reset preserve all IDs, names, physical mappings, LED states and selection. Native preferences/browser-local order save only on a changed completed drop. Shared nine-step fixture and actual shipped Web drag/persistence/cancellation tests pass; native execution/deployment remains blocked by the existing cache guard. No CI wait or production replacement.

    Initial Git push failed TLS through configured localhost:10808. Read-only HTTPS verification succeeded through user-provided localhost:8118; per-command proxy retry succeeded without changing Git configuration. A subsequent reuse lookup detected concurrent Pealayer tracked-inventory drift after the earlier passing checks. No donor code or source hashes were overwritten/rebound, and no further build was attempted; the next donor consultation must refresh its tracked inventory before reuse. Bounded native/Web drag-source mapping and all remaining generic omissions remain documented, not falsely promoted to completed whole-file comparisons. See issue #8 checkpoint and docs/CELL-CAPTURE.md / REUSE-PREFLIGHT-RECEIPT.md.

  11. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    Published 5990261 with exact six-pixel source/test/API mapping and actual rendered Web fixtures in docs/CELL-PIXEL-VIEW.md. Refreshed all 500 Pealayer paths and retained screened versus complete distinctions; reread Puzzles WS2811.h/cpp and verified matching Pealayer/PU source hashes before changed targets were rebound. Added hardware_control/WS2811 specialist routing. Current totals: 1875 inventory paths, 48 completed comparisons, 1827 pending, 29 known gaps. BRG physical acceptance and useful generic UI/shell capabilities remain open; this scoped feature does not claim whole-repo parity. Native execution/deployment is blocked by the existing cache guard; ASUS SSH is refused. CI is not waited on.

  12. DRSDavidSoft commented on Oct 10, 2026

    @DRSDavidSoft
    Contributor

    433d0f6 adds exact full-read comparisons for PCController peripheral-availability.ts/test.ts and Pealayer board_info.rs, with specific useful omissions left as parity gaps. Pealayer status_bar.rs is screened only. Refreshed concurrent donor inventories: 1884 paths, 51 complete comparisons, 1833 pending, 32 known gaps. Hash/anchor/preflight tests pass; no whole-repository superiority claim. #10 owns contextual runtime acceptance.

  13. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    Published bded015: actual Pealayer runtime branding/header identity adaptation, paired board display-name/hostname persistence and additive USB identity transport. Exact function anchors and Web identity proof are in the existing file-comparison ledger. Inventory: 1884, complete-read comparisons: 51, pending: 1833, known gap files: 32. Not claiming whole-repository parity. Actual Web/C++ tests and both ESP profiles pass; native compilation/USB runtime and deployment remain unchecked in #10 because the 13.49 GiB cache fails its 8 GiB policy and requested ASUS/device are unavailable. No CI wait or running-app replacement.

  14. atomicdeploy commented on Oct 10, 2026

    @atomicdeploy
    OwnerAuthor

    Front-panel dropdown mapping updated in the same authoritative ledger. Fully reread actual Pealayer src/ui/menu.rs and src/ui/status_bar.rs. New desktop/src/ui/connection_controls.rs adapts real connection selector/persist-on-change/custom path idioms, with factual lazy enumeration and typed worker actions. Status-bar useful omissions remain explicitly pending rather than excluded. Inventory: 1885 rows, 52 full-read hash-bound comparisons, 1833 pending, 33 parity gaps. Comparison/preflight tests passed; source guards and Rust parsing are not native runtime proof. Native Test is still cache-budget blocked (13.49 vs 8 GiB); no clean/prune/bypass or running-app replacement. Exact proof and omissions: docs/file-comparison-evidence.json and docs/CONNECTION-CONTROLS.md.

  15. 24 remaining items

  16. atomicdeploy commented on Oct 25, 2026

    @atomicdeploy
    OwnerAuthor

    Flutter cell controls checkpoint: outlined icon actions with 48px targets, muted selectable options, and per-board stable header artwork bytes with gapless playback implemented. Adapted the fully read PCController workspace_chrome.dart target/border/selection treatment. Canonical mobile analyzer and two focused widget tests pass. Updated main.dart review references; global comparison generation is blocked by unrelated stale events.go -> desktop/src/bridge_events.rs evidence, left unchanged pending review. No APK deployment or on-device flicker acceptance claimed in this checkpoint.

  17. atomicdeploy commented on Oct 25, 2026

    @atomicdeploy
    OwnerAuthor

    Flutter UI deployment verified on ASUS-connected Samsung tablet R52T60C6V9B: 0.2.8+23 APK SHA256 7302ea5094a9772d7ee8cf85d6215061a53f282e3076f09601280f63baa25632, matching ASUS checksum, adb install -r Success, MainActivity foreground. Canonical analyzer and three focused widget tests pass. First live screenshot exposed selected-chip contrast and tight transition-field spacing; corrected and redeployed. Board firmware and LEDs untouched; automatic board firmware jobs remain held. This is scoped client delivery, not completion of global donor parity or physical acceptance.

  18. atomicdeploy commented on Oct 25, 2026

    @atomicdeploy
    OwnerAuthor

    Board icon family checkpoint: editable table.svg (cyan/indigo staggered cells) and keys.svg (amber/teal arcade button), common bounded 64px PNG transport artwork plus 24/256px previews. Flutter acknowledged-role generic-icon fallback, valid custom-artwork precedence, and verified discovery-list artwork implemented; stable image caching retained. ESP build-role advertisement and Rust role-aware window/header fallback implemented in source. Canonical mobile analyzer, six peer-context tests and two artwork tests pass, APK built. Native Check blocked by existing session.go -> desktop/src/ui/cell_table.rs review mismatch. No firmware flash or Apple/Android alternate launcher certification claimed; platform-specific launcher catalogs/shortcuts remain separate work. SVG/PNG approach follows donor editable-master and resolved-artwork precedence; see assets/branding/BOARD-ICONS.md.

  19. atomicdeploy commented on Oct 25, 2026

    @atomicdeploy
    OwnerAuthor

    Tablet rollout completed: APK SHA256 20ab88e5f3b28245354bc52e7f26e910a4a51d9a7ac24180b147be934b6d3f41 checksum matched on ASUS, adb install -r succeeded on R52T60C6V9B, MainActivity foreground. Inspected tablet-artwork.png: new cyan/indigo Table icon visible with ledcontroller.local and Live device status received. Saved settings retained. No board mutation. Rust source integration is not deployed (cell_table review gate); firmware source advertisement awaits approved build/deployment.

  20. atomicdeploy commented on Oct 25, 2026

    @atomicdeploy
    OwnerAuthor

    Flutter table toolbar: import/export moved into three-dot menu; new Select all white/red callbacks update existing shared selection/search without commands; selection row now precedes color action row. Existing import preview/owner fence, atomic apply and export readback retained. Analyzer and seven focused assignment-action widget tests pass; reviewed target/proof references refreshed. More-colors menu is present but extra values are disabled truthfully: current board parseCellsAction explicitly accepts only white/red/off. Extended cell color semantics, persistence, readback and firmware rollout remain required; no fake RGB streaming workaround or board mutation. This toolbar revision is source-tested, not yet installed.

  21. atomicdeploy commented on Oct 25, 2026

    @atomicdeploy
    OwnerAuthor

    Flutter table-control polish checkpoint (installed tablet, not full production acceptance):

    • Adapted actual PCController mobile/lib/unified/relay_style.dart into mobile/lib/cell_controls.dart; retained semantic filled controls, contrast-selected text, stable focus geometry and padded touch targets. Bright idle/disabled outlines removed; inherited application font preserved.
    • LED indicators moved to Table display preferences; selected count is prominent; compact Transition shares the tablet action row. Existing workspace selection/scroll/transition retained. Colors is the one-time requested presentation default, with later explicit States choice preserved; API state IDs and lock semantics unchanged.
    • Fixed the two-line connection dropdown's dense-height overflow. Lock/import help now follows the configured palette and presentation choice.
    • Guarded analyzer clean; 45 focused tests passed across toolbar layout, semantic controls, lifecycle persistence, connection-selector layout and assignment actions. Phone/tablet local renders inspected separately from installed-device proof.
    • ASUS-connected Samsung SM-X906B: APK installed successfully, package 0.2.8/build23. Installed base.apk readback SHA256 exactly matches candidate 4fa0795c695008b7bebc7c311d1eb168668514756f7f35a234bec1115b24920c. Foreground app reconnected to ledcontroller.local and retained 80 selected + Fade. Actual tablet screenshots inspected: outputs/PakarController/flutter-tablet-settled.png and flutter-tablet-display-preferences.png (task output directory). LED indicators On and Action names Colors confirmed in dialog.
    • Existing APK preserved as rollback, settings retained, phone unchanged. Package built with board-production hold; no board firmware, LED command or color test performed. Human design acceptance, on-device large-text/phone acceptance and unrelated feature parity remain open. No blanket claim that all donor files or production requirements are complete.

    Exact donor/target/test mapping remains in the existing comparison ledger; unrelated dirty work was preserved.

  22. atomicdeploy commented on Oct 25, 2026

    @atomicdeploy
    OwnerAuthor

    Native button geometry and key-box workspace checkpoint

    • Trace actual donor history/blame: PCController f2260e30525de82a95b00adddd2ebb3eda8d8443 reserves border/padding and a304c3ec366b0e9c11634526587ee9e5575acdff removes pressed inset clipping. The paired native Rust fix is Pealayer 5b3d5c150d714a3f951378867791b06855155094, not a nonexistent PCController Rust implementation.
    • Adapt the actual native fix into desktop/src/ui/dialog.rs, palette.rs, control_density.rs: preserve Button font/inherited stroke geometry, consistent active/hover/focus/disabled chrome, semantic fills rather than stock bright pressed outlines.
    • New desktop/src/ui/key_boxes.rs uses fixed cards with two received RGB group previews, dimmed disabled boxes, a pointer-distance-reactive dotted grid, snapped nonoverlapping placement, preserved grab origin, valid/invalid drop previews, Escape cancellation, keyboard placement and release-only per-board persistence. Its drag mechanics adapt actual Pealayer layout helpers traced to e47f7739 / d71c88d6. Arrangement never triggers a key.
    • Canonical native UI checkpoint: 121 passed, 0 failed, including geometry/text-origin checks across interaction states, both themes, densities, fractional DPI, zero-border menus and eight key-grid regressions. Release/staging identity probe passed without cleaning or creating another build cache.
    • Actual isolated native framebuffer and Win32 captures inspected; fixture WebSocket negotiation and all eighteen 12-pixel preview groups validated. These are explicitly simulated peer evidence, not physical-board acceptance. External Windows input geometry was unreliable, so manual pointer-drag acceptance remains unclaimed.
    • ASUS deployed through the existing lifecycle/draft-checked updater. New PID23104, executable SHA256 4702ec91a55084f07451b011012af4242f0b1d29914d94f1ddc921974a2e0a54; previous executable and settings preserved. Fresh post-startup observation: selected ledcontroller.local, Wi-Fi online, WS live, zero active diagnostic incidents; actual 1125x750 native screenshot inspected. No board reset, LED command or firmware update.
    • Durable user-requested regression-prevention note records exact donor commits, fixed geometry rules and required tests.
    • User visual/drag acceptance on keycontroller. Broader donor parity and the production checklist remain open.

    Package was built from the preserved current working tree at base 8ce8f29eee01a979bbd42e7d3573a6e3ace9eba2, not represented as a clean new commit. Scoped source-hash evidence and the existing docs/REUSE-PREFLIGHT-RECEIPT.md were updated; unrelated pending/stale records were not promoted. Local evidence: build/native/key-workspace-reviewed/ and task outputs/PakarController/verification/key-grid-{replacement,observed}.json / key-grid-ASUS.png.

  23. atomicdeploy commented on Oct 25, 2026

    @atomicdeploy
    OwnerAuthor

    Tablet UI follow-up (current preserved working tree at base 8ce8f29): compact status row 64 -> 48 logical pixels at standard text size, retaining 48-pixel touch controls, full error details, RTL and accessibility growth. Already-applied cell actions now use a translucent semantic treatment and checkmark; other applicable actions retain solid semantic fill. Satisfaction requires all selected authoritative semantic states, not rendered RGB or successful-send inference. Reused actual PCController relay_style.dart tonal variant and workspace_chrome.dart touch/layout rules; hash-bound evidence and existing receipt updated. Twelve focused Flutter tests passed (3 application/readback + 4 footer + 5 existing style), analyzer clean; canonical preview APK built with production board-update hold, SHA256 6aaa098338d44d47a4a10b1af08d6e4f31ac2b8a385028947633cf0dfcda370e. Tablet R52T60C6V9B is currently absent from ASUS ADB; only the phone remains, so tablet installation and visual acceptance are still pending. No board action, firmware deployment or claim of complete donor parity.

  24. atomicdeploy commented on Oct 25, 2026

    @atomicdeploy
    OwnerAuthor

    Native lamp backgrounds and tablet Pixel corrections — delivered checkpoint

    • Native opt-in state-color lamp fill added under Preferences → Workspace, using the acknowledged board palette; sampled RGB previews remain separate. Unknown states remain neutral. Fixed hover emphasis without changing hit geometry or hover stroke width.
    • Enabled and persisted the option on David-ASUS using typed app-only IPC. Canonical graceful replacement preserved old executable/preferences. Running PID2452; executable SHA256 876ad59544c6e3910c80da53407abb3dcc224f855482c3787578cf3f2d7f1370.
    • Settled native runtime: 80 mappings confirmed, Wi-Fi/WebSocket live, no active diagnostic errors at observation. Actual framebuffer screenshot inspected; white lamp faces have black readable text. Visible panel positions remain intact.
    • Fixed missing Flutter Pixel corrections: knownFeatures had discarded the advertised pixel-corrections capability. Existing menu and linked tabs are now reachable only on supported peers.
    • Built and replace-installed tablet APK, keeping app data. Installed base APK matches SHA256 a05cbfcd14f44081470c9561d31a86b50e564ede9108f71e8100651c5e92e4c2 (61723797 bytes, 0.2.8/build23). Phone untouched.
    • Actual tablet screenshots inspected: header overflow contains Pixel corrections; Corrections loaded applied mapping revision0; linked Diagnostics loaded 480 pixels and remains inactive. Returned to Table with 80 selected / search1–80 preserved. Compact footer and tonal/checkmarked already-applied White action are present.
    • Canonical focused tests: 136 native, three Flutter navigation tests, clean Flutter analysis. Canonical native release/stage probe and production-hold APK build passed. Reviewed donor/consumer hashes are bound in the existing ledger and receipt.
    • Separate existing native persistence issue remains: hidden Events/Streaming subtree loses its saved split/order during visible-layout reconstruction. workspace_layout.rs:124 clones the projection; missing hidden nodes are restored in Panel::ALL order with ui/layout.rs:221 default0.80. The new background IPC leaves the original layout hash unchanged; later workspace observation changes it. Preserve omitted subtrees and add hidden-order/split restore/reveal/checkpoint regression. Visible layout was not moved by this task.

    Evidence is in existing docs/REUSE-PREFLIGHT-RECEIPT.md, hash ledger and task output captures/receipts (lamp-background-settled, flutter-tablet-pixel-menu, flutter-tablet-corrections-tab, flutter-tablet-diagnostics-tab). Source is the preserved dirty working tree based on 8ce8f29eee01a979bbd42e7d3573a6e3ace9eba2, not a new clean commit. No board firmware update, reset, LED command or correction save was issued. Focused UI/runtime evidence does not close production issue #2 or physical/human acceptance.

  25. atomicdeploy commented on Oct 25, 2026

    @atomicdeploy
    OwnerAuthor

    Table viewport source checkpoint (not deployed): Rust Table now defaults to dock-fit with pointer-anchored pinch/Ctrl-wheel zoom, Fit and bounded +/- controls; transformed marquee/reorder coordinates retained. Flutter and canonical shared Web implement matching fit/zoom/pan without changing logical mapping. Adapted fully-read Pealayer web_ui/src/timelineWheel.ts; source hash 1910311a3acba2f1d22d9d4fb57d43e08bcf6ee91f3ea567e381ae90e8a487cd. Hash-bound table-viewport gate passes. Verified 25 native tests, 11 Flutter viewport/layout tests and analysis, Web zoom/selection/application contracts, and read-only browser Fit rendering of all80 cells. No board or installed client deployment claimed. Full comparison regeneration remains blocked by unrelated stale Timer/.vscode/arduino.json -> tools/build-firmware.ps1 evidence; preserved, not blanket-rebound. Installed-device pinch/trackpad acceptance and modifier preference parity remain open.

  26. atomicdeploy commented on Oct 25, 2026

    @atomicdeploy
    OwnerAuthor

    Tablet chrome checkpoint: installed Flutter 0.2.8/build23 on SM-X906B, preserving preferences and 80 selected cells. Pixel corrections now uses a sliders icon, both pixel-tool tabs show outlined icons, table header actions/count and footer align to the trailing edge, and overflow is deduplicated/grouped with consistent rows. Analysis and 22 focused tests passed. Actual tablet screenshots inspected; after read-only menu/tab inspection the app is back on Table and Connected. Local/staged/installed APK SHA256: 368830460dcb587a4c535a62415787fa8f9b53b03df7df9f0ce158129fd451c6. Evidence recorded in docs/REUSE-PREFLIGHT-RECEIPT.md; only affected donor hash/anchor references rebound. No board firmware or LED changes, no blanket parity/production acceptance claim. Source remains in the preserved shared working tree; this is not a merged-commit claim.

  27. atomicdeploy commented on Oct 27, 2026

    @atomicdeploy
    OwnerAuthor

    Native key-box checkpoint in progress on PR #27: imported Pealayer Phosphor submenu helper and scoped card-owned grouped context menus; reused the table Selection model for Ctrl-toggle/Shift-range/select-all/invert/clear with per-board persistence and explicit click-to-trigger opt-in. Toolbar and status bar now share orange Reconnecting presentation with cancel. 164 native UI tests and 5 workspace tests passed. Release/visual checks in progress. ASUS localhost:8022 is timing out before SSH banner exchange (IPv4 retry refused), so app timeout diagnosis and remote deployment remain OPEN; no board actuation or transport deadline workaround. Detailed scoped donor provenance and useful remaining omissions are being recorded in the existing reuse receipt, not certified as full Pealayer parity.

  28. atomicdeploy commented on Oct 27, 2026

    @atomicdeploy
    OwnerAuthor

    Published native fixes: 33b0447 (PR #27), plus 8622e7d for the immutable donor whitespace CI issue. Verified 164 UI tests, 5 workspace tests, and a 9-test key-box repeat after accessibility correction. Canonical release/stage passed for app source 33b0447; staged EXE SHA256 1bec4c7c2aa6fe1ab28c7275a4371f443f5589906a5ef7158b385881fbbb289d. Inspected isolated framebuffer and verified-PID Win32 screenshots. Real Windows popup input was blocked by GetCursorPos Access denied; native egui event tests supply popup interaction proof, not a live popup screenshot. The 17-file donor integrity and full branch whitespace checks pass after the narrow immutable-snapshot attribute; CI rerun is not awaited or claimed green. Workspace clean and pushed. ASUS timeout diagnosis/deployment remain blocked: localhost:8022 banner timeout/refusal and David-ASUS.local does not resolve. No board changes or production app replacement in this pass. Remaining donor-menu parity is explicitly scoped in REUSE-PREFLIGHT-RECEIPT.md.

  29. atomicdeploy commented on Oct 27, 2026

    @atomicdeploy
    OwnerAuthor

    Flutter keycontroller checkpoint ea08686 is pushed in PR #27. Root cause: PeerContext.knownFeatures dropped advertised game-press and game-presentation; taps were therefore permanently disabled and advanced presentation controls hidden. Admission now preserves these capabilities without granting absent ones.

    Boxes, winner, reset and settings are moved into a dedicated Game activity. Output retains LED service/diagnostics. Overview shortcut, saved activity and demand-driven pixel subscriptions follow Game. Tap sends the existing verified game press; hold opens explicit trigger/reset actions. Offline/programming/mask/disabled/pending conditions now explain rejection, and open sheets cannot act on a replacement peer. No optimistic winner/color mutation or replay is added.

    Validation: canonical analyze passed; output_panel 13 tests, panel_inventory 5 tests, peer_context 7 tests passed. Canonical production-hold APK built successfully (60.8 MB), SHA256 68ba8ed674d624c26fed6a15cb44a998c9823f71eb4cdbb2e56d0344315d3e01. No firmware changes or production actuation. ASUS localhost:8022 repeatedly refuses SSH handshake; local ADB has no device. The tablet is NOT updated or physically accepted yet. Source tree is clean. PR comments/reviews and all current review threads were inspected: no review threads or reviews. CI is asynchronous; this is not a merge/all-green claim.

  30. atomicdeploy commented on Oct 27, 2026

    @atomicdeploy
    OwnerAuthor

    Web checkpoint 510b6d7: reproduced correction Reload losing keyboard focus in the actual localhost:63200 browser preview. Correction and pixel-group confirmation actions now await the original peer-pinned read within the existing shared async dialog, then close only after the origin control is enabled. Stale prompt/peer/model guards retained. Delayed-read regressions for both editors, shared-dialog tests, PU route/hash tests and full/onboard low-write builds passed. Actual correction browser test now restores Reload focus; Escape preserves drafts, initial Cancel focus and wire/cursor2 numbering/filter480 were also inspected. Full/onboard use identical canonical source and asset revision fe7608229fd89223b505c64720d187ff1b68081b26228b5bd559c736c75f3b34. Preview refreshed, disposable local draft cleared. Ledger hashes and remaining acceptance updated; no production board, firmware, installed app or cloud changed. Still open: cramped nested correction scroll regions when both previews expanded at 720px height, group rendered acceptance, phone/tablet/RTL and actual board transport acceptance. CI proceeds without a blocking wait; no whole-project completion claim.

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