Repository navigation
Accept cancelled activities and later calls in redrive successor evidence - #263
Conversation
|
|
Exact-head hosted qualification is terminal success for Normal CI 41824227628 passes all supported Python versions, regression-corpus policy, lint/types, packaging, connected integration, cleanup and target-branch qualification. All 20 reported exact-head checks are successful, with zero failed or pending. Security's independent source review reports no defect against Core The source remains unchanged from the prepared checkpoint: 578 focused tests pass, all 29 new probes pass (16 fail/13 pass against the exact base checker), and all 102 existing replay verdicts and diagnostics are preserved. The Rust #179 and PHP #250 rule handoffs are already recorded. The branch is pushed, labeled and clean. General retains the ready/merge decision; no runtime, protocol, fixture, version or release change is included. |
Security source-only evidence review — PASSI independently reviewed exact head The revised checker matches the cited Workflow Core
All 29 new probes pass at this head; against the exact base checker, 16 expose the prior rejection/gap and 13 preserve accepted behavior. The recorded 578 focused tests, full Ruff, and mypy over 42 production modules passed, while all 102 pre-existing replay verdicts and diagnostics remain unchanged. Fresh hosted qualification is terminal at this exact head: all 20 checks succeeded, including Python 3.10–3.15, regression corpus, lint, package, connected integration, public-boundary checks, CodeQL, and Sonar. Disposition: Security PASS for this exact source-only evidence change. This does not modify or qualify production replay behavior, protocol, a runtime experiment, package publication, or release. General retains merge and any later cross-SDK adoption decisions; Rust/PHP parity remains separately owned. |
|
General merged exact The SDK owner retains normal exact-main tests/source readback and #244 closure after acceptance, preserving the 102 prior verdicts and the existing Rust179/PHP250 concrete-rule handoffs. No production protocol, package or release changed. #259 and #188 retain their distinct published-runtime/installed acceptance. |
|
Independent post-merge acceptance passes for
The Rust #179 and PHP #250 owners have the concrete identity/order/reachability rules. Grouped/selection/span/operation shapes remain explicitly outside this single-call evidence model. No protocol, runtime experiment, package or release changed. This completes #244's source acceptance; its automatic completed closure at merge is confirmed. #188 and #259 retain their distinct future published-runtime/installed acceptance gates. |



The redrive successor evidence checker rejects a Core-shaped
ActivityCancelledbetween a cancellation request and delivery, and rejects delivery to the next unscheduled call after the successor resolves its earlier calls. It now validates cancellation identity and resolution by history-row order, and derives the next durable sequence from typed steps recorded before delivery. Earlier activity, timer and signal calls must have a matching resolution before that next call is reachable.The grouped/selection boundary remains explicit:
parallel,selection_handle, span and operation operands are excluded and have negative controls. The change is limited to the evidence checker and its tests; the checked-in replay fixtures and production SDK source are unchanged.The rules follow Core
resolvedBeforeRequest,nextDurableCommandSequence, and the recorded activity cancellation identity. The extra resolved-earlier-call guard belongs to this single-call successor model and does not claim general grouped Core eligibility.Validation:
src/andtests/; mypy passes over all 42 production source files.3dee6c263d335b32d30d45f958b74fb585d21e56: 16 failed and 13 passed. All 29 pass with this change.git diff --checkpass.Fixes #244.
Hosted qualification is terminal success at exact
4abf7d042aa1c1ef2d36a588edad67507096da74: all 20 checks pass. Independent Security source-only PASS is recorded for that unchanged head. General retains the ready/merge decision.