Skip to content

[SDK/breakpoint] Long-async / external-wait breakpoint mode (park + resume on signal) #953

@rogelsm

Description

@rogelsm

Summary

Add a breakpoint kind that parks the run (releasing the live stop-hook loop) and resumes on an explicit external signal or by polling external state, so external-pipeline gates don't burn days of idle re-wakes.

Motivation / Evidence

cookbook native-apps-phase3-ios-testflight-jun-05 (run 01KTCK3Z17VMNW72D8VH312XED) held BP-3b open ~71.6h awaiting TestFlight processing + manual install, generating ~70-98 stop-hook re-wakes that masquerade as 'iterations' while only ~36 min was active work (active churn <1% of 72h wall). native-apps-phase2 BP-2 stalled ~41min the same way.

Proposal

A breakpoint kind that PARKS the run (releases the live stop-hook loop) and resumes on an explicit external signal (e.g. a babysitter run:signal / webhook) or by polling external state (e.g. App Store Connect processing status). Avoids days of idle re-wakes for external-pipeline gates (TestFlight, App Review, CI, remote queues).

Alternatives considered

  • Keep the live loop but throttle re-wakes — reduces churn but still ties up the orchestration session for days of wall-clock time.
  • Split each external wait into a separate manually-resumed run — workable but loses run continuity and pushes scheduling onto the operator.
  • Add only webhook resume (no polling) — insufficient for pipelines like App Store Connect where no push signal is available.

Related

No directly related existing issues; this addresses a distinct external-wait lifecycle gap not covered by the rejection/non-interactive/journal-collision issues.

Reported from a cookbook babysitter retrospective (retro-jun-09) via /babysitter:contrib.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions