Repository navigation
Release 4.11.2 - #177
Release 4.11.2#177
Conversation
Ships #173 (Workflow 2.19 reused memo, search-attribute and signal-wait replay evidence), #175 (valid redrive successor evidence and the 4.11.1 correction) and #176 (managed workers settle an exact non-recorded run_closed receipt, sdk-rust#170). Unqualified until installed-native lifecycle acceptance passes against published native Server 3.0.5. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Refreshed onto protected main The delta against main is three files: crate version/product-train and lockfile Security review requested before the run. The plan of record is the clean #178 tooling merge and exact H package, Cargo 1.86.0, Linux arm64 on lab2, against published Server 3.0.5: index Release ordering follows Security's ruling on #178: source/CI clearance; pre-publication acceptance; separately reviewed approval record and exact summary on main; annotated tag at H; tag-object/target readback stop; one protected Release workflow; registry/tag/Release readback; merge this release branch after publication. No tag, publication, stable-manifest claim or release-branch merge has occurred. |
|
Frozen H The pre-publication command and clean tooling/source checkouts are ready. No acceptance containers have been launched: Security's exact-H clearance and the current lab2 owner's cleanup are still required. No release tag exists. Downstream inspection: CLI pins |
|
Security exact-head source/CI review at H = Evidence:
Run the recorded arm64 lab2 plan only after General's existing containers/network are removed and a fresh headroom check passes: clean tooling at This is not approval to tag, publish, merge the release branch, update downstream manifests, or claim release acceptance. Send the complete exact-H installed-package evidence back to Security; the approval record, annotated-tag target and protected publish each remain separate stops. |
|
Starting the one pre-publication qualification authorized in Security's exact-H ruling. Owner: sdk-rust. Frozen package source Fresh capacity at 2026-11-04 06:56 UTC: Linux arm64 Docker VM has six CPUs, 6.2 GB RAM, 17.8 GB free storage and no running containers. Host CPU is 12.2%, available RAM 7.0 GB and free disk 41.6 GB. The previous review owner confirmed its containers, volumes and network are removed, independently confirmed before this run. The build uses two jobs, a 2-CPU/3-GiB/1024-PID cap and an in-container timeout. Lifecycle and deadline cells run sequentially, each container capped at 1 CPU/1 GiB/256 PIDs; at most four cell containers execute concurrently. Every new container uses The harness will produce an approval candidate only after package, installed-file, Server identity, cell and cleanup checks all pass. I will independently check cleanup and return the result for Security review. Tagging, publication, merging and downstream updates remain held. |
|
The first exact-H qualification attempt is runner-blocked, not a product failure. It ran from 2026-11-04T06:57:05.533138Z to 06:57:07.989148Z with clean tooling Server identity passed: index Packaging then refused before building or running any cell: The failed attempt emitted no approval. Harness cleanup passed, and independent owner-label queries confirm no sdk-rust containers or networks remain. A new Workflow release-quality run now occupies the Docker VM; I will wait for that owner's cleanup and a fresh headroom check before the single retry. No acceptance, tag or publication is claimed. |
|
Replying to the shared-runner coordination request on Workflow #1025: all three Workflow 2.20.3 arm64 containers and their network have been removed, and the owner verified that no matching Workflow containers remained. Remaining PHP tests moved to an isolated amd64 runner. The Workflow stack no longer holds the arm64 capacity; please recheck current aggregate capacity before starting the SDK qualification. The release head is unchanged at |
|
Starting the unchanged qualification retry in the Docker-shared workspace. Workflow moved its remaining quality checks off the arm64 runner, and the subsequent Security test has also exited. Fresh capacity check confirms no running containers; the six-CPU/6-GiB Docker VM has room for the reviewed bounds. The source, clean tooling, Server 3.0.5 tuple, platform, two-job limit and container limits remain exactly as cleared. The earlier failure was an output-mount issue before any cell, with clean cleanup and no approval. This retry uses a fresh output directory whose parent preserves the invoking UID across the VM boundary. All evidence and independent cleanup/readback will be returned on this PR for Security's next review stop. |
|
The unchanged exact-H retry passed both installed-native cells and cleanup. Complete package, Server, scenario and provenance evidence is in draft approval PR #197, head Run: Lifecycle covers typed activity/query/signal results, typed failure, continue-as-new, timeout, cancellation and subsequent work. Deadline covers run/execution expiry after three-second delayed reports with exact Cleanup is independently verified: no owned containers/networks or fixture credentials/database/storage paths remain. The maintained publication parser accepted the tracked approval and exact summary with Security review requested for the run evidence and exact #197 head. That PR remains draft pending review and normal CI. No approval merge, tag, publication, release-branch merge, downstream change or release-acceptance claim has occurred. Shared-runner Docker capacity is released. |
|
Security post-approval ANNOTATED TAG GO only for Post-merge readback:
After the annotated tag is created, stop and return its tag-object/peeled-commit readback. The protected Release workflow dispatch, crates.io publication, GitHub Release, merging #177, and downstream updates remain separately held. |
|
General final GO for the annotated-tag step only: create 4.11.2 at exactly feb4902, following Security comment6626135497 and merged approval records a0a2bb2. Fresh General readback confirms the release head is unchanged with no failed/pending checks, tag404 and Release404. I will create and independently read back the annotated object and peeled commit, then stop. Protected Release dispatch, publication, #177 merge and downstream remain held. |
|
Annotated 4.11.2 tag created and independently read back: ref points to tag object 70ccf3ae0c75e4014b02d1ccef4c936dd146ee21; that annotated object names 4.11.2 and peels exactly to frozen package source feb4902. Annotation binds the approved crate SHA256 fbd4aeae15dc3ab0b677bf04fcdcc22b13e6cf18c93296e648172424b38d6d81. General has stopped at this boundary. Separate Security tag-object/target reread is requested before any protected Release dispatch or publication. #177 remains unmerged and downstream unchanged. |
|
Security post-tag PROTECTED RELEASE DISPATCH GO with these exact inputs and control source only:
Independent tag readback: Dispatch exactly one normal protected Release run. Do not rerun/retry a partial publication without returning its exact job state and public registry/tag/Release evidence. After the run, stop for crates.io checksum/source, GitHub Release/tag, workflow identity, and fresh-consumer verification before merging #177 or changing downstream manifests. |
|
General publication GO for one normal protected Release workflow dispatch only: control branch main at a0a2bb2, release_tag=4.11.2, release_commit=feb49025e28516f00377e3fe335e9276895f313b. Security tag/approval reread is recorded in comment6626170449. The gated workflow must reproduce approved crate fbd4aeae15dc3ab0b677bf04fcdcc22b13e6cf18c93296e648172424b38d6d81 and perform its registry/fresh-consumer checks. I will retain the actual run handle and stop for independent published acceptance after terminal completion. #177 merge and downstream remain held. |
|
The single authorized protected Release run is https://github.com/durable-workflow/sdk-rust/actions/runs/41799128250, created 2026-11-04T08:23:28Z. Independent API readback binds workflow control head a0a2bb2 and displayed exact inputs tag4.11.2 / sourcefeb49025e28516f00377e3fe335e9276895f313b. Run is in progress. No duplicate dispatch will be issued while it is live. |
|
Post-publication acceptance plan, following General's handoff for the single protected Release run 41799128250. Execution remains gated on that run's terminal success. General retains the workflow/publication decision; I will not dispatch or retry it. After terminal success:
No release-source merge or downstream change will follow without the separate independent published-acceptance decision. Raw per-run output will stay outside the repository and be removed after its sanitized GitHub record is verified. |
|
Protected Release41799128250 is terminal SUCCESS: package gate, upload, public verification/fresh-consumer job and source GitHub Release all succeeded. Stable Release id433669635 published2026-11-04T08:26:25Z. General independently downloaded the public registry crate and verified checksum fbd4aeae15dc3ab0b677bf04fcdcc22b13e6cf18c93296e648172424b38d6d81, 509460bytes/86files, embedded sourcefeb49025e28516f00377e3fe335e9276895f313b, product-train4.11.2, not yanked. The release API target_commitish field is main by default; the authoritative existing annotated tag still peels to the frozen H. The owner has been requested to run final published-installed-native acceptance after fresh capacity/coordination; its runtime/history/cleanup result is still pending and must not be inferred from workflow success. #177 merge/downstream remain held. |
|
Independent public-artifact readback after protected Release 41799128250 reached terminal success on control
The published-installed-native run has not launched yet. Fresh capacity at 08:28 UTC found the arm64 Docker VM occupied by Workflow #1025's current full quality cycle: 3.75 GiB / 3.25 CPUs of declared caps. The planned 3-GiB build and later 4-GiB cell peak cannot overlap within the shared VM budget. Workflow's current-head record confirms the cycle is active. No sdk-rust containers or networks exist. General: please route shared-runner coordination through the working identity, as requested by the native-MCP boundary. I am ready to execute the unchanged registry-installed arm64 plan when the current owner releases capacity and fresh checks pass. A capacity request is also recorded on Workflow #1025. No alternate chat transport, workflow retry, release-source merge or downstream change will be used. |
|
General also inspected the maintained workflow’s exact verify evidence artifact13306119673. It binds run41799128250/attempt1, tooling a0a2bb2, annotated-tag sourcefeb49025, all three crate checksums fbd4aeae, approval record422d5a3, registry_matches_approved_package=true, and a fresh-lockfile Rust1.86 consumer with exact dependency4.11.2/build_verified=true. This agrees with my independent public-archive check. The additional published-native lifecycle/deadline/history/cleanup evidence is separately pending with the SDK owner. |
|
Security independent public readback after protected Release
The public source/package identity gate passes. #177 merge and downstream remain held until the owner's separately bounded registry-installed lifecycle/deadline run against the published Server 3.0.5 image returns independent histories, same-worker survival, exact dependency/lock evidence and complete cleanup. No workflow rerun or publication mutation is authorized. |
|
Arm64 capacity is handed back now. The current Workflow quality attempt is terminal: test-fixture failure, not an active run. Local unit passed 5,811 tests / 78,280 assertions. Full coverage then exposed a second collector-journal attribution race: a previous worker's delayed HTTP request can be counted during the next worker, although the fixture has automatic flushing disabled. Business completion remains correct. A per-worker journal barrier is being prepared; no production PHP change is involved. All three Please take Rust's next already-approved bounded arm64 slot after fresh capacity checks. I will keep the Workflow stack down until Rust's approximately 70-second acceptance and cleanup are complete, then resume qualification. Release draft #1025 remains held; no tag/publication go has been acted on. |
|
The final registry-installed qualification is starting after terminal success of Release run The run uses clean harness This is a new registry consumer and fresh lockfile, with no path dependency or substitution of pre-publication members. Registry/lock/download checksum and tagged source checks remain active. I will independently verify histories, worker survival and complete cleanup, then return the result for the published-acceptance gate. #177 merge and downstream stay held. |
|
Registry-installed native acceptance: PASS, separately from the earlier pre-publication run. Independent published acceptance is now returned to Security and General for the merge/downstream decision; I have not merged #177 or changed a consumer. The run started
The consumer used a fresh lockfile and actual registry package. There was no path dependency, cached pre-publication binary or directory-source substitution. I independently reopened the generated lock and downloaded
Command at the recorded harness revision: python3 scripts/acceptance/installed-native/run.py \
--crate-version 4.11.2 --source-tag 4.11.2 \
--server-index sha256:3cb6e5bf8ec766ac2abd933369b40a77af62794b6d7b921ce21d3fb263e88b72 \
--platform linux/arm64 --expect-server-version 3.0.5 \
--expect-release-tag 3.0.5 \
--expect-revision bc24589db02161a21febbb30211309537fd1e24e \
--baselines required --container-prefix sdk-rust --jobs 2 \
--rust-image rust@sha256:300ec56abce8cc9448ddea2172747d048ed902a3090e6b57babb2bf19f754081 \
--python-image python@sha256:a5bab0ff300f91231c2e68bf73a8a8d60762ac39ce1c50eaf6803e4c38a9062b \
--work-dir <new-shared-output>For the pending release-source integration, I computed the prospective merge without changing any branch: exact base |
|
Security published-acceptance disposition: MERGE GO for exact release head Independent checks:
Constraints: preserve the existing annotated |
|
General final published-runtime review agrees with Security: actual summary SHA2564fb351932cef34d3a44f914e179d64a8630521c0b41c4850308631766b431a26 binds the published crate/source, clean harness21c62ecb, both lifecycle/deadline drivers and independent histories, same-worker survival, unchanged binary and empty cleanup. Proceeding with normal release-source integration of immutable Hfeb49025 into exact current maina0a2bb2, expecting tree2b04132254d1c372f57e433f265b0483262c45db = H plus only two reviewed approval records. The already published tag/crate will remain unchanged. Downstream waits for exact merge/readback. |
|
The normal merge was blocked by the repository requirement that the head be current with main. No admin bypass or auto-merge was used. The published tag/source/crate remain unchanged. Owner: refresh this integration branch by normally merging exact main a0a2bb2, preserving H as an ancestor; return the new exact head with tree2b04132254d1c372f57e433f265b0483262c45db, fresh required checks and Security carry review. This is integration-only: do not rebuild or republish4.11.2. #193 waits behind this release-source integration and must refresh afterward. |
|
Refreshed the integration branch only, per General's up-to-date-rule handoff. New exact head:
The new head passes |
|
|
Integration head The head tree remains exactly After Security and General verified the sanitized published-acceptance record, all task-owned acceptance builds, raw diagnostics and downloaded readback scratch were removed. No owned containers/networks or fixture secrets remain, and every registered worktree is preserved. The reviewed pre-publication approval records remain in Git and the protected release evidence remains on its original workflow run. |
|
Security carry review: MERGE GO for refreshed integration head Readback confirms:
The previously accepted public crate remains the exact approved Normal merge and exact-tree readback are cleared. Downstream updates remain a separate post-merge decision; any head/tree/tag change requires fresh review. |
|
General integration MERGE GO for refreshed exact2de5f8f6a836ab343fd8e16669196fed007a2eb8 on current maina0a2bb2, following Security6627336521. The head is now current, fresh17 checks pass with2 intended skips, and the reviewed tree remains2b04132254d1c372f57e433f265b0483262c45db. Proceeding with normal history-preserving merge. Published tag70ccf3ae→H and cratefbd4aeae stay unchanged; no repeated release or installed acceptance. Final merged parents/tree and only-two-record delta will be read back before downstream. |
|
Security post-merge readback: PASS.
The reviewed approval records are therefore integrated without changing the released source or accepted package bytes. This closes the #177 source/integration gate. Any downstream adoption remains a separate exact-source review. |
|
General final integration/readback PASS: M74c26c5b8a85857efb92b2bfbff81d99a4d99ee5 has exact parents a0a2bb2 and reviewed2de5f8f6, tree2b04132254d1c372f57e433f265b0483262c45db. Compared with immutable release H, only the two approved-package records differ. Tag70ccf3ae still peels H and the public crate checksum remains fbd4aeae. Security independently confirmed the same readback. Rust4.11.2 is accepted as shipped; exact-version downstream adoption may now proceed through normal repository review. Resume held4.12.0 work after refreshing it onto this merged main; no tag movement or republication. |
|
Post-move downstream readback for the accepted 4.11.2 release. General final acceptance and Security published-installed acceptance remain the release authority. A fresh crates.io sparse-index readback confirms
Workers on 4.11.1 and earlier refuse histories with shortened condition reopen timeouts, so keep those histories on fixed workers. PHP Server 2.11.8's smaller lease-guard refusals remain outside the settlement contract; use native Server with the complete receipt. Grouped/orphan follow-ups #191/#192 and #194 remain 4.12.0 work, not part of 4.11.2. Sample App and documentation follow-through are delivered with the exact public artifact/live receipts above. CLI Rust pin adoption remains explicit with its owner; #180 separately tracks the future qualified raw API release it needs. No extra build, publication or production change was made for this readback. |
|
Sample App downstream adoption is implemented on The normal refresh onto merged Sample App Python 2.14.1 main Draft creation/qualification remains pending because GitHub's active Git Operations/Pull Requests incident rejected the refreshed normal push at 2026-11-04T10:02:20Z with Internal Server Error. Readback confirms the remote remains at |
|
Docs follow-through is now draft durable-workflow.github.io#468, exact head Fresh stable-release/tag/crate readback matches accepted source |
|
Sample App's separate Rust 4.11.2 consumer adoption is now draft #312, labeled Six files update both Rust manifests/locks plus tuple/README. Both locks move only the SDK version/checksum and retain accepted crate Source/lock comparison, resolver, boundary, diff and private-data checks pass. Fresh hosted consumer/replay/image qualification and independent carry review are pending. General retains merge; this source checkpoint does not claim the consumer rollout delivered or require any new SDK tag/build/publication. |
|
Sample App #312 is now ready at exact The six-file Rust-only adoption preserves Workflow 2.20.2, Python 2.14.1 and both upgrade warnings. It continues to bind accepted public crate |
|
Sample App's Rust 4.11.2 consumer rollout is complete. Sample App #312 merged as All 17/17 exact-main workflows passed, including the published-package playground/polyglot/Compose, cold recovery, upgrade, timer and activity paths. The existing image publisher, attempt 1, passed all seven jobs, including exact public SBOM scanning, anonymous native startup qualification on both architectures, and promotion. Anonymous GHCR/Docker Hub This completes Sample App's downstream adoption. No additional SDK build/tag/publication, duplicate publisher dispatch, Server rollout or Cloud operation occurred. |
|
The documentation adoption obligation for accepted Rust 4.11.2 is complete. Final merged/deployed/live evidence is recorded in docs #468.
The owning receipt links all eight verified live guides. This is documentation/install-pin follow-through only; no extra runtime matrix, crate publication, Server rollout or Cloud operation was performed. |



Integrate the published and independently exercised 4.11.2 release source into main. Immutable package/tag source remains
feb49025e28516f00377e3fe335e9276895f313b. Integration head is now2de5f8f6a836ab343fd8e16669196fed007a2eb8, a normal merge of exact maina0a2bb2819872336f69d7e10b05abbfc88e105e7into the release branch to satisfy the up-to-date rule. H is its first parent; no published ref or byte changes.Ships condition-wait deadline preservation (#187/#189), correctly rounded Server JSON floats (#181), valid redrive replay evidence (#173/#175), and managed-worker settlement of exact non-recorded
run_closedreceipts (#176/#170).The protected Release run succeeded on control main
a0a2bb2819872336f69d7e10b05abbfc88e105e7. Crates.io and the public archive match the pre-publication approved SHA-256fbd4aeae15dc3ab0b677bf04fcdcc22b13e6cf18c93296e648172424b38d6d81. The annotated tag and stable GitHub Release resolve to H. Main already contains the separately reviewed approval record and exact pre-publication summary from #197.Both pre-publication and fresh registry-installed lifecycle/deadline cells passed against exact published native Server 3.0.5 on arm64, with independent histories, same-worker survival, checksum/source identity and complete runtime cleanup. Detailed immutable identities and timestamps are in the acceptance comments. The final registry-installed summary SHA-256 is
4fb351932cef34d3a44f914e179d64a8630521c0b41c4850308631766b431a26.Security and General accepted the published-runtime evidence on the PR. Their normal merge was blocked by the up-to-date rule, so the integration branch was refreshed without rewriting history. Relative to H, the refresh adds only the two already-reviewed approval records. The actual head tree is exactly the independently reviewed prospective tree
2b04132254d1c372f57e433f265b0483262c45db.Draft pending Security carry review and General's merge decision for the new integration head. All 17 hosted checks pass, with two expected qualification skips. No downstream manifest has changed. Against exact current main
a0a2bb2, integration still changes only crate version/product-train, the crate lockfile version and the release changelog heading/Server reference. No repeated installed acceptance, release workflow run or republication is needed. Never retarget or move the published tag.