Skip to content

[2052 by GPT-5.6 Sol] Make Windows ownership capture authority durable before interruption - #2055

Open
propr-dev[bot] wants to merge 2 commits into
1952-epic-electron-runtime-appfrom
2052/gpt-5.6-sol-make-windows-ownership-ca-20260901-2205-od8
Open

[2052 by GPT-5.6 Sol] Make Windows ownership capture authority durable before interruption#2055
propr-dev[bot] wants to merge 2 commits into
1952-epic-electron-runtime-appfrom
2052/gpt-5.6-sol-make-windows-ownership-ca-20260901-2205-od8

Conversation

@propr-dev

@propr-dev propr-dev Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

AI Implementation Summary

Closes #2052

Branch: 2052/gpt-5.6-sol-make-windows-ownership-ca-20260901-2205-od8
Commits: ✅ Changes committed (2be43cc)


AI Processing Completed

Execution Details:

Summary:
Implemented the Windows ownership publication fix.

Key changes:

  • Added monotonic Generation and explicit AuthorityState fields.
  • Added bounded AUTHORITY_PUBLICATION phase; OWNERSHIP_CAPTURE is observable only after durable commit and re-read.
  • Uses same-directory MoveFileExW with REPLACE_EXISTING | WRITE_THROUGH.
  • Validates schema, identities, Boolean types, generation, installer authority, and complete resource authority.
  • Preserves canonical authority on partial writes, stale generations, collisions, or interruption.
  • Supports cleanup retry from a byte-identical flushed receipt.
  • Added Windows regressions for stale generation, partial collision, flush-before-rename recovery, and retry.

Files include test-installed-windows-app.ps1, cleanup-installed-windows-app.ps1, and supervisor fixtures/tests.

Validation:

  • Release workflow suite: 23/23 passed.
  • Full desktop suite: 177 passed, 6 platform-specific skips.
  • Native PowerShell regressions require the Windows x64/ARM64 CI jobs.

Detailed Logs:

  • Conversation: 126 messages
  • Session: 01a05f02-5b3c-77b0-a705-210ff6bbb096

Log files stored at:

  • conversation: /tmp/claude-logs/issue-2052-2026-09-01T22-20-55-789Z-conversation.json
  • output: /tmp/claude-logs/issue-2052-2026-09-01T22-20-55-789Z-output.txt
Latest Conversation Messages

This PR was created automatically by ProPR after processing issue #2052.


💡 Need changes?

Comment on this PR to request refinements — the AI agent monitors comments and will update the implementation based on your feedback. Keep iterating until you're satisfied!

…ty durable b

Implemented by ProPR AI using gpt-5.6-sol model.

Implementation completed successfully.
@integry

integry commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Ultrafix follow-up on exact head 2be43cc. Keep the production authority-publication ordering and all existing F10-F24 semantics, but close the independent deterministic-proof gap.

Add a controlled helper-process test matrix covering process death immediately before authority publication, during durable publication, and immediately after committed publication. The DURING case must exercise the real durability sequence: the child writes the .new authority record with FileStream WriteThrough, calls Flush(true), signals the parent only after that flush, and the parent kills the child before the atomic rename/replace. Then invoke the real cleanup/controller path and prove that it resumes only the byte-identical exact next generation. Also prove that partial, foreign, stale, or generation-mismatched .new records are rejected and that the exact authorized tree is cleaned without widening path/deletion/identity authority.

Do not substitute WriteAllText or an in-process exception for process death and durable flush evidence. Preserve schema v3 identifiers, NONPROVISIONAL/COMMITTED reread requirements, startup classifications, fixed protocol output, and existing deletion rules. Run the deterministic Windows tests on both x64 and ARM64 where the workflow supports them, plus static tests/typecheck, and report the exact new head.

@propr-dev

propr-dev Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Applied the requested follow-up changes in commit 66cffbe

Summary of Changes

Implemented the deterministic publication-death proof without committing.

Key changes:

  • Added real cleanup-worker process-death gates for BEFORE, DURING, and AFTER publication in cleanup-installed-windows-app.ps1.
  • DURING signals only after FileStream WriteThrough, Flush(true), and close, before atomic replacement.
  • Added byte-identical recovery and partial/foreign/stale/generation-mismatched .new rejection tests in test-installed-windows-app-supervisor.ps1.
  • Added static ordering and matrix guards in release-workflow.test.ts.
  • Existing workflow coverage already runs the deterministic suite on native Windows x64 and ARM64.

Validation:

  • Desktop suite: 177 passed, 6 platform-specific skips.
  • Release workflow tests: 23/23 passed.
  • Desktop typecheck: passed.
  • git diff --check: passed.
  • Native Windows execution awaits the configured x64/ARM64 CI runners.

Per instruction, no commit was created. Exact current HEAD remains 2be43cc6b717c6c1cc9ae2a4156792efd5069898; the system-generated new head is not available until it commits these changes.


🤖 Implementation Details

  • Model: GPT-5.6 Sol (high)
  • Requested By: @integry
  • Time: 10m 49s
  • Tokens: 5,005,253 (4,980,784 in / 24,469 out)
  • Cost: $4.16
  • Subscription usage: Weekly +1%

Undo ChangesView Task Execution


💡 ProPR Slash Commands
Command Description Example
/merge Merge target branch into this PR and resolve conflicts /merge
/review Request an AI code review /review or /review claude-sonnet
/fix Implement fixes for issues found by /review /fix or /fix address the null check issue
/switch Change the AI model for this PR /switch claude-opus
/use Override the model for a single follow-up run /use claude-sonnet
/ultrafix Loop review→fix cycles until score goal is met /ultrafix or /ultrafix goal=8 max=10

🤖 Generated by ProPR
Processing comment ID: 5501253656✓

@integry integry removed the AI label Sep 1, 2026
…ut committing.

Implemented the deterministic publication-death proof without committing.

Key changes:

- Added real cleanup-worker process-death gates for `BEFORE`, `DURING`, and `AFTER` publication in [cleanup-installed-windows-app.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2055-followup-2026-09-01T22-25-38/apps/desktop/scripts/cleanup-installed-windows-app.ps1).
- DURING signals only after `FileStream` `WriteThrough`, `Flush(true)`, and close, before atomic replacement.
- Added byte-identical recovery and partial/foreign/stale/generation-mismatched `.new` rejection tests in [test-installed-windows-app-supervisor.ps1](/tmp/git-processor/worktrees/integry/propr/pr-2055-followup-2026-09-01T22-25-38/apps/desktop/scripts/test-installed-windows-app-supervisor.ps1).
- Added static ordering and matrix guards in [release-workflow.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-2055-followup-2026-09-01T22-25-38/apps/desktop/src/release-workflow.test.ts).
- Existing workflow coverage already runs the deterministic suite on native Windows x64 and ARM64.

Validation:

- Desktop suite: 177 passed, 6 platform-specific skips.
- Release workflow tests: 23/23 passed.
- Desktop typecheck: passed.
- `git diff --check`: passed.
- Native Windows execution awaits the configured x64/ARM64 CI runners.

Per instruction, no commit was created. Exact current HEAD remains `2be43cc6b717c6c1cc9ae2a4156792efd5069898`; the system-generated new head is not available until it commits these changes.

PR: #2055
Comment by: @integry (ID: 5501253656)
Model: gpt-5.6-sol
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant