Repository navigation
Rust #325: describe a parent waiting on an activity beside children - #866
Conversation
Published PHP describes an open activity ahead of open children, in either order, as it does a timer. Native's child summary kept an already chosen timer wait but gave up beside an activity, so such a parent was described with no wait. An already chosen activity wait now stays the run's wait while every child is open. The child-descriptions fixture gains child_then_activity, activity_then_child, and cancelling_child: a try_cancel child from a worker without cooperative cancellation, which published PHP and native both refuse with 409 child_cancellation_policy_not_supported. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
rmcdaniel
left a comment
There was a problem hiding this comment.
Security risk-tiered review of exact head d42050b2c7bbbdad6a456a128d827390d85479a6: no security finding or separate Security hold.
The runtime change is confined to wait-summary precedence after child identity/status matching has already succeeded. It preserves an existing timer or activity summary only when every child wait is open and the retained task type is absent or matches that wait kind. It does not change endpoint authorization, namespace/principal selection, child identity validation, persistence queries, command admission, or cancellation capability enforcement.
Showing the retained activity wait beside open children does not introduce a new data class: the same activity type/reason is already the run summary when no child overrides it. The new try_cancel case is fixture-only and confirms the existing fail-closed 409 child_cancellation_policy_not_supported response for a worker without cooperative cancellation.
This review does not claim the separately documented retry/timeout/cooperative-cancellation description gaps are complete. Normal semantic review and the already-running CI remain required; no additional Security CI or production test is requested.



Part of #325. This follows #865, closing one of the cases its review noted as unobserved.
What changed
Published PHP 2.11.5 describes an open activity ahead of open children, in either order, as it does a timer. Native's child summary kept an already chosen timer wait but gave up beside an activity, so such a parent was described with no wait. An already chosen activity wait now stays the run's wait while every child is open (
child_summary.rs).Evidence
child-descriptionsfixture: three new cases.child_then_activityandactivity_then_child: both described as "Waiting for activity …".cancelling_child: atry_cancelchild from a worker that doesn't declare cooperative cancellation. Published PHP and native both refuse it with409 child_cancellation_policy_not_supported.child_descriptions.rscovers the activity cases; on the previous source the parent had a null wait.Not covered
A child with a retry or timeout policy, or a non-
abandoncancellation policy under a worker that declares cooperative cancellation, is still described without its wait.🤖 Generated with Claude Code