Repository navigation
feat: [6/6] document package and validate large payload usage - #393
wangbill (YunchuWang) wants to merge 6 commits into
Conversation
Phase 6 of 6: add release packaging, the large-payload example, complete interoperability/cleanup documentation and real tarball/ES2020 consumer checks. Keep phase release gates explicit and remove unrelated README formatting changes. The completed stack preserves c9b53fc behavior except the tested management-client purge kind correction. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
|
Final cumulative-stack integration evidence for The existing DTS Emulator E2E workflow was dispatched on The usual PR unit/sample/DTS workflows filter their PR base to |
Retain the six inherited carryover/preflight release-note lines and provider orphan-data limitations alongside the final phase's routing and ES2020 notes. Preserve original phase commits and release wiring; no rollback collector or package publication is introduced. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
Preserve finalized packaging, ES2020 consumers, cleanup documentation and existing core repair notes while carrying reviewed work-item release and completion-wait deadline isolation through the full stack. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
Preserve the completed SDK repair sweep and final release/consumer behavior while inheriting the exact approved core guards and permanent regressions. Combined workspace units, all builds, lint and scoped formatting passed before this commit. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
Preserve existing release/consumer and cleanup behavior while inheriting the two exact approved mappings/private-flow repairs and permanent regressions. The single final full-workspace unit/build/lint pass, scoped formatting and patch identity checks passed before this commit. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
Preserve the original final head as first parent and inherit both exact reviewed f3ea69f shared-call and 7c9d67f runner business-deduplication fixes. The true final all-workspace unit/build/lint pass, exact source/test blobs, single-pipeline audit and scoped formatting passed before this commit. Co-authored-by: Copilot App <[email protected]> Copilot-Session: 81e20512-d3a2-4f8e-a574-f396140ec9c7
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
ae63cab8ecb6ec6b2b3e0e15067091a5b8a6b24e.git diff --check origin/yunchuwang-payload-phase-5-worker...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.39cebd7651a669b50cdd73fdcc5e394344e08fa4:npm run test:azurite -w @microsoft/durabletask-js-azureblob— all 10 real local-Azurite/.NET-gzip fixture checks passed. This was not rerun or relabeled as current-head service evidence.39cebd7651a669b50cdd73fdcc5e394344e08fa4:npm --registry=https://packagefeedproxy.microsoft.io/npm run test:payload-packages -- $oldCoreArchivepassed published-core-0.4.0 rejection, packed runtime/native causes and strict ES2020 declarations.npm --prefix test\e2e-functions\test-app run buildandnpm pack --dry-run --json --workspace @microsoft/durabletask-js --workspace @microsoft/durabletask-js-azureblobpassed on that same head (219/8 files). Public packaging/provider/declaration surfaces are unchanged; no fresh package/consumer run is claimed.Manual validation (only if runtime/behavior changed)
39cebd7receipts additionally used local Azurite 3.37.0, actual .NET 10 gzip vectors, packed npm consumers and strict ES2020 TypeScript.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.