[2044 by GPT-5.6 Sol] Add packaged desktop visual and accessibility acceptance harness - #2045
Conversation
…ibility acce Implemented by ProPR AI using gpt-5.6-sol model. Implementation completed successfully.
|
/review Initial Ultrafix review for the packaged Electron visual/accessibility acceptance harness. Focus on deterministic screenshot inputs (ports/time/locale/fonts/viewports/animations), proof of real main/preload/renderer plus REST/Socket.IO/pairing/Connect journeys, complete accessibility assertions, secret-sentinel coverage of DOM/storage/logs/URLs/traces/rendered screenshots and metadata, artifact manifest hashes/schema/completeness, mandatory CI failure behavior, and preservation of desktop security boundaries. Target remains the UX epic, never main. |
|
✅ AI Code Review Complete requested by @integry Posted 1 review: |
🔍 AI Code Review — codex:gpt-5.6-solOverall EvaluationThis PR builds a substantial packaged-Electron acceptance harness, but it needs significant rework before merge. The runner currently cannot complete artifact generation, several claimed evidence guarantees are not actually verified, screenshots contain nondeterministic inputs, and all six current package-validation checks are failing. ✅ Real packaged boundary — The harness launches the packaged Electron executable and drives renderer interactions through the production main/preload/IPC boundary. ✅ Constrained acceptance mode — Acceptance fixtures require both triggers, a packaged Linux build, and an isolated non-link profile; smoke and acceptance modes are mutually exclusive. ✅ Fail-closed CI integration — Linux x64 acceptance is a mandatory package-job step, followed by verification and artifact upload with Merge blockersEvery finding below was introduced by this PR and must be resolved before merging. F1: 🔴 Screenshot metadata always fails
F2: 🔴 Screenshot inputs remain nondeterministic
F3: 🔴 Socket.IO coverage is hardcoded
F4: 🔴 Secret scanning misses claimed surfaces
F5: 🔴 Manifest hashes are never verified
F6: 🔴 Output cleanup can delete arbitrary paths
F7: 🔴 Accessibility evidence is incomplete
SuggestionsThese are optional follow-ups and are not sent to S1: 🟢 Clean up failed launchesWrap post-spawn CDP connection, page initialization, and font validation in failure cleanup. At present, an exception before ScoreThe architecture and CI wiring are promising, but the runner currently cannot produce its manifest and several central determinism, evidence, secret-scanning, accessibility, and safety guarantees are unenforced. The six failed package checks further prevent merge readiness. Score: 3/10 🤖 Review Details
🤖 Review by ProPR |
|
Implement Ultrafix
Require the real packaged Linux x64 harness to produce and upload its mandatory screenshot, manifest, a11y, summary, and sanitized trace/log artifacts; all six package jobs must clear dependency audit. Preserve the real main/preload/renderer boundary and all desktop security controls. |
|
✅ Applied the requested follow-up changes in commit 5162698 Summary of ChangesImplemented the Ultrafix follow-up on exact HEAD Key outcomes:
Validation:
The packaged visual harness was not run locally because this workspace has no packaged binary, Xvfb, or Tesseract. Both unsigned and production Linux x64 CI jobs run it mandatorily. No commit was created. 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
…a698b836409db4f5a5e74f293acfda0`. Implemented the Ultrafix follow-up on exact HEAD `acca2f2f1a698b836409db4f5a5e74f293acfda0`. Key outcomes: - Strict 60-screenshot manifest with names, hashes, bytes, dimensions, variants, deterministic metadata, and repeatability checks. - Fixed origins/time/locale/font/viewports/scales/zoom/motion/animations. - REST, pairing, Connect, and authenticated Socket.IO evidence derived from observed activity. - Full DOM/storage/log/URL/trace scanning plus mandatory Tesseract OCR. - Exact schemas for manifest, a11y, summary, sanitized logs, and sanitized trace. - Safe allowlisted recursive cleanup and failure-safe Electron process/profile cleanup. - Per-journey/variant a11y checks with real live-region mutation evidence. - `browserslist` locked to `4.28.8`; audits remain strict. - CI uploads mandatory Linux x64 evidence and installs OCR dependencies. Validation: - Desktop suite: 359 passed, 6 platform skips, 0 failures. - Desktop/UI typechecks passed. - Both dependency audits: 0 vulnerabilities. - Contract tests: 5 passed, including the complete 60-entry artifact set. - `git diff --check` passed. The packaged visual harness was not run locally because this workspace has no packaged binary, Xvfb, or Tesseract. Both unsigned and production Linux x64 CI jobs run it mandatorily. No commit was created. PR: #2045 Comment by: @integry (ID: 5497946596) Model: gpt-5.6-sol
|
Superseded before implementation by a consolidated exact-head correction request; do not apply this partial request. |
|
🛑 Execution Cancelled The task processing was stopped by user request. You can post a new comment to restart processing. |
|
Implement the consolidated exact-head correction on 5162698 while preserving every F1-F7/S1 hardening change. Four evidence-backed blockers remain. (1) Linux x64 packaged job reaches run-packaged-acceptance.mjs but fails at line 264 because the DevTools endpoint is available before browser.contexts()[0].pages()[0]. Replace the immediate lookup with a strictly bounded wait for the first usable Electron renderer context/page/target, reject process exit and timeout, detach/clean up on failure, and add a deterministic delayed-page regression. (2) Darwin ARM64 job 99968352233 rejects the standard OS-owned /var to /private/var temporary-directory alias. Authorize cleanup by canonical existing parent identity: realpath allowed parents and candidate parent, require exact canonical-parent equality and the dedicated leaf-name policy, lstat the leaf as a non-link directory, support the nonexistent-leaf preparation case through its authenticated existing parent, and still reject arbitrary intermediate symlinks/canonical escapes. Add normal macOS alias and malicious escape regressions. (3) Windows x64 acceptance-test-authorization.test.ts hardcodes /tmp/propr-desktop-acceptance-a1 and fails after platform normalization to D:\tmp\propr-desktop-acceptance-a1. Make the assertion path-platform-independent while retaining exact canonical prefix/leaf authorization and escape rejection on Windows and POSIX; do not weaken production authorization. (4) Change the pairing fixture approval URL from /desktop/approve to the canonical /api/desktop/pairings/{pairingId}/browser route with the exact fixture ID, and assert the observed pairing flow. Keep browserslist 4.28.8, safe deletion, full secret/OCR/trace scans, exact evidence schema/hashes, byte-identical 60 captures, per-variant accessibility/live mutation, observed REST/Socket.IO/Connect, and failed-launch cleanup unchanged. Require all six native package lanes green and the Linux x64 run to upload a complete verified 60-screenshot acceptance bundle. |
|
✅ Applied the requested follow-up changes in commit 29f6191 Summary of ChangesImplemented the four exact-head corrections without committing:
Validation:
The packaged 60-screenshot run requires the Linux x64 CI environment; this worktree has no packaged binary, Xvfb, or Tesseract. 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
…ing:
Implemented the four exact-head corrections without committing:
- Added bounded Electron renderer discovery with process-exit, timeout, CDP-disconnect, and cleanup handling plus deterministic delayed-page regressions.
- Authorized cleanup through canonical existing-parent identity, including macOS `/var` aliases, nonexistent leaves, and symlink-escape rejection.
- Made acceptance authorization assertions platform-independent.
- Updated pairing approval to `/api/desktop/pairings/{pairingId}/browser` and asserted the complete observed start/poll/activate flow.
Validation:
- Desktop suite: 369 tests, 0 failures, 7 platform skips.
- Desktop typecheck passed.
- Syntax and `git diff --check` passed.
- Browserslist remains 4.28.8; six-lane workflow and evidence/capture hardening are unchanged.
The packaged 60-screenshot run requires the Linux x64 CI environment; this worktree has no packaged binary, Xvfb, or Tesseract.
PR: #2045
Comment by: @integry (ID: 5498309116)
Model: gpt-5.6-sol
|
Correct the packaged visual harness on exact head 29f6191 while preserving the four prior corrections and all F1-F7/S1 hardening. Linux x64 job 99974885018 now reaches the first real packaged-Electron capture, then fails because page.context().newCDPSession(page) is target-scoped and Browser.getWindowForTarget is unavailable on that route. Eliminate the unsupported Browser-domain dependency. Use a supported deterministic mechanism for the real visible packaged renderer—such as page viewport plus target-scoped Emulation commands, or a properly supported browser-level Electron CDP route—and verify the actual viewport/device metrics for every variant. Preserve all five required variants, including narrow layout, high-DPI, zoom, exact evidence metadata/hashes, and 60-screenshot completeness; do not merely relabel identical screenshots or fake variant metadata. Add a focused regression where Browser.getWindowForTarget is unavailable that proves all five variants still configure and capture. The exact replacement head must complete the Linux x64 evidence bundle and retain all six platform/package gates, deterministic secret scans, per-variant accessibility checks, and safe cleanup. Do not weaken ancestry, lock, path, or artifact-authority checks. |
|
✅ Applied the requested follow-up changes in commit b9cb86a Summary of ChangesImplemented the exact-head correction without committing.
Changed files: Validation:
The complete packaged evidence run was not available locally because the packaged binary, Xvfb, keyring daemon, and Tesseract are absent. 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
Implemented the exact-head correction without committing. - Removed `Browser.getWindowForTarget` and all Browser-domain viewport handling. - Added Playwright viewport sizing plus target-scoped Emulation and Page CDP commands. - Verifies CSS/layout/visual viewport, DPR, zoom, screen size, reduced motion, and physical PNG dimensions for every variant. - Uses target-scoped `Page.captureScreenshot`, preserving true 2560×1640 high-DPI output and repeatability hashes. - Added the focused five-variant regression for unavailable `Browser.getWindowForTarget`. - Preserved the 60-screenshot contract, accessibility checks, secret scanning, cleanup, artifact schemas, and six platform/package gates. Changed files: - [packaged-acceptance-renderer.mjs](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-01T18-33-05/apps/desktop/scripts/packaged-acceptance-renderer.mjs:16) - [run-packaged-acceptance.mjs](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-01T18-33-05/apps/desktop/scripts/run-packaged-acceptance.mjs:477) - [packaged-acceptance-renderer.test.mjs](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-01T18-33-05/apps/desktop/scripts/packaged-acceptance-renderer.test.mjs:73) Validation: - Desktop suite: 370 tests, 0 failures, 7 platform skips. - Desktop typecheck passed. - Real Chromium probe confirmed all five metrics and PNG sizes. - Syntax and `git diff --check` passed. The complete packaged evidence run was not available locally because the packaged binary, Xvfb, keyring daemon, and Tesseract are absent. PR: #2045 Comment by: @integry (ID: 5498571603) Model: gpt-5.6-sol
|
Correct the packaged accessibility runner on exact head b9cb86a while preserving the now-working target-scoped viewport/screenshot implementation. Linux x64 job 99982275970 gets through real renderer configuration, then the first variant fails because @axe-core/playwright AxeBuilder.analyze calls browserContext.newPage and packaged Electron CDP rejects Target.createTarget as unsupported. Do not create any new page/context/target. Run the bundled axe-core engine directly inside the existing authenticated renderer target using deterministic source injection and page evaluation, with an explicit policy for any frames and full shadow-DOM coverage supported by axe; return only the structured violation data needed by the existing serious/critical gate. Fail closed if injection, engine identity/version, execution, or result schema is invalid. Add a focused boundary regression whose context.newPage/Target.createTarget throws but whose existing renderer still produces and validates axe results for all five variants; do not mock away the injection/evaluation path. Preserve per-variant accessible-name/live-region mutation assertions, five measured variants, Page-domain screenshots, PNG dimensions, 60-artifact completeness, hashes, secret scans, safe cleanup, fixed inputs, and all six package lanes. Require the Linux x64 real packaged evidence bundle and verifier green on the replacement head. |
|
✅ Applied the requested follow-up changes in commit f2d0d21 Summary of ChangesImplemented the harness-only correction on exact head
Validation passed:
Native Linux packaged smoke/60-capture and macOS/ARM64 jobs require hosted CI; this x64 workspace lacks Xvfb/keyring/D-Bus tooling and packaged binaries. No Windows-specific changes or native reruns were made. No commit created. 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
|
CI failed: Validate unsigned win32-x64 package Please investigate and fix this CI failure.
Failure evidence
|
…837d38fcbcf96fee88f41d493f92575c9939`. Implemented the harness-only correction on exact head `82b2837d38fcbcf96fee88f41d493f92575c9939`. - [packaged-transport-smoke.ts](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T20-55-48/apps/desktop/src/packaged-transport-smoke.ts) now models presence per origin and storage type. - After activation, the first origin expects all five types absent; the second expects its shared cookie absent while its four port-origin stores remain present. - Preactivation, reseed/rollback, and final cleanup expectations remain complete. - Exact cookie name/value and renderer/session storage inspection remain intact. - [packaged-transport-smoke.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T20-55-48/apps/desktop/src/packaged-transport-smoke.test.ts) pins the exact split and sequencing. Validation passed: - Desktop typecheck - Focused sequencing test - Full desktop suite: 405 tests, 398 passed, 7 expected platform skips - Native durability: 121/121, all category counts exact - `git diff --check` - Only the two requested files changed Native Linux packaged smoke/60-capture and macOS/ARM64 jobs require hosted CI; this x64 workspace lacks Xvfb/keyring/D-Bus tooling and packaged binaries. No Windows-specific changes or native reruns were made. No commit created. PR: #2045 Comment by: @integry (ID: 5516273901) Model: gpt-5.6-sol
|
CI failed: Validate unsigned win32-arm64 package Please investigate and fix this CI failure.
Failure evidence
|
|
CI failed: Validate unsigned win32-x64 package Please investigate and fix this CI failure.
Failure evidence
|
|
CI failed: Validate unsigned linux-x64 package Please investigate and fix this CI failure.
Failure evidence
|
|
ProPR narrow production CSP correction on exact head Fresh Linux x64 job 100424581294 proves all three packaged transport smoke shutdown modes pass, including exact current-user main-proxy evidence. The strict packaged acceptance then fails on its real fixed Implement only the narrow real fix:
Do not merge. |
|
Implement the immediately preceding narrow CSP parity correction on exact head f2d0d21. Preserve every stated scope and evidence constraint; do not merge. |
|
✅ Applied the requested follow-up changes in commit 96194d6 Summary of ChangesImplemented the narrow CSP parity correction on exact head
Validation:
No commit, merge, or PR creation performed. Hosted package/strict-acceptance gates remain for CI. 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
|
CI failed: Validate unsigned win32-arm64 package Please investigate and fix this CI failure.
Failure evidence
|
…`f2d0d2185de0de9d742df85cd6430d227cc3373c`. Implemented the narrow CSP parity correction on exact head `f2d0d2185de0de9d742df85cd6430d227cc3373c`. - Updated [renderer.html](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T21-16-09/apps/desktop/renderer.html) to use `connect-src 'self' https: http: ws: wss:`. - Added focused meta/header parity and arbitrary HTTP/WS scheme coverage in [security.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T21-16-09/apps/desktop/src/security.test.ts). - Preserved all main-process ownership, active-origin/generation, credential custody, LNA, fixture, workflow, and dependency behavior. - Confirmed `qs 6.16.0` and `fast-uri 3.1.6` remain exact. Validation: - Focused security/session tests: 14 passed. - Desktop suite: 399 passed, 7 expected skips. - UI suite: 550 passed. - Desktop and UI typechecks passed. - `git diff --check` passed. - Only the two requested files changed. No commit, merge, or PR creation performed. Hosted package/strict-acceptance gates remain for CI. PR: #2045 Comment by: @integry (ID: 5516530216) Model: gpt-5.6-sol
|
ProPR diagnostic-only strict acceptance correction on exact head Fresh Linux x64 job 100429836856 proves the production CSP parity fix advances beyond the old Change only
|
|
✅ Applied the requested follow-up changes in commit 8df95da Summary of ChangesImplemented the diagnostic-only strict acceptance correction.
Validation:
Changed files: run-packaged-acceptance.mjs and acceptance-test-authorization.test.ts. No commit or merge performed. 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
Implemented the diagnostic-only strict acceptance correction. - Preserved the exact 15-second `Connected: Operations` wait and all existing journey behavior. - On that timeout only, pending renderer console captures are settled before emitting a deterministic, secret-free diagnostic. - Diagnostic includes bounded current-user/LNA summaries, validation and lifecycle categories, `loading|entry|app` surface phase, and capped console/page-error counts. - Added focused source regression coverage. - No production, fixture, workflow, package, or lockfile changes. Validation: - Focused tests: 20/20 passed - Desktop suite: 400 passed, 7 expected skips - Desktop and UI typechecks: passed - Runner syntax and diff checks: passed - Confirmed `qs` 6.16.0 and `fast-uri` 3.1.6 remain pinned Changed files: [run-packaged-acceptance.mjs](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T21-34-16/apps/desktop/scripts/run-packaged-acceptance.mjs) and [acceptance-test-authorization.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T21-34-16/apps/desktop/src/acceptance-test-authorization.test.ts). No commit or merge performed. PR: #2045 Comment by: @integry (ID: 5516733392) Model: gpt-5.6-sol
|
ProPR second diagnostic-only strict UI correction on exact head Linux x64 job 100435585260 conclusively clears transport and current-user validation on the real strict fixture: OPTIONS=1, GET=1, main=1 accepted, fixture=1/200, request issued and response completed, parsed user accepted, active scope accepted, rejected=0, category=none. No LNA permission was required. The desktop wrapper is in coarse Change only
|
|
✅ Applied the requested follow-up changes in commit 952411f Summary of ChangesImplemented the diagnostic-only correction on exact head
Validation passed:
Hosted Linux x64 could not be started against uncommitted changes: the workflow is 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
…df95dae69efc83081424cf8dd1faaf3bbd74b4e`. Implemented the diagnostic-only correction on exact head `8df95dae69efc83081424cf8dd1faaf3bbd74b4e`. - Added allowlisted live renderer UI-state, lifecycle-invalid category/count, and capped console-error category diagnostics in [run-packaged-acceptance.mjs](/home/node/workspace/apps/desktop/scripts/run-packaged-acceptance.mjs:989). - Extended the focused source regression in [acceptance-test-authorization.test.ts](/home/node/workspace/apps/desktop/src/acceptance-test-authorization.test.ts:93). - Preserved the exact locator, 15-second timeout, fixture, success criteria, and existing evidence. - Only the two authorized files changed. - Confirmed `qs` 6.16.0 and `fast-uri` 3.1.6 remain unchanged. Validation passed: - Focused suite: 6/6 - Desktop TypeScript check - Runner ESLint and syntax check - `git diff --check` Hosted Linux x64 could not be started against uncommitted changes: the workflow is `pull_request`-triggered only, while the task requires the system—not this agent—to commit and push. No commit, merge, or PR operation was performed. PR: #2045 Comment by: @integry (ID: 5516922506) Model: gpt-5.6-sol
|
ProPR narrow strict fixture contract correction on exact head Linux x64 job 100440061516 now proves real pairing/current-user transport end to end and isolates the remaining failure: current-user OPTIONS/GET/main/fixture/schema/active-scope are all accepted, the desktop wrapper is Implement only the narrow honest fixture fix in
|
|
✅ Applied the requested follow-up changes in commit 2dcf1bf Summary of ChangesImplemented the narrow stats fixture correction without production UI changes.
Validation:
Hosted Linux x64 smoke and strict 60-capture CI remain the decisive follow-up. No commit or merge performed. 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
…duction UI changes. Implemented the narrow stats fixture correction without production UI changes. - Added exact `/api/stats/tasks`, `/overview`, and `/repositories` responses in [run-packaged-acceptance.mjs](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T22-12-21/apps/desktop/scripts/run-packaged-acceptance.mjs:468). - Preserved generating-plans, the generic fallback, 12 completed/0 failed, diagnostics, waits, and capture assertions. - Added focused source/consumer contract coverage in [packaged-acceptance-stats.test.mjs](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T22-12-21/apps/desktop/scripts/packaged-acceptance-stats.test.mjs:1). Validation: - Focused tests: 9 passed - Desktop suite: 403 passed, 7 expected skips - UI suite: 550 passed - Desktop/UI typechecks: passed - Syntax and diff checks: passed - `qs 6.16.0` and `fast-uri 3.1.6`: preserved Hosted Linux x64 smoke and strict 60-capture CI remain the decisive follow-up. No commit or merge performed. PR: #2045 Comment by: @integry (ID: 5517151375) Model: gpt-5.6-sol
|
ProPR narrow strict Socket.IO application-event synchronization correction on exact head Linux x64 job 100446171272 proves the stats contract fix restores the real dashboard and advances to the final Socket.IO assertion. Current-user OPTIONS/GET/main/fixture/schema/active-scope all pass; the main-process upgrade, fixture upgrade, and authenticated namespace connection all occur exactly once. The only failure is Implement the narrow stronger real-flow correction in
|
|
✅ Applied the requested follow-up changes in commit 7f7b76b Summary of ChangesImplemented the narrow Socket.IO synchronization correction on exact head
Validation:
No commit, push, PR, or merge was performed. 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
… on exact head `2dcf1bf5…`. Implemented the narrow Socket.IO synchronization correction on exact head `2dcf1bf5…`. - [run-packaged-acceptance.mjs](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T22-28-23/apps/desktop/scripts/run-packaged-acceptance.mjs:545) now waits for the genuine `subscribe:queue:stats` event before recording the subscription, emitting the fixed payload exactly once, and recording fixture delivery. - Exact authenticated connection, subscription, fixture-event, and renderer-console counts are enforced, with missing/duplicate failure categories. - [packaged-acceptance-socket.test.mjs](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T22-28-23/apps/desktop/scripts/packaged-acceptance-socket.test.mjs:24) pins ordering, exact event names, bounded duplicate detection, fixed payload, and absence of timer fallback. Validation: - Focused tests: 6/6 passed. - Full desktop workspace: 406 passed, 7 expected skips, 0 failed. - Desktop typecheck, syntax checks, and `git diff --check`: passed. - `qs 6.16.0` and `fast-uri 3.1.6`: preserved. - Repository full suite reached 219/361 files cleanly, then was stopped because Redis is unavailable locally. - Hosted Linux smoke/strict acceptance could not test uncommitted changes: the remote branch remains at the old head, and this environment lacks the packaged binary, D-Bus, keyring, and Xvfb utilities. No commit, push, PR, or merge was performed. PR: #2045 Comment by: @integry (ID: 5517318259) Model: gpt-5.6-sol
Checks FailedValidation failed during setup, tests, CLI packaging, linting, or build checks. View Logs |
|
✅ Applied the requested follow-up changes in commit 2611822 Summary of ChangesFixed the changed-area validation failure in desktopPairing.ts. The pairing lifetime controller now exclusively owns expiry, preventing a same-tick transport timer from misclassifying Validation passed:
Only the requested client source file changed. No commit was created. 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
|
ProPR narrow binary-safe secret scanner correction on exact head Fresh Linux x64 job 100452318517 did not reach the new Socket.IO synchronization proof. It failed earlier and nondeterministically during Implement only the narrow evidence-preserving scanner fix in
|
|
Implement the immediately preceding binary-safe scanner correction on exact head 7f7b76b. Preserve every evidence and scope constraint; do not merge. |
…g.ts](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T22-48-09/packages/client/src/desktopPairing.ts:278). Fixed the changed-area validation failure in [desktopPairing.ts](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T22-48-09/packages/client/src/desktopPairing.ts:278). The pairing lifetime controller now exclusively owns expiry, preventing a same-tick transport timer from misclassifying `PAIRING_EXPIRED` as a generic timeout. The independent 8-second transport cap remains intact. Validation passed: - Client suite repeated 20 times: 1,020/1,020 tests - Client typecheck and build - UI typecheck, lint, and build - `git diff --check` Only the requested client source file changed. No commit was created. PR: #2045 Comment by: @github-actions[bot] (ID: 5517499841) Model: gpt-5.6-sol
|
✅ Applied the requested follow-up changes in commit 9862a4e Processed 2 comments: Summary of ChangesImplemented the narrow binary-safe scanner correction.
Files: Validation:
The hosted Linux smoke/60-capture run cannot test uncommitted bytes. Existing hosted run 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
Implemented the narrow binary-safe scanner correction. - Generic patterns now scan only contiguous HT/LF/CR and printable ASCII runs; binary bytes cannot bridge credential matches. - Exact sentinels still scan raw bytes across every file. - Added NSS/SQLite-style regression coverage plus printable ProPR, GitHub, Bearer, assignment, and exact-sentinel cases. - OCR and ZIP scanning remain unchanged. Files: - [acceptance-artifacts.mjs](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T22-54-28/apps/desktop/scripts/acceptance-artifacts.mjs:173) - [acceptance-artifacts.test.mjs](/tmp/git-processor/worktrees/integry/propr/pr-2045-followup-2026-09-02T22-54-28/apps/desktop/scripts/acceptance-artifacts.test.mjs:307) Validation: - Focused scanner tests: 6 passed, 1 platform skip - Desktop suite: 407 passed, 7 expected skips - Desktop/UI typecheck: passed - ESLint and diff checks: passed - `qs` remains 6.16.0; `fast-uri` remains 3.1.6 - Only the two requested files changed The hosted Linux smoke/60-capture run cannot test uncommitted bytes. Existing hosted run `33692595601` targets the pre-change revision and is not claimed as validation; fresh hosted verification remains for the automated post-commit push. No commit or merge performed. PR: #2045 Comment by: @integry (ID: 5517537380) Comment by: @integry (ID: 5517545632) Model: gpt-5.6-sol
AI Implementation Summary
Closes #2044
Branch:
2044/gpt-5.6-sol-add-packaged-desktop-visu-20260901-1706-2z5Commits: ✅ Changes committed (acca2f2)
AI Processing Completed
Execution Details:
Summary:
Implemented the packaged desktop visual/accessibility acceptance harness.
Validation:
Key files: acceptance runner, artifact contract, CI workflow.
Detailed Logs:
01a05df0-af7d-7700-8965-2cea946c246dLog files stored at:
/tmp/claude-logs/issue-2044-2026-09-01T17-29-49-806Z-conversation.json/tmp/claude-logs/issue-2044-2026-09-01T17-29-49-806Z-output.txtLatest Conversation Messages
This PR was created automatically by ProPR after processing issue #2044.
💡 Need changes?
Comment on this PR to request refinements — the AI agent monitors comments and will update the implementation based on your feedback. Keep iterating until you're satisfied!