[Epic] 1952-epic-electron-runtime-app - #2028
Conversation
…gine for CLI Implemented by ProPR AI using gpt-5.6-sol model. Implementation completed successfully.
…tance connec Implemented by ProPR AI using gpt-5.6-sol model. Implementation completed successfully.
…nstance conn Implemented by ProPR AI using gpt-5.6-sol model. Implementation completed successfully.
…compatibilit Implemented by ProPR AI using gpt-5.6-sol model. Implementation completed successfully.
…untime and r Implemented by ProPR AI using gpt-5.6-sol model. Implementation completed successfully.
Implemented the follow-up fix without committing. - [pr-build-check.yml](/tmp/git-processor/worktrees/integry/propr/pr-1963-followup-2026-08-29T14-25-06/.github/workflows/pr-build-check.yml:34) now builds `@propr/local-setup` before every affected CLI typecheck/test. - [build-publish.mjs](/tmp/git-processor/worktrees/integry/propr/pr-1963-followup-2026-08-29T14-25-06/packages/cli/scripts/build-publish.mjs:77) now builds and vendors `@propr/local-setup`, rewriting private workspace imports for the standalone CLI package. Verified successfully: - Local-setup and CLI typechecks - CLI lint - Hosted-tunnel suite: 312 tests passed - Init JSON suite: 12 passed - Local-setup suite: 9 passed - Agent Skill suite: 62 passed, 1 platform skip - CLI package dry-run and installed-tarball smoke test - YAML parsing and `git diff --check` Docker was unavailable locally, so the exact containerized `actionlint` invocation could not run. PR: #1963 Comment by: @github-actions[bot] (ID: 5462947943) Model: gpt-5.6-sol
…s](/tmp/git-processor/worktrees/integry/propr/pr-1963-followup-2026-08-29T14-34-00/packages/cli/src/commands/taskInspectCommands.test.ts:107). Fixed the full-suite failure in [taskInspectCommands.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-1963-followup-2026-08-29T14-34-00/packages/cli/src/commands/taskInspectCommands.test.ts:107). The test now validates concurrent state requests without assuming nondeterministic request order. Canonical output ordering remains separately verified. Validation: - Focused test passed 20 consecutive runs - CLI typecheck passed - `git diff --check` passed - No commit created PR: #1963 Comment by: @github-actions[bot] (ID: 5462991038) Model: gpt-5.6-sol
…p-shaped-ui-20260829-1408-e9w [1959 by GPT-5.6 Sol] Add the desktop-shaped UI mode and instance connection experience
…d-propr-api-20260829-1408-n3k [1954 by GPT-5.6 Sol] Create a shared ProPR API client and instance connection model
…anging Electron security configuration. Implemented the packaging supply-chain follow-up without changing Electron security configuration. Changes: - Upgraded all Electron Forge packages to `8.0.0-alpha.10`. - Pinned safe overrides: - `@electron/packager` 20.3.0 - `@electron/rebuild` 4.2.0 - Regenerated [package-lock.json](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T14-44-22/package-lock.json). - Added separate runtime and packaging audit scripts in [package.json](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T14-44-22/package.json). - Added a lockfile-first [desktop release guard](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T14-44-22/.github/workflows/desktop-release-guard.yml) that fails: - Runtime advisories at low or higher. - Desktop packaging advisories at high or critical. - Documented the audit policy in [apps/desktop/README.md](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T14-44-22/apps/desktop/README.md). Verification passed: - Clean `npm ci` - Runtime audit: 0 vulnerabilities - Desktop packaging audit: 0 vulnerabilities - Full `npm audit`: 0 vulnerabilities - Desktop/UI typecheck - 15 desktop tests - Linux desktop packaging - Workflow YAML validation and `git diff --check` The vulnerable `extract-zip`, Electron `node-gyp`, and `cacache` chains are absent. No advisory exception or constrained-exposure documentation was necessary. Changes remain uncommitted as requested. PR: #1967 Comment by: @integry (ID: 5463039825) Model: gpt-5.6-sol
…ktop-pairin-20260829-1408-o5i [1955 by GPT-5.6 Sol] Add secure desktop pairing tokens and compatibility discovery to the API
Implemented the release-blocking packaging fix. - Disabled only `LoadBrowserProcessSpecificV8Snapshot`; all hardened fuses remain enforced. - Added a packaged Linux smoke test that: - Validates every fuse state. - Launches without `--no-sandbox` or `--disable-sandbox`. - Requires Electron’s `ready-to-show` renderer event. - Requires a clean exit. - Added the smoke test to the desktop release guard using Xvfb and a correctly configured Chromium setuid sandbox helper. - Added `desktop:smoke` and documented its usage. Verification passed: - Shared package build - Desktop/UI typecheck - All 15 desktop tests - Forge Linux packaging - Fuse inspection, including the snapshot fuse disabled - Script syntax and `git diff --check` The current execution container cannot complete the final launch because it prohibits user namespaces and provides no root/sudo or Xvfb; Electron correctly failed closed instead of disabling its sandbox. The release CI now supplies the required sandbox helper configuration and display server to execute that proof automatically. PR: #1967 Comment by: @integry (ID: 5463056792) Model: gpt-5.6-sol
[Epic] 1953-epic-desktop-transport-api
Implemented the self-contained desktop preparation: - Added `desktop:prepare` to build `@propr/shared`. - Made `desktop:typecheck` and `desktop:package` invoke preparation first. - Added `packages/shared/**` to the release-guard trigger. - Documented the behavior. Files changed: [package.json](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T15-02-01/package.json:75), [desktop-release-guard.yml](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T15-02-01/.github/workflows/desktop-release-guard.yml:10), and [README.md](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T15-02-01/apps/desktop/README.md:23). Verification: - Runtime audit: 0 vulnerabilities - Packaging audit: 0 vulnerabilities - `npm ci`: passed - Typecheck from absent `packages/shared/dist`: passed and recreated output - Desktop tests: 15/15 passed - Forge Linux package: passed, independently rebuilding shared first - JSON, script syntax, and `git diff --check`: passed The packaged launch smoke was attempted but this execution host lacks both `sudo` and Xvfb and forbids unprivileged user namespaces. The harness verified the fuse configuration, then correctly failed closed because `chrome-sandbox` could not be made root-owned mode `4755`. The CI workflow retains the required sandbox-helper setup and Xvfb launch steps. PR: #1967 Comment by: @integry (ID: 5463103357) Model: gpt-5.6-sol
…tmp/git-processor/worktrees/integry/propr/pr-1963-followup-2026-08-29T14-56-46/.github/workflows/cli-node-compatibility.yml:6): Implemented the follow-up in [cli-node-compatibility.yml](/tmp/git-processor/worktrees/integry/propr/pr-1963-followup-2026-08-29T14-56-46/.github/workflows/cli-node-compatibility.yml:6): - Builds `@propr/shared`, then `@propr/local-setup`, before project-options tests. - Triggers compatibility checks when `packages/local-setup/**` changes. - Audited other clean-checkout CLI paths; they already prepare both dependencies via explicit builds, `test:prepare`, or self-contained `cli:pack`. Validation passed: - Node 22: 26/26 project-options tests - Node 24: 26/26 project-options tests - Full suite: all 309 test files plus UI workspace passed; UI 465/465 tests - `npm run cli:pack` - Actionlint 1.7.12 - Workflow YAML parsing and `git diff --check` Only the compatibility workflow is modified. No commit was created. PR: #1963 Comment by: @integry (ID: 5463097453) Model: gpt-5.6-sol
…-agnostic-l-20260829-1408-o4c [1958 by GPT-5.6 Sol] Extract the UI-agnostic local setup engine for CLI and desktop use
…ed release smoke: Implemented the Electron entry-format repair and strengthened release smoke: - Main/preload now emit explicit CommonJS `.cjs` bundles; packaged manifest and preload path match. - Packaged renderer uses a restricted app-owned protocol, preserving the disabled file-protocol privilege fuse, as [Electron recommends](https://www.electronjs.org/docs/latest/tutorial/security). - Renderer-ready is emitted only after verifying `window.proprDesktop`. - Smoke rejects known main-process uncaught-exception markers. Key changes: [package.json](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T15-14-42/apps/desktop/package.json:11), [main.ts](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T15-14-42/apps/desktop/src/main.ts:22), [smoke-packaged.mjs](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T15-14-42/apps/desktop/scripts/smoke-packaged.mjs:12). Validation: - Typecheck: passed - Desktop tests: 15/15 passed - Forge package: passed - Packaged manifest/bundle inspection: passed - Fuse validation: passed, including V8 snapshot fuse disabled - Functional packaged launch: reached renderer-ready with `"preloadBridgeExposed":true` The exact sandbox smoke was rerun but this container lacks `sudo` and cannot make `chrome-sandbox` root-owned mode `4755`; Chromium correctly refused to start rather than disabling sandboxing. The existing release workflow performs that ownership setup before running the unchanged smoke command. PR: #1967 Comment by: @integry (ID: 5463184150) Model: gpt-5.6-sol
…epic-desktop-experience-uxs Automatically resolved merge conflicts after merging target branch into PR branch. Resolved conflicts in: - propr-ui/src/api/apiClient.ts - propr-ui/src/api/compatibility.ts PR: #1968 Model: gpt-5.6-sol
…worktrees/integry/propr/pr-1968-followup-2026-08-29T15-39-39/propr-ui/src/App.tsx:458). The merged file exceeded ESLint’s 400-line limit by one effective line; the default wrapper is now a compact named function with unchanged behavior. Fixed the PR build failure in [App.tsx](/tmp/git-processor/worktrees/integry/propr/pr-1968-followup-2026-08-29T15-39-39/propr-ui/src/App.tsx:458). The merged file exceeded ESLint’s 400-line limit by one effective line; the default wrapper is now a compact named function with unchanged behavior. Validation passed: - UI lint with zero warnings - UI typecheck - UI production build - Focused App and desktop-pairing tests: 9/9 - `git diff --check` Only `propr-ui/src/App.tsx` was modified. No commit was created. PR: #1968 Comment by: @github-actions[bot] (ID: 5463307288) Model: gpt-5.6-sol
…ing the user-facing product name and all security settings. Implemented the Linux space-free package path while preserving the user-facing product name and all security settings. Changes: - Forge now emits `apps/desktop/out/propr-desktop-linux-x64` via [forge.config.ts](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T15-42-24/apps/desktop/forge.config.ts:11). - Smoke launches the exact space-free binary path in [smoke-packaged.mjs](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T15-42-24/apps/desktop/scripts/smoke-packaged.mjs:20). - CI configures the exact sandbox helper path without globbing in [desktop-release-guard.yml](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T15-42-24/.github/workflows/desktop-release-guard.yml:62). - Packaged ASAR metadata still contains `"productName":"ProPR Desktop"`. Verification passed: - Both audits: 0 vulnerabilities - Clean `npm ci`: 0 vulnerabilities - Desktop and renderer typecheck - Desktop tests: 15/15 - Forge package - Exact artifact and metadata assertions - Hardened fuse validation - `git diff --check` The final local renderer-ready launch could not complete because this container has neither `sudo` nor `xvfb-run`; it stopped at Chromium’s expected root/setuid ownership check. Its diagnostic used the complete new space-free path without truncation. The CI workflow retains the required `chown root:root`, mode `4755`, Xvfb, and sandboxed renderer-ready/bridge proof. PR: #1967 Comment by: @integry (ID: 5463320073) Model: gpt-5.6-sol
…st.mjs](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T15-50-52/test/orchestratorConfig.test.mjs:25). Fixed the full-suite failure in [test/orchestratorConfig.test.mjs](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T15-50-52/test/orchestratorConfig.test.mjs:25). The VAPID fixture now pads OpenSSL-generated private scalars to the required 32-byte width, preventing intermittent “malformed” results when a leading zero was omitted. Validation: - Exact suite-runner test: 56/56 passed - `git diff --check`: passed - No commit created - Only the test fixture file was modified PR: #1967 Comment by: @github-actions[bot] (ID: 5463323066) Model: gpt-5.6-sol
Implemented only F1 and F2. - Fixture query activation now requires `import.meta.env.DEV`; the trusted desktop bridge remains available in production. - Connection probe and persistence failures transition to retryable blocked states with distinct messaging. - Stale connection attempts are ignored. - Added production fixture, rejection, persistence, retry, and stale-attempt regression tests. Verification passed: - 11 focused tests - UI typecheck - UI lint - Production build - `git diff --check` No commit or PR was created. PR: #1968 Comment by: @propr-ultrafix (ID: 0) Model: gpt-5.6-sol
Implemented F1–F3 only. - [security.ts](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T16-10-43/apps/desktop/src/security.ts): packaged renderer trust now allows hash routes while rejecting queries, alternate hosts, and documents. - [desktop.tsx](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T16-10-43/propr-ui/src/desktop.tsx): activating a profile now reloads the renderer for fresh REST/socket module configuration. - [package.json](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T16-10-43/apps/desktop/package.json): dev, make, DEB, and RPM entrypoints prepare `@propr/shared`. - Added routed-IPC and two-endpoint switching regression tests. Validation passed: - Desktop tests: 15/15 - UI tests: 466/466 - Desktop and UI typechecks - All preparation hooks - `git diff --check` No commit created. PR: #1967 Comment by: @integry (ID: 5463457877) Model: gpt-5.6-sol
Implemented F3, F4, and F5 only. - Manager additions now connect and activate; active edits reconnect safely, while inactive edits remain save-only. - Save, remove, authentication, browser-launch, and active-clear failures surface as retryable UI errors. - macOS and Windows hide unsupported local setup and show remote-connection guidance. - Added focused regression coverage in [DesktopExperience.test.tsx](/tmp/git-processor/worktrees/integry/propr/pr-1968-followup-2026-08-29T16-15-38/propr-ui/src/desktop/DesktopExperience.test.tsx). Verification passed: - 15 focused tests - TypeScript typecheck - Targeted ESLint - `git diff --check` No commit was created. PR: #1968 Comment by: @integry (ID: 5463481548) Model: gpt-5.6-sol
Implemented only F4, F5, and F6. - F4: Deep-link IPC now registers eagerly in preload and buffers links until React subscribes. Main-process pending links are queued, preserving startup and loading-time second-instance links. - F5: Desktop logout now uses the active Electron session with credentials and manual redirects, then navigates internally to `#/login?logged_out=true` without external browsing. - F6: Credential mutations are serialized per profile with deterministic invocation-order semantics, including profile removal. Verification passed: - Desktop tests: 20/20 - UI tests: 467/467 - Desktop and UI typechecks - Electron Forge package - `git diff --check` No commit was created. PR: #1967 Comment by: @integry (ID: 5463548749) Model: gpt-5.6-sol
Implemented F6 only. - Desktop authentication now resolves only after a profile-specific completion signal. - Login refreshes shared authentication state, then navigates to the intended return path. - The sign-in button remains disabled while authentication is pending. - Added focused success-path and adapter completion tests. Key changes: [LoginPage.tsx](/tmp/git-processor/worktrees/integry/propr/pr-1968-followup-2026-08-29T16-34-38/propr-ui/src/pages/LoginPage.tsx:320), [types.ts](/tmp/git-processor/worktrees/integry/propr/pr-1968-followup-2026-08-29T16-34-38/propr-ui/src/desktop/types.ts:29), [desktop authentication test](/tmp/git-processor/worktrees/integry/propr/pr-1968-followup-2026-08-29T16-34-38/propr-ui/src/pages/LoginPage.desktopAuthentication.test.tsx:23). Verification passed: - 41 focused tests - UI TypeScript check - UI lint - `git diff --check` PR: #1968 Comment by: @integry (ID: 5463572792) Model: gpt-5.6-sol
Implemented F7 only. - Successful desktop authentication now reconnects the still-current profile. - Added a positive-path test covering authentication-required → authenticated → connected app. - Preserved existing authentication failure handling. Verification passed: - DesktopExperience tests: 16/16 - `propr-ui` TypeScript typecheck - `git diff --check` Modified only [DesktopExperience.tsx](/tmp/git-processor/worktrees/integry/propr/pr-1968-followup-2026-08-29T16-54-22/propr-ui/src/desktop/DesktopExperience.tsx) and [DesktopExperience.test.tsx](/tmp/git-processor/worktrees/integry/propr/pr-1968-followup-2026-08-29T16-54-22/propr-ui/src/desktop/DesktopExperience.test.tsx). PR: #1968 Comment by: @integry (ID: 5463666356) Model: gpt-5.6-sol
Implemented only F7, F8, and F9. - F7: Added an exact shared `propr-app://renderer` CORS boundary for REST and Socket.IO, enabled CORS on the registered scheme, and extended the packaged smoke test with a real credentialed renderer request. - F8: Added development-only inline-script CSP support and corrected Vite’s shared renderer entry resolution. Packaged output retains strict `script-src 'self'`. - F9: Added deterministic deep-link queue coordination and regression coverage for the post-load/pre-assignment race. Verification passed: - Desktop tests: 22/22 - API CORS tests: 12/12 - Desktop, UI, and API typechecks - API lint - Desktop profile UI test - Forge packaging - Vite development HTML and renderer module loading The packaged launch smoke was attempted but this container cannot configure the Chromium helper as root-owned mode `4755` or provide Xvfb. The existing release workflow provisions both before running the enhanced smoke test. PR: #1967 Comment by: @integry (ID: 5463673605) Model: gpt-5.6-sol
…webPushDispatcher.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-1968-followup-2026-08-29T17-05-56/packages/api/test/webPushDispatcher.test.ts:15). Fixed the intermittent notification regression failure in [webPushDispatcher.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-1968-followup-2026-08-29T17-05-56/packages/api/test/webPushDispatcher.test.ts:15). The fixture now uses a stable historical timestamp, preventing SQLite/Node wall-clock skew from temporarily hiding claimable jobs. Validation passed: - Full notification suite - Dispatcher test 20/20 repeated runs - API typecheck - API lint - `git diff --check` Only the intended test file changed; no commit was created. PR: #1968 Comment by: @github-actions[bot] (ID: 5463687760) Model: gpt-5.6-sol
…st.ts](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T17-17-44/packages/api/test/webPushDispatcher.test.ts:15). Fixed the flaky full-suite failure in [webPushDispatcher.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-1967-followup-2026-08-29T17-17-44/packages/api/test/webPushDispatcher.test.ts:15). The fixture now uses a stable historical timestamp, preventing SQLite wall-clock comparisons from intermittently hiding claimable delivery jobs. Validation passed: - Dispatcher suite: 20 consecutive runs, 340/340 tests - Notification suites: 42/42 tests - API typecheck - API lint - `git diff --check` Only the intended test file changed; no commit was created. PR: #1967 Comment by: @github-actions[bot] (ID: 5463780771) Model: gpt-5.6-sol
…74d8601ed871535c24646a6`. Implemented the exact-head correction on `d2ba71eb795fd0a5d74d8601ed871535c24646a6`. - F22 now requires an exact durable SID plus freshly canonicalized LocalPath before every production `Remove-CimInstance`. - Uncaptured profiles are promoted only through authenticated marker/SID authority, with the canonical path durably written before deletion. - Path mismatches preserve the profile, local-user authentication authority, and ACTIVE manifest. Added retry coverage after restoring the exact path. - Controller no longer uses `Console.SetError`, `trap`, or labeled flow. Add-Type and the controller body use an ordinary outer try/catch, followed by bounded finalization and exactly two flushed stdout lines. - Updated focused x64/ARM64 fixture contracts in [test-installed-windows-app-supervisor.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T05-20-24/apps/desktop/scripts/test-installed-windows-app-supervisor.ps1). Validation: - Focused release workflow tests: 23/23 passed. - Desktop tests: 177 passed, 6 platform skips. - Desktop TypeScript typecheck passed. - `git diff --check` passed. Native x64/ARM64 execution requires Windows CI and could not be run on this Linux host. No commit was created. PR: #2042 Comment by: @integry (ID: 5489285503) Model: gpt-5.6-sol
…e54e097394fb88f85d0a0c9`. Implemented the exact-head correction on `de947aac8e3f0dd04e54e097394fb88f85d0a0c9`. Key changes: - F23 profile paths now require canonical, non-reparse ancestry under the registry-defined system `ProfilesDirectory`, exact direct-child depth, exact username leaf, SID, and durable-record agreement before promotion and immediately before deletion. - Added out-of-root and alternate-leaf regressions preserving profile, account, and ACTIVE recovery authority. - Reworked the x64 cleanup controller into a stable scriptblock launcher with a small top-level catch. - Added sanitized startup diagnostics: allowlisted classification, signed exit, and numeric line only. - Removed cold fixture `Add-Type` from the ARM primary-fallback measured path and added allowlisted supervisor/marker diagnostics. - Updated supplementary contracts without changing F10–F22 behavior. Validation passed: - Focused release workflow: 23/23 - Full desktop suite: 177 passed, 6 skipped - Desktop TypeScript typecheck - `git diff --check` Native x64/ARM64 execution requires Windows CI and was unavailable locally. Changes remain uncommitted as requested. PR: #2042 Comment by: @integry (ID: 5489417497) Model: gpt-5.6-sol
…9424235155bb86b7b506842` without committing.
Implemented the exact-head correction on `b9415f52f8a50288c9424235155bb86b7b506842` without committing.
Key changes:
- Added strict schema-v3 installer authority: canonical path, filesystem entry identity, SHA-256, and validated MSI ProductCode.
- Revalidates identity/digest before artifact consultation and uses only `msiexec /x {GUID}`.
- Same-path replacement fails closed, preserves foreign content and ACTIVE recovery authority, and avoids destructive cleanup.
- Preserved validated EMPTY receipt behavior.
- Split the cleanup controller into a minimal [entry wrapper](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T05-57-48/apps/desktop/scripts/run-installed-windows-app-workflow-cleanup.ps1) and separate [controller body](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T05-57-48/apps/desktop/scripts/run-installed-windows-app-workflow-cleanup-body.ps1).
- Added fixed two-line, zero-stderr startup classification for PARSER, PARAMETER_BINDING, TYPE_LOAD, and OTHER.
- Added direct startup-class and native same-path replacement fixtures.
Validation passed:
- Focused release workflow: 23/23
- Desktop suite: 177 passed, 6 platform skips
- Desktop typecheck
- PowerShell syntax audit
- Full suite: all 332 test files plus UI workspace; UI 501/501
- `git diff --check`
Native win32-x64/ARM64 execution is unavailable on this Linux host; the architecture-specific fixtures and workflow gates are in place for CI.
PR: #2042
Comment by: @integry (ID: 5489577926)
Model: gpt-5.6-sol
…a…`. Implemented the exact native protocol correction on `d0450fa…`. - Wrapped the complete `-f $failureClass, $line` expression so `Console.Out.WriteLine` receives one evaluated string. - Changed only [run-installed-windows-app-workflow-cleanup.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T17-04-00/apps/desktop/scripts/run-installed-windows-app-workflow-cleanup.ps1:39). - Preserved all F10–F24 implementation files and behavior. - `git diff --check`: passed. - Focused release workflow contract: 23/23 passed, including mandatory x64/ARM64 native supervisor gates. Native Windows execution was unavailable on this Linux host. No commit was created. PR: #2042 Comment by: @integry (ID: 5497532979) Model: gpt-5.6-sol
Implemented the bounded NO_MARKER correction. Key changes: - Added allowlisted diagnostics for supervisor exit, required marker presence/outcome, worker-tree termination, and cleanup exit category. - Authenticated initial schema-v3 ACTIVE/no-resource fixture manifests now revalidate installer authority and atomically become exact EMPTY receipts. - NO_MARKER now requires verified tree termination, cleanup exit `0`, cleanup `COMPLETE`, and preserved exit `124`. - F24 installer identity, digest, ProductCode, and ProductCode-only uninstall checks remain unchanged. Validation: - Desktop tests: 177 passed, 6 platform-specific skipped. - Desktop TypeScript typecheck passed. - Diff checks passed. - Native x64/ARM64 execution remains enforced by the existing CI matrix but is unavailable in this Linux environment. No commit was created. PR: #2042 Comment by: @integry (ID: 5497648125) Model: gpt-5.6-sol
Implemented the pre-branch correction on `06b8844…`. Key changes: - Corrected manifest `FILE_AUTHORITY` validation using a single authenticated file handle compatible with atomic replacement, with entry-identity revalidation. - Added fixture-only exit-20 validation phases restricted to the requested enum. - Preserved installer entry/digest/ProductCode revalidation, exact EMPTY receipt conversion, watchdog exit 124, and production cleanup behavior. - Extended supervisor diagnostics and static contract coverage. Validation: - Desktop suite: 177 passed, 6 skipped. - Release-workflow tests: 23 passed. - Touched PowerShell scripts parse successfully. - `git diff --check` passed. Native x64/ARM64 execution remains CI-only in this Linux environment. No commit was created. PR: #2042 Comment by: @integry (ID: 5497806473) Model: gpt-5.6-sol
…rslist advis Implemented by ProPR AI using gpt-5.6-sol model. Implementation completed successfully.
Implemented the fixture-only diagnostic transport: - Redirects cleanup-child stdout/stderr, assigns the Job Object, releases the handshake, then starts bounded drains. - Enforces 96-byte/one-line stdout, zero stderr, strict allowlisted enum parsing, and zero-output success. - Re-emits only the parsed enum through the existing supervisor diagnostic. - Rejects malformed, extra, raw, or timed-out output while retaining recovery authority. - Added static ordering and protocol contracts. Files: [harness](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T17-44-03/apps/desktop/scripts/run-installed-windows-app-harness.ps1:372), [cleanup worker](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T17-44-03/apps/desktop/scripts/cleanup-installed-windows-app.ps1:29), [contracts](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T17-44-03/apps/desktop/src/release-workflow.test.ts:769). Validation: - Desktop tests: 177 passed, 6 skipped. - Touched PowerShell scripts parse successfully. - Embedded C# compiles successfully. - Bounded drain behavior verified. - `git diff --check` passed. - No lockfiles or ancestry changed. The existing logs cannot identify the failing phase because that stream was lost. I therefore did not add another speculative authority change; the next native x64/ARM64 run will now expose the exact enum or prove cleanup exit 0/COMPLETE. PR: #2042 Comment by: @integry (ID: 5497992679) Model: gpt-5.6-sol
…desktop-pac-20260901-1743-dfw [2048 by GPT-5.6 Sol] Patch runtime desktop packaging browserslist advisories
Implemented the schema-v3 follow-up on exact head `4eb7dcd9`. - Split `UTF8_SCHEMA` into seven fixed phases: UTF-8 decode, JSON parse, exact keys, Boolean types, transaction enum, schema/type/state, and identifier formats. - Corrected Boolean validation to inspect the PSObject base type, still rejecting strings/numbers. - NO_MARKER now exercises the real supervisor writer → Windows PowerShell 5.1 cleanup reader path. - Replaced the unavailable .NET Framework `File.Move(..., overwrite)` overload with atomic `File.Replace`. - Preserved the 96-byte, one-line, zero-stderr, Job Object, timeout, strict-enum, and fail-closed parser contracts. - Added static regression contracts covering the new phases and PowerShell 5.1 path. Validation: - Desktop suite: 177 passed, 6 platform skips. - Modified PowerShell scripts parse successfully. - `git diff --check` passed. - No lockfiles, ancestry, or unrelated files changed. Native x64/ARM64 execution remains for the Windows CI matrix; the existing NO_MARKER acceptance now requires exit `124`, cleanup `COMPLETE`, and cleanup-child exit `0` through PowerShell 5.1. PR: #2042 Comment by: @integry (ID: 5498161017) Model: gpt-5.6-sol
…9db162e7c23a5024a57382bc989e`. Implemented the #2042 follow-up on exact head `3af480032d479db162e7c23a5024a57382bc989e`. Key changes: - Split `IDENTIFIER_FORMATS` into the four requested bounded phases. - Corrected the capture/display-object versus canonical JSON wire-string mismatch. - Enforced exact lowercase RunId/entry/SHA and uppercase braced ProductCode representations, with immediate JSON round-trip validation. - Main `NO_MARKER` now uses the actual native `pwsh` host; a separate fixture retains PowerShell 5.1 coverage. - Updated parent enums/parsers and regressions, including zero-stderr, cleanup exit `0`, cleanup `COMPLETE`, and watchdog exit `124` assertions. - Preserved schema v3, BaseObject type proofs, F24 authority, Job Object ordering, retention behavior, and startup protocol. Validation passed: - PowerShell parsing: passed - Focused workflow tests: 23/23 - Desktop suite: 177 passed, 6 platform skips - Desktop typecheck - `git diff --check` - No lockfiles or ancestry changed; no commit created Native x64/ARM64 execution remains CI-only. PR: #2042 Comment by: @integry (ID: 5498348786) Model: gpt-5.6-sol
…ct head `1a40502b4c0df8f508642de892eafb5f8e341ca3`. Implemented the post-validation NO_MARKER correction on exact head `1a40502b4c0df8f508642de892eafb5f8e341ca3`. Key changes: - Added bounded `INITIAL_INSTALLER_AUTHORITY_RECHECK` and `EMPTY_RECEIPT_WRITE` phases for exits 20/21. - Restored native pwsh atomic `File.Move(..., overwrite)` while retaining PS5.1 `File.Replace`. - Moved `manifestValidated` after installer authority succeeds. - Builds EMPTY receipts from a copy, preserving canonical ACTIVE authority on write failure. - Preserved zero stderr, one ≤96-byte stdout line, timeout, and Job Object ordering. - Explicitly documented that earlier identifier evidence was from PS5.1, while current exit 21 is native pwsh. Files changed: - [cleanup-installed-windows-app.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T18-30-01/apps/desktop/scripts/cleanup-installed-windows-app.ps1:1027) - [run-installed-windows-app-harness.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T18-30-01/apps/desktop/scripts/run-installed-windows-app-harness.ps1:939) - [test-installed-windows-app-supervisor.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T18-30-01/apps/desktop/scripts/test-installed-windows-app-supervisor.ps1:748) - [release-workflow.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T18-30-01/apps/desktop/src/release-workflow.test.ts:753) Validation: - Focused workflow tests: 23 passed - Desktop suite: 177 passed, 6 platform skips - Desktop typecheck: passed - `git diff --check`: passed - No lockfiles, commits, or ancestry changes Native x64/ARM64 execution remains for the Windows CI code gate. PR: #2042 Comment by: @integry (ID: 5498530554) Model: gpt-5.6-sol
…ct head `faf1d69041ecf7919449a7a5704fb3068162879a`. Implemented the PS5.1 receipt replacement correction on exact head `faf1d69041ecf7919449a7a5704fb3068162879a`. - Replaced PS5.1 `File.Replace` with same-directory `MoveFileExW` using `MOVEFILE_REPLACE_EXISTING | MOVEFILE_WRITE_THROUGH`, with immediate Win32 error capture. [cleanup-installed-windows-app.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T18-41-08/apps/desktop/scripts/cleanup-installed-windows-app.ps1:170) - Enforced existing source/destination files and identical directories; no cross-volume copy, delete-then-move, or missing-path window. - Added failure-only temporary-file cleanup while retaining canonical ACTIVE authority. - Preserved the Core `File.Move(..., overwrite)` path and exact EMPTY receipt construction. - Updated focused contract coverage and PS5.1 scenario documentation. [release-workflow.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T18-41-08/apps/desktop/src/release-workflow.test.ts:770) Validation: - Focused workflow tests: 23 passed - Desktop suite: 177 passed, 6 platform skips - Desktop typecheck: passed - `git diff --check`: passed - HEAD and ancestry unchanged; no commit created Native x64/ARM64 PS5.1 execution requires Windows CI. The replacement flags follow Microsoft’s documented [`MoveFileExW` contract](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-movefileexw). PR: #2042 Comment by: @integry (ID: 5498668928) Model: gpt-5.6-sol
…5605cfc21fb95ac378dbbffa02a71087`. Implemented diagnostic-only changes on exact head `4a9d15e95605cfc21fb95ac378dbbffa02a71087`. - ARM64 assertion now reports bounded, allowlisted process exit, MSI transaction, cleanup outcome, and provisional/nonprovisional authority state. Input is capped at 4096 bytes, 32 lines, and 192 bytes per line. - X64 retry assertion now reports validated `ExitCode`, `Result`, `ControllerStatus`, and `ReportedExitCode`, capped at 256 bytes. - Added source-contract coverage in [release-workflow.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T18-52-04/apps/desktop/src/release-workflow.test.ts:1022). - No production cleanup, cancellation, Job Object, authority, or replacement semantics changed. Validation: - Focused workflow tests: 23 passed. - Full desktop tests: 177 passed, 6 platform-specific skipped. - `git diff --check`: clean. - Native Windows execution was unavailable on this Linux host. PR: #2042 Comment by: @integry (ID: 5498804736) Model: gpt-5.6-sol
…app-supervisor.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T19-02-32/apps/desktop/scripts/test-installed-windows-app-supervisor.ps1:399). Implemented the parser-only fix in [test-installed-windows-app-supervisor.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T19-02-32/apps/desktop/scripts/test-installed-windows-app-supervisor.ps1:399). - Captures the `switch` output first. - Requires exactly one allowlisted value: `PROVISIONAL`, `NONPROVISIONAL`, or `FAILED`. - Adds only the validated string. - No production cleanup, cancellation, diagnostics, or bounds changed. Validation: - Whole-file PowerShell 7.6.5 parser check: passed, zero errors. - Focused release workflow tests: 23/23 passed. - `git diff --check`: passed. - No commit created. PR: #2042 Comment by: @integry (ID: 5498943044) Model: gpt-5.6-sol
…0786004979b3374f2b3edd2039f508ea35a3e9`. Implemented the diagnostic-only follow-up on exact head `280786004979b3374f2b3edd2039f508ea35a3e9`. - Added `STARTUP_FAILURE`-only sanitized metadata with allowlisted class, signed exit, bounded line `1..999999`, and fixed `INVALID` sentinels. - Preserved the existing fields and 256-byte cap. - Added valid/invalid parser and sanitizer regressions, including non-startup exclusion. - Changed no cleanup, retry, authority, cancellation, watchdog, or replacement semantics. Files: - [test-installed-windows-app-supervisor.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T19-11-16/apps/desktop/scripts/test-installed-windows-app-supervisor.ps1:452) - [release-workflow.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T19-11-16/apps/desktop/src/release-workflow.test.ts:978) Validation: - Desktop suite: 177 passed, 6 platform-specific skipped. - Targeted workflow suite: 23 passed. - `git diff --check`: clean. - Native PowerShell execution awaits the next x64/ARM64 jobs; `pwsh` is unavailable locally. PR: #2042 Comment by: @integry (ID: 5499049144) Model: gpt-5.6-sol
Implemented the exact parser-only fix. - Split cleanup-worker path construction and resolution into two syntactically complete lines while preserving `-LiteralPath`, `-ErrorAction Stop`, and path semantics. - Added a whole-file AST parser regression to the native `pwsh` supervisor suite. - Preserved the existing Windows PowerShell 5.1 compatibility scenario. - No cleanup or lifecycle semantics changed. Validation: - Release-workflow tests: 23/23 passed. - `git diff --check`: passed. - Native x64/ARM64 execution was unavailable in this Linux environment, so no later bounded assertion was observed. - Changes remain uncommitted as requested. PR: #2042 Comment by: @integry (ID: 5499191816) Model: gpt-5.6-sol
…into 2041/gpt-5.6-sol-bound-every-windows-insta-20260901-0045-zue
Integrate the bounded Windows installed-app startup, cancellation, authority, cleanup, receipt, and diagnostic hardening into the runtime sub-epic. Durable ownership-capture publication and cleanup-controller protocol completeness remain explicit blocking correction tasks before runtime propagation to the top desktop epic.
|
CI failed: Validate unsigned linux-arm64 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
|
|
CI failed: Validate unsigned darwin-arm64 package Please investigate and fix this CI failure.
Failure evidence
|
|
CI failed: Validate unsigned darwin-x64 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 win32-arm64 package Please investigate and fix this CI failure.
Failure evidence
|
…ime lock res Implemented by ProPR AI using gpt-5.6-sol model. Implementation completed successfully.
…cal-qs-and--20260902-1901-jro [2078 by GPT-5.6 Sol] Restore canonical qs and fast-uri runtime lock resolution for macOS/Linux packaging
|
CI failed: Validate unsigned win32-x64 package Please investigate and fix this CI failure.
Failure evidence
|
|
CI failed: Validate unsigned win32-arm64 package Please investigate and fix this CI failure.
Failure evidence
|
|
CI failed: Run Full Test Suite Please investigate and fix this CI failure.
Failure evidence
|
Epic PR
This PR aggregates all changes from child PRs merged to the
1952-epic-electron-runtime-appbranch.Created automatically by ProPR
Closes #1952