Repository navigation
feat: [5/6] add reserved payload cleanup worker tasks - #392
Open
wangbill (YunchuWang) wants to merge 7 commits into
Open
wangbill (YunchuWang) wants to merge 7 commits into
wangbill (YunchuWang) wants to merge 7 commits into
Conversation
Phase 5 of 6: preserve the .NET-aligned cleanup state machine in a worker-only module, register reserved tasks and wildcard filters, and reuse the current authenticated channel. Carry bounded deletion, retry/quarantine, deadline, batching, configuration and continue-as-new regressions. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
This was referenced Oct 16, 2026
Propagate native carryover traversal, whole-message size preflight and accurate provider cleanup limitations while preserving worker state-machine behavior and the stacked PR base. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
Preserve reserved cleanup registration, current transport, filter and version exclusions while inheriting work-item abandonment and completion-wait RPC deadline isolation. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
Preserve the existing phase head and all approved SDK repairs while inheriting aeb598f recognized-token skipping and bee1313 aborted-signal precedence. No unrelated behavior or release metadata changes. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
Inherit only the approved rewind mapping and scheduling RPC error-domain repairs, preserving phase-specific lifecycle/routing/cleanup behavior and both directly related notes. Exact approved source/test blobs and stable client patch identity verified. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
Inherit the exact approved central _call error-domain correction, owning regressions and directly related documentation. Preserve phase-specific lifecycle/routing/cleanup behavior and prior notes/ancestry; source/test patch identity verified without redundant per-hop suites. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
Preserve the published shared unary pipeline and cleanup worker behavior while inheriting only the exact approved lifecycle duplicate-runner source boundary and regressions. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
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.
Summary
What changed?
Why is this change needed?
91739687. The stack also inherits the reviewed JavaScript carryover and whole-message size-preflight repairs described below; it does not claim unchanged .NET failure-priority semantics.Issues / work items
Project checklist
CHANGELOG.mdAI-assisted code disclosure (required)
Was an AI tool used? (select one)
If AI was used:
AI verification (required if AI was used):
These human attestations are intentionally left unchecked.
Testing
Automated tests
20ee1eb59e08ceac1a23d7b8cd42670e32041aa0.f3ea69fc79eb594961ab4d57651f5e1360fb9127: 233 tests / 8 suites plus core build/lint passed.7c9d67f97c961c148a5fdd4809e7443c268d7162: 45 tests / 2 suites plus core build/lint passed; this phase inherits that exact client and lifecycle fixture.git diff --check origin/yunchuwang-payload-phase-4-client...HEAD— passed. Prior heads remain ancestors; predecessor bases, phase-local review scopes, release/cleanup/version notes and ready-for-review state are preserved.ae63cab8ecb6ec6b2b3e0e15067091a5b8a6b24e:npm run test:unit— 3,180 tests / 133 suites passed (core 2,028; Functions 226; Blob 39; Azure-managed 821; export-history 66). Ten opt-in service tests are skipped by this unit command.npm run buildpassed all five workspaces andnpm run lintpassed. This is the true final aggregate containing both approved commits; the earlier stopped pre-lifecycle run is not a final pass._call; all five semantic callers delegate; phase4–6 client/lifecycle fixtures match the approved runner fix, and PR1 processor plus existing public-loopback fixtures are unchanged.ae63cab8ecb6ec6b2b3e0e15067091a5b8a6b24e— PENDING (in_progress) at2026-10-22T19:07:38.5343134Z. The link is authoritative for later completion; no early pass is claimed.137bb547e8781fd84c2738c3e13ae0f65cd66174; its separately verified hosted evidence is 30 SUCCESS / 1 SKIPPED. Review approval is still required. Main-base-only PR filters are unchanged; absent stacked-PR jobs are not passes.Manual validation (only if runtime/behavior changed)
Notes for reviewers
Shared unary boundary correction
f3ea69fc79eb594961ab4d57651f5e1360fb9127restores one private_callpipeline: combine cancellation once; externalize once; generate fresh metadata outside each RPC catch; invoke only the operation's RPC policy; hydrate once after success.trueretries the RPC,falserethrows unchanged, and throwing maps a genuine RPC error with its cause. The no-metadata path preserves its original dispatch timing.7c9d67f97c961c148a5fdd4809e7443c268d7162handles runner dedupe through a per-invocation BUSINESSrunnerAlreadyExistsoutcome set only inside that RPC policy. It is not an error tag or global marker; matching storage/metadata codes or semantic classes remain original failures, and cancellation takes precedence.mainyunchuwang-payload-phase-1-coreyunchuwang-payload-phase-2-sdkyunchuwang-payload-phase-3-blobyunchuwang-payload-phase-4-clientyunchuwang-payload-phase-5-workerMerge 1 → 2 → 3 → 4 → 5 → 6. Each PR targets its predecessor; retarget the next PR only after its prerequisite merges. Do not publish packages or describe a partial phase as the complete feature.