[Epic] 1952-epic-electron-runtime-app - #2028
Draft
propr-dev[bot] wants to merge 177 commits into
Draft
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
…687837236817e7f455f`. Implemented only F1/F2 on exact head `30b33a80802262d60e7c7687837236817e7f455f`. Key changes: - Added supervisor-owned monotonic bootstrap deadline immediately after worker start. - Added bounded, size-capped marker reading with malformed, torn, inaccessible, stale, and unknown markers failing closed. - Added fixed redacted bootstrap, accepted-transition, cancellation, timeout, and last-valid-marker output. - Ensured timeout/cancellation terminates the owned Job Object tree and performs safe cleanup. - Added executable Windows tests covering all requested scenarios, including PID-based worker/descendant termination and real pre-existing user/profile/install/registry/shortcut ownership checks. - Wired focused tests into both x64 and ARM64 Windows matrices without changing workflow/product timeouts. - Kept source inspection only as supplementary lint. Files: - [Supervisor](/home/node/workspace/apps/desktop/scripts/run-installed-windows-app-harness.ps1) - [Executable behavior tests](/home/node/workspace/apps/desktop/scripts/test-installed-windows-app-supervisor.ps1) - [Fixture worker](/home/node/workspace/apps/desktop/scripts/test-installed-windows-app-supervisor-fixture.ps1) - [Workflow](/home/node/workspace/.github/workflows/desktop-release-guard.yml) - [Supplementary contracts](/home/node/workspace/apps/desktop/src/release-workflow.test.ts) Validation completed: - Desktop tests: 177 passed, 6 platform skips - Desktop/UI typechecks passed - Focused workflow contracts passed - Workflow YAML parsed successfully - Docker-independent Validate Changes tests and CLI packaging passed - `git diff --check` passed, including new files Windows-native x64/ARM64 tests and ordinary-user MSI flows cannot execute in this Linux container; they are mandatory in both Windows workflow matrix paths. Full Suite was blocked at Redis startup because Docker is unavailable. No commit was created. PR: #2042 Comment by: @integry (ID: 5486941518) Model: gpt-5.6-sol
…efa675d782bfefe343c16175a0f2ba1e9fc9`. Implemented the fixture-only correction on exact HEAD `436cefa675d782bfefe343c16175a0f2ba1e9fc9`. - Removed all `CreateProfile`/`DeleteProfile` P/Invoke code. - Added fail-closed runner identity and `Win32_UserProfile` snapshot validation, including canonical path, reparse checks, ACL owner, existence, and stable CIM metadata. These are documented `Win32_UserProfile` fields in [Microsoft’s class reference](https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ee886409%28v%3Dvs.85%29). - Proved the profile remains identical and no profile lookup/removal marker was entered. - Kept a profile-less local user solely for preservation proof, with exact SID-guarded cleanup. - Added fixed redacted evidence and regression contracts. - Did not modify supervisor/bootstrap/tree logic, timeouts, production behavior, or workflows. Changed: - [test-installed-windows-app-supervisor.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T01-23-26/apps/desktop/scripts/test-installed-windows-app-supervisor.ps1:215) - [release-workflow.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T01-23-26/apps/desktop/src/release-workflow.test.ts:558) Validation passed: - Desktop tests: 177 passed, 6 platform skips - Focused workflow contracts: 23 passed - Validate Changes Node gates: release metadata, 278 unit tests, 316 hosted-tunnel tests, 66 UI tests, CLI package verification - `git diff --check` Native Windows x64/ARM64 fixture and ordinary-user MSI tests could not run on this Linux host, which has no Windows/PowerShell runner. Docker-based actionlint/shellcheck was also unavailable because Docker is not installed. PR: #2042 Comment by: @integry (ID: 5487142136) Model: gpt-5.6-sol
Implemented only F1 and F2. - Added durable ownership manifests and a separately supervised, bounded post-termination cleanup controller in [run-installed-windows-app-harness.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T01-35-21/apps/desktop/scripts/run-installed-windows-app-harness.ps1). - Added ownership-safe cleanup for MSI resources, registry, shortcuts, smoke data, profiles, and users in [cleanup-installed-windows-app.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T01-35-21/apps/desktop/scripts/cleanup-installed-windows-app.ps1). - Replaced the vacuous baseline-rejection fixture with a real timeout case that creates run-owned resources and conflicting pre-existing identities, then verifies owned resources are removed and conflicts remain unchanged. - Preserved fixed, redacted cleanup completion/failure/timeout diagnostics. Validation passed: - Desktop tests: 177 passed, 6 skipped - Desktop TypeScript typecheck - Focused workflow tests: 23 passed - `git diff --check` Native Windows acceptance remains wired for both x64 and ARM64 CI jobs; it could not run in this Linux container. No commit was created. PR: #2042 Comment by: @integry (ID: 5487345104) Model: gpt-5.6-sol
…4d8fbdc99e50d6cf5fef5773a497db1ae58da`. Implemented the complete #2042 follow-up on exact head `a064d8fbdc99e50d6cf5fef5773a497db1ae58da`. Key changes: - Added durable, workflow-addressable ownership manifests and bounded `if: always()` cleanup for both Windows matrix jobs. - Supervisor now derives cleanup necessity from started/live/incomplete workers, terminates the Job first, and only removes internally managed manifests after fixed cleanup results. - Added graceful external interruption and killed-supervisor workflow cleanup fixtures, including malformed/stale/missing manifest rejection and conflict preservation. - Added complete App Paths registry authority across baseline, manifest, validation, uninstall, fallback cleanup, and owned/pre-existing/mismatched-identity tests. - Changed only `VALID_THEN_DEADLINE` to a 2.5-second operation deadline with exact accepted-before-timeout and measured bounds. - Preserved production watchdog deadlines and polling settings. Local validation passed: - Desktop suite: 177 passed, 6 platform skips - Desktop/UI typechecks - Fast unit suite: 278 passed - Focused workflow contracts: 23 passed - Workflow YAML parsing - `git diff --check`, including the new cleanup script Windows-native x64/ARM64 fixtures and the Redis-backed Full Suite could not run in this Linux workspace because PowerShell, Windows registry/CIM, Docker, and Redis services are unavailable. Both Windows architectures remain mandatory in the updated workflow. No commit was created. PR: #2042 Comment by: @integry (ID: 5487638811) Model: gpt-5.6-sol
Implemented the requested #2042 follow-up without committing. Key changes: - Added HKCU `Software\ProPR\Desktop` / `installed` baseline capture, value-level manifest ownership, uninstall checks, exact restoration, conflict preservation, and empty-key-only removal. - Added schema-v2 typed `ACTIVE` and authenticated `EMPTY` manifest states. - Added fixed controller classifications and exit codes for manifest validation, resource cleanup, timeout, and controller failures; raw child output is discarded. - Added executable HKCU ownership/conflict coverage and distinct normal-success/already-cleaned receipt coverage. - Kept the acceptance fixture required for both x64 and ARM64 workflow jobs. Primary files: [cleanup-installed-windows-app.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T02-30-18/apps/desktop/scripts/cleanup-installed-windows-app.ps1), [test-installed-windows-app.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T02-30-18/apps/desktop/scripts/test-installed-windows-app.ps1), and [test-installed-windows-app-supervisor.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T02-30-18/apps/desktop/scripts/test-installed-windows-app-supervisor.ps1). Validation: - Focused workflow contracts: 23/23 passed - Full desktop suite: 177 passed, 6 platform skips - Desktop TypeScript typecheck: passed - `git diff --check`: passed Windows-native x64/ARM64 fixtures remain CI-only because this environment is Linux. PR: #2042 Comment by: @integry (ID: 5487863465) Comment by: @integry (ID: 5487872316) Comment by: @integry (ID: 5487880305) Model: gpt-5.6-sol
…tting. Implemented the requested PR #2042 follow-ups without committing. - F5: provisional ownership now authorizes only bounded MSI uninstall. Manual filesystem, shortcut, HKCU, and registry cleanup requires durable tokens or exact captured identities in [cleanup-installed-windows-app.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T02-51-19/apps/desktop/scripts/cleanup-installed-windows-app.ps1:227). - F6: manifests are deleted only after exact `COMPLETE`/`true` results in [workflow cleanup](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T02-51-19/apps/desktop/scripts/run-installed-windows-app-workflow-cleanup.ps1:217) and [standalone cleanup](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T02-51-19/apps/desktop/scripts/run-installed-windows-app-harness.ps1:648). - Replaced unsafe PowerShell async callbacks with a C# stream drain. - Made process-state publication atomic and increased the fixture-only bootstrap allowance. - Added executable replacement/collision, FAILED/TIMED_OUT retention, and retry-to-COMPLETE coverage in [test-installed-windows-app-supervisor.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T02-51-19/apps/desktop/scripts/test-installed-windows-app-supervisor.ps1:639). Validation: - Desktop tests: 177 passed, 6 platform skips. - Desktop typecheck: passed. - Focused release-workflow contracts: 23 passed. - `git diff --check`: passed. The Windows-native x64/ARM64 fixture could not run in this Linux environment and remains required in CI. PR: #2042 Comment by: @integry (ID: 5488111133) Comment by: @integry (ID: 5488155740) Model: gpt-5.6-sol
…35acc0e6debb34cddb5aff0d5c0efdae5cedd129`. Implemented the complete F10–F13 correction on exact head `35acc0e6debb34cddb5aff0d5c0efdae5cedd129`. Key changes: - Verified Job worker-tree termination now gates all cleanup; failures preserve ACTIVE recovery authority. - Removed unchanged-HKCU MSI-uninstall bypass. - Added marker-bound provisional-user SID adoption with durable ACTIVE-manifest persistence. - Replaced recursive owned-directory deletion with authenticated file/marker cleanup and empty-only, deepest-first removal. - Added termination-failure, unchanged-HKCU uninstall, provisional replacement, and in-place foreign-child coverage. - Replaced async PowerShell callbacks with bounded C# stream pumps and fixed finalization diagnostics; fixed result lines are emitted last. - Preserved typed EMPTY receipts, ARM deadline, HKCU value restoration, and both `if: always()` seams. Validation: - Desktop tests: 177 passed, 6 skipped. - Focused workflow contracts: 23 passed. - Desktop typecheck passed. - `git diff --check` passed. - Native x64/ARM64 fixture could not run locally because this environment is Linux without PowerShell or Windows runners; it remains wired for both PR workflow architectures. Modified scripts are under [apps/desktop/scripts](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T03-17-55/apps/desktop/scripts), with contract updates in [release-workflow.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-2042-followup-2026-09-01T03-17-55/apps/desktop/src/release-workflow.test.ts). No commit was created. PR: #2042 Comment by: @integry (ID: 5488384761) Model: gpt-5.6-sol
…ting. Implemented the exact-head F14–F16 follow-up without committing. Key changes: - Primary install/shortcut fallbacks now remove directories non-recursively and only when empty. - Smoke cleanup uses exact token, SID, owner, ACL, reparse, and object-identity validation with bounded traversal. - Provisional smoke roots are durably promoted before further mutation; missing/mismatched tokens fail closed. - Added interruption fixtures before/after promotion, after Electron/log creation, token mismatch/missing, and foreign descendants. - Added top-level fixed controller phase/line classification and bounded stream finalization. - Raised only `NO_MARKER`’s fixture ceiling to 60 seconds. Validation: - Desktop tests: 177 passed, 6 skipped - Desktop typecheck: passed - Focused workflow contracts: 23 passed - `git diff --check`: passed Native x64/ARM64 execution requires Windows CI; the workflow continues to require the focused fixture on both architectures. PR: #2042 Comment by: @integry (ID: 5488566692) Model: gpt-5.6-sol
…tting. Implemented the exact-head F17/F18 correction without committing. Key changes: - Added durable install-tree, descendant, shortcut-folder, and shortcut object identities, revalidated immediately before every MSI `/x` invocation. - Replacement or provisional authority now aborts before MSI or cleanup mutation, preserves resources, and retains ACTIVE recovery authority. - Added distinct replaced-executable and replaced-shortcut retry fixtures. - Replaced the unsafe signed-exit-to-`uint32` cast with fixed termination code `125`; added a negative-exit tree-cleanup fixture. - Deferred fixture `Add-Type` until after process state and the first valid marker. - Parsed fixed controller stdout before stderr classification and suppressed raw controller stderr before cold type loading; child stderr remains bounded and classified. - Added static contracts covering F17/F18 while retaining F10–F16. Validation: - Desktop suite: 177 passed, 6 platform skips. - Desktop typecheck: passed. - Focused workflow contracts: passed. - `git diff --check`: passed. The native x64/ARM64 supervisor fixture requires the Windows CI matrix; it cannot run in this Linux workspace. PR: #2042 Comment by: @integry (ID: 5488805055) Model: gpt-5.6-sol
…2197d08c65f6cef461d5720b64d43f4`. Implemented the exact-head F19/F20 correction on `a30d8bf312197d08c65f6cef461d5720b64d43f4`. Key changes: - F20: `Remove-OwnedFile` now requires and rechecks durable `EntryIdentity` immediately before deletion, alongside content identity. - Added byte-identical replace-via-move coverage proving foreign survival, ACTIVE authority retention, and successful retry only after restoring the owned entry. - F19: introduced explicit `PENDING`, `COMMITTED`, and `ROLLED_BACK_CLEAN` MSI receipts. - Path-only provisional evidence can no longer authorize `/x`. - Added fixed 30-second cancellation grace, exact filesystem/registry/product-registration rollback checks, durable identity publication, and `DURING_MSI` / `DURING_OWNERSHIP_CAPTURE` gates. - Controller now emits exactly two lines using flushed `Console.Out`, with no `Write-Host`. - Protocol failures expose only bounded line/stderr counts. Validation: - Full desktop suite: **177 passed, 6 skipped** - `git diff --check`: passed - Release workflow contracts: passed - No commit created. The native focused PowerShell fixture cannot run in this Linux environment; x64 and ARM64 fixture success remains required in CI before merge. PR: #2042 Comment by: @integry (ID: 5488967936) Model: gpt-5.6-sol
…00292e7f8ecc86da99f7e942905`. Implemented the exact-head F21 correction on `41cd874ada64900292e7f8ecc86da99f7e942905`. - Cleanup worker now handshakes before `Add-Type`. - Controller assigns the worker to its Job Object immediately after start, before drains and release. - Completion, timeout, success, and manifest deletion require Job active-process count zero. - Added early-initialization child-spawn timeout coverage with recovery-authority retention. - Changed only `VALID_THEN_DEADLINE` to `VALIDATION|INSTALL_TREE_SCAN|BEGIN`. - Preserved production/generic bounds and F10–F20. Validation: - Desktop suite: 177 passed, 6 platform skips. - Desktop typecheck: passed. - Focused workflow contract: 23 passed. - `git diff --check`: passed. Native x64/ARM64 execution was unavailable in this Linux environment, but the mandatory dual-architecture workflow fixture remains enforced. No commit was created. PR: #2042 Comment by: @integry (ID: 5489175076) 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Epic PR
This PR aggregates all changes from child PRs merged to the
1952-epic-electron-runtime-appbranch.Created automatically by ProPR