Repository navigation
Document Rust stable activity identity and downstream idempotency keys #396
Description
Current state: delivered all8 Rust guides plus all8 execution-guarantees service paragraphs. PR397 mergebd33ba31c9e2ce222decc640a104a6ec1f94afae; exactCI39973236140/artifact39977452931/actualPages39978971911 PASS. All16 live routes/navigation/fullmetadata/accessor rows/copiedhelper/48 exact-source paragraphs and12 mobiletheme views verified. Published normal4.9 receiptSDK139/6367230500 final; no tuple promotion/shared218 checkpoint closure.
Rust activity code needs a stable logical activity identity for downstream deduplication, together with its owning workflow instance and run for correlation. The Rust portion of shared .github#211 is published in SDK4.9.0, including normal installed and actual Server controls.
Product review: these accessors are an accepted product capability, now implemented and qualified by SDK #139 / PR #140. Website guidance describes that delivery; it does not substitute an external ledger recipe for resumable activity checkpoints under shared .github#218. Website #272 remains the closed wrapper pointing to that separate requirement.
Acceptance:
- Publish English plus all seven translated Rust guides, with identical executable helper bytes and updated reviewed-source hashes. Require actual installed Rust4.9 or newer; the separately selected older installation tuple remains unchanged.
- Explain immutable original
activity_execution_id,workflow_id(workflow instance), andrun_id, all optional received identities. Logical activity identity spans retries; a per-attempt task/attempt ID is not a fallback idempotency key. - Show a handler deriving a namespaced downstream key and explicitly refusing a missing activity identity before any effect. Authors can instead provide an explicit stable business key. The example itself does not perform a payment or guarantee exactly-once external effects.
- Preserve actual local/session/older-Server/Server-free boundaries. Local callbacks can have real parent workflow/run IDs but have no Server activity identity before their command is recorded. Worker-session callbacks expose their normal claim identity. Missing fields remain
None. - Add service-scoped prose and a link to the Rust example in all eight execution-guarantees guides; keep language-specific code on the Rust page. Link the delivered guide from Clarify heartbeat progress versus resumable activity checkpoints #272 while preserving shared Bind the local Server quickstart to loopback explicitly #218 as unfinished product work.
- Verify exact-head checks, Sonar findings, actual Pages publication and all eight live routes before Website delivery. No Server, Cloud, other-SDK, selected-tuple or checkpoint product closure follows.
Release evidence: source/tag 93d3c3aa78be4347045f50833ffcdc02dcabc4ed, normal registry/archive/lock SHA256 be21bb5b033cc8db364f1f9e3d789607eb6eff976126965cfc95072146c220a6; OIDC39967443675 and API39967624766 succeed. Website independently checked the registry/archive/VCS identity, all70 Rust-source/README files, HTTP200/version4.9 and the published accessor anchors. The SDK owner compiled and ran the exact proposed helper SHA256 5bc0013b04c501791ebee8d5768fe5d7ac744c853ff58cc2c6b6ca4a807e16c0 in its normal installed Rust1.86 graph. No duplicate compiler/runtime or source overlay is introduced.
Activity
rmcdaniel commentedon Oct 23, 2026
Published in all eight locales: Rust activity identity and service-mode execution guarantees.
The installed Rust SDK must be 4.9.0 or newer. The guides distinguish immutable original logical activity identity across retries, workflow instance identity and run identity. Missing fields remain
None; per-attempt task/attempt values are not substitute deduplication keys. The handler refuses missing identity before effects, and the prose explains authored business keys, older Server claims, inline locals, Server-free tests and normal worker-session claims. Downstream idempotency still requires an API or durable ledger honoring the key; shared checkpoint requirement #218 remains separate. The selected tuple is unchanged.Delivery evidence:
bd33ba31c9e2ce222decc640a104a6ec1f94afae. Exact all-locale qualification and all checks pass; reviewed Sonar6368223415 reports zero new issues, accepted issues or hotspots.5bc0013b04c501791ebee8d5768fe5d7ac744c853ff58cc2c6b6ca4a807e16c0. All48 new paragraphs match the exact source. Both guide pages were inspected at390px in English/Japanese/Chinese light and dark themes, without document overflow.Website #396 is complete. SDK #139/shared #211 acceptance and closure remain with their owners; shared #218 resumable checkpoints are not completed by this guide or stable IDs.