Skip to content

Explain received activity retry budgets and final-attempt handling in Rust #394

Closed

Description

@rmcdaniel

Current state: delivered in all eight live guides. PR #395 merge da60e7c71305abbb14dc30197c96907e5762d5e9; exact CI39963232892, artifact39965567069 and actual Pages39967214078 pass. All eight live routes, copied helper bytes, policy rows, metadata and mobile themes verified. Rust4.8 normal installed receipt SDK135/6366200791 is final PASS. SDK135/shared250 closure remains with their owners.

Activity code needs to distinguish a recorded finite retry budget, an explicitly unlimited budget and missing metadata before selecting a final-configured-attempt fallback. The Rust SDK portion is implemented in sdk-rust#135 / PR #136, under shared contract #250.

Product review: this guide documents the new SDK capability; it does not replace implementation, published-package acceptance or the other SDKs' work. Source is merged at 005d0849ddce842332879359cd47399c028f1adf, with qualified implementation d8711dd1e976186cdedcfab48922a4fc559b111b. Publication and the normal installed receipt passed before Website publication.

Acceptance:

  • English and all seven translated Rust guides describe ActivityContext::retry_info(), the immutable original attempt and policy, and the received Unknown / Unlimited / Bounded distinctions.
  • Only a policy object with max_attempts: null means unlimited. Missing/root-null/malformed metadata stays unknown. Published Server2.11.0 omits a no-authored-policy snapshot, so do not infer Bounded(1) from its ordinary scheduling default.
  • Use the final-configured-attempt helper in a runnable recipe. A remaining configured budget does not promise a retry before nonretryable failure, cancellation, closure or deadlines.
  • State the actual fixed SDK minimum only after qualified publication and normal installed acceptance. Preserve local/direct-test unknown-policy and fresh-workflow modeled-history boundaries.
  • Keep the existing selected tuple unchanged. Verify all seven source hashes/examples, exact-head checks, actual Pages publication and all eight live guides before Website delivery. Shared docs: use published Nexus stable components #250 and SDK Publish a sourced Durable Workflow vs Temporal comparison #135 product closure remain with their owners.

Activity

  1. rmcdaniel commented on Oct 23, 2026

    @rmcdaniel
    MemberAuthor

    Published in all eight Rust guides at Received activity retry budgets.

    Rust 4.8.0 is the minimum for this API. The guide links the normal installed package receipt, distinguishes received Bounded, explicit Unlimited, and Unknown policies, and preserves the original immutable attempt and policy. Published Server 2.11.0's omitted default-policy snapshot stays unknown. Remaining configured budget does not promise another retry before nonretryable failure, cancellation, closure or deadlines. Local/direct tests and modeled workflow history retain their stated limits; the selected installation tuple is unchanged.

    Delivery evidence:

    • PR docs: explain received Rust activity retry budgets #395 merged normally at da60e7c71305abbb14dc30197c96907e5762d5e9; exact all-locale qualification and all checks pass. Sonar reports zero new issues, accepted issues and security hotspots.
    • Site artifact and actual Pages deployment succeeded.
    • Live browser checks passed on en, uk, es, pt-BR, zh-Hans, ja, fr and de: HTTP 200, section/TOC navigation, policy rows, receipt/API links, canonical URL and all nine alternate URLs. The real Copy button returned identical helper bytes in every locale, SHA256 e7aec8ee8dfbec29fac74baf21ab87fcca4dc6bb2e4903b25f0ece1aba9d3b34; the SDK owner compiled and ran those bytes in the normal installed Rust 1.86 graph. English, Japanese and Chinese mobile light/dark views were inspected at 390px, with no document overflow.

    Website #394 is complete. SDK #135 and shared #250 acceptance and closure remain with their owners; this guide does not complete the other SDK implementations.

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

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions