fix(lifecycle): clear stale delegated quit blockers - #1641
Open
wen2zhou wants to merge 3 commits into
Open
Conversation
wen2zhou
marked this pull request as draft
August 24, 2026 09:07
wen2zhou
marked this pull request as ready for review
August 24, 2026 09:07
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.
Problem
An ended session could still block application quit with “Subagents are still running”. The durable session was terminal, but the main-process delegated-work projection could retain an older
runningsnapshot because projection maintenance happened outside the authoritative persistence seam.Proposed change
SessionCommitProjectionOwneras the single adapter around the session repository commit seam.Scope and non-goals
mainadvanced; the contribution guide says to update only for conflicts or maintainer request, and a merge precheck found no conflicts.Acceptance criteria and validation
The following checks ran after the final material edit:
npm test-> relevant coordinator regression passed.npm test-> session-persistence architecture and contract tests passed.npm run typecheck-> passed for node and web configurations.npm run lintand targetednpx prettier --check ...-> passed; lint reported two pre-existing Prettier warnings in unrelated ACP files.npm test-> 18,740 tests passed; two completion-gate assertions failed in renderer files unchanged from fixed point1fb047b8. Currentorigin/mainalready has those files within their gates (780/780 and 699/700), so exact-head PR CI is authoritative for the merge result.Uncovered local risk: platform-specific CI lanes were not reproduced beyond macOS development startup and normal quit behavior. PR Gate and Nightly remain authoritative for other platforms.
Review focus
SessionCommitProjectionOwner.observeRepository()is the correct authoritative commit seam.saveSessionandsaveCommittedProjectSessioncalls.