Skip to content

Document Rust stable activity identity and downstream idempotency keys #396

Closed

Description

@rmcdaniel

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), and run_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

  1. rmcdaniel commented on Oct 23, 2026

    @rmcdaniel
    MemberAuthor

    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:

    • PR docs: explain Rust stable activity identity in all eight locales #397 merged normally at bd33ba31c9e2ce222decc640a104a6ec1f94afae. Exact all-locale qualification and all checks pass; reviewed Sonar6368223415 reports zero new issues, accepted issues or hotspots.
    • Site artifact and actual Pages deployment succeeded.
    • All16 live routes passed HTTP200, both directions of localized guide navigation, TOC, the three accessor rows, receipt/API links, canonical URLs and all nine alternate URLs. The real Copy button returned the exact helper in every Rust guide, SHA256 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.
    • The normal installed package receipt is final. Website independently checked the registry/archive/VCS identity, all70 Rust source/README files and published API anchors. The SDK owner compiled and ran the exact helper in its normal installed Rust1.86 graph; Website did not substitute a source overlay or claim duplicate runtime acceptance.

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions