Skip to content

Explain Python heartbeat refusal and callback exit boundaries #375

Closed

Description

@rmcdaniel

Delivered

Delivered in PR #376, merge 6ebff5c4c91639173430b6ba844730f04ac380a8.

Final exact-head qualification, artifact deployment and actual Pages publication containing this change passed. A preceding Pages run was superseded/cancelled and is not counted as publication evidence.

All sixteen live Python/timeouts routes return HTTP 200 with correct canonicals and alternate-language links. All eight actual timeout-to-Python links navigate to their localized heartbeat-refusals-and-callback-exit section; Python table-of-contents links work. Each section names Python 2.9.0, can_continue=false, the original refusal reasons, ActivityLeaseAuthorityLost and cancellation's ActivityCancelled. English, Japanese and Simplified Chinese 390px light/dark views were inspected with legible fonts and no document overflow.

See the Python explanation and activity timeout cross-link. Verified locales: English, Ukrainian, Spanish, Brazilian Portuguese, Simplified Chinese, Japanese, French and German.

The guide preserves cooperative exit, code that never heartbeats, blocked-call limits, physical-slot retention and closed-attempt result fencing. It links SDK #186's normal installed acceptance, whose synthetic response controls establish SDK handling; no live Server timeout-admission or Workflow #878 acceptance is claimed. The SDK owner receives this actual published-guide receipt for their own issue closure.

Original scope

Python SDK #186 has a published SDK correction, but the website's Python heartbeat and timeout guidance omits the explicit refusal and callback-exit boundary.

Product review: this is documentation follow-through for the existing SDK defect, delivered in Python SDK 2.9.0. The installed-package receipt in that issue verifies response handling with synthetic heartbeat/lease controls; it does not establish live Server timeout admission or complete Workflow #878. Website PR #360 already explains helper-thread heartbeats; this slice adds the missing refusal semantics without duplicating that recipe.

Acceptance:

  • In all eight locales, identify Python SDK 2.9.0 as the documented baseline. A heartbeat response with can_continue=false raises ActivityLeaseAuthorityLost with the original Server reason; cancellation remains ActivityCancelled.
  • Explain cooperative exit at the heartbeat boundary. Code that never heartbeats can continue until it returns; a heartbeat cannot forcibly interrupt a blocked Python thread. The physical slot remains occupied until callback/thread exit and a closed attempt cannot publish a late result.
  • Add a concise timeout-page link to the language-specific guidance, keeping embedded examples focused on Laravel.
  • Review all seven translations and source hashes, pass ordinary documentation qualification, then verify all sixteen published routes. SDK docs: add German onboarding and search #186 remains with its owner until the delivered guide receipt is returned.

Activity

  1. added
    documentationImprovements or additions to documentation
    priority:P3Lower-priority product improvement
    status:readyReady for implementation
    completion:evidence-requiredClose only after all explicit acceptance and operational evidence is public
    on Oct 23, 2026
  2. rmcdaniel commented on Oct 23, 2026

    @rmcdaniel
    MemberAuthor

    Delivered in PR #376, merge 6ebff5c4c91639173430b6ba844730f04ac380a8.

    Final exact-head qualification, artifact deployment and actual Pages publication containing this change passed. A preceding Pages run was superseded/cancelled and is not counted as publication evidence.

    All sixteen live Python/timeouts routes return HTTP 200 with correct canonicals and alternate-language links. All eight actual timeout-to-Python links navigate to their localized heartbeat-refusals-and-callback-exit section; Python table-of-contents links work. Each section names Python 2.9.0, can_continue=false, the original refusal reasons, ActivityLeaseAuthorityLost and cancellation's ActivityCancelled. English, Japanese and Simplified Chinese 390px light/dark views were inspected with legible fonts and no document overflow.

    See the Python explanation and activity timeout cross-link. Verified locales: English, Ukrainian, Spanish, Brazilian Portuguese, Simplified Chinese, Japanese, French and German.

    The guide preserves cooperative exit, code that never heartbeats, blocked-call limits, physical-slot retention and closed-attempt result fencing. It links SDK #186's normal installed acceptance, whose synthetic response controls establish SDK handling; no live Server timeout-admission or Workflow #878 acceptance is claimed. The SDK owner receives this actual published-guide receipt for their own issue closure.

  3. added
    status:doneDerived from the authoritative closed issue state
    completion:evidence-verifiedAcceptance, fixed version, and required operational evidence are publicly verified
    and removed
    status:readyReady for implementation
    completion:evidence-requiredClose only after all explicit acceptance and operational evidence is public
    on Oct 23, 2026
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

    completion:evidence-verifiedAcceptance, fixed version, and required operational evidence are publicly verifieddocumentationImprovements or additions to documentationpriority:P3Lower-priority product improvementstatus:doneDerived from the authoritative closed issue state

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions