Conversation
Add typed signal envelopes, bounded durable buffering and deduplication, interruptible signal waits, and SDK/API/MCP/inspection/UI surfaces. Freeze orchestration 1.0.78 and route signal-aware turns through 1.0.79. Refs affandar#79. Webhook ingress, provider connectors, and explicit races remain out of scope. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
hacetin
marked this pull request as ready for review
September 18, 2026 14:28
Preserve main's non-signal orchestration 1.0.79 and introduce signals as 1.0.80. Correct expired timeout ordering, budget-interrupted wakes and retries, startup tool enforcement, Stop/cron continuation, inspection bounds, and shared UI state handling. Add deterministic and native-runtime regressions for the review scenarios. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep main's deployed 1.0.79 implementation frozen and retain signal-aware 1.0.80 as the new execution target. Resolve the orchestration registry and version-test conflicts without rewriting published history. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements Phase 1 only of #79: authenticated, typed durable signals and signal waits. This partially addresses the issue; it does not close the full webhook/connector roadmap.
wait_for_signalwith indefinite or timed waits, interruption/re-arm preserving the original deadline, and wait-ID-scoped Stop/cancellation.raiseSignaland redacted state inspection through SDK/direct/web clients, authenticated HTTP/RPC, MCP, and tuner tools. Existing event APIs become typed-signal compatibility wrappers rather than raw queue writes.Replay and rollout safety
Merged main at
7cac3109, retained its non-signal orchestration 1.0.79 as a frozen handler, and introduced signals under 1.0.80 withpilotswarm.signals.v1capability-routed turn activities. Signal writes and inspection reject 1.0.79 and older decoders. Existing main executions retain their original handler until a continue-as-new upgrade boundary; old activity descriptors and tool declarations remain unchanged.The frozen 1.0.79 files match main with only their current-version constant pinned. The existing 1.0.78 frozen copy is unchanged and no longer appears as an addition relative to current main.
Draft-lab compatibility: the earlier unmerged draft used 1.0.79 for signals before main independently assigned that number to different behavior. Those draft-test histories are not main's 1.0.79 histories. Use a fresh isolated test database when moving those experiments to this corrected build; ordinary main histories remain supported.
Review corrections
Validation
Pending before readiness: the full credentialed
./scripts/run-tests.shgate is blocked because the worktree has no.envwithDATABASE_URLandGITHUB_TOKEN. Secret configuration was not created or modified; native fixtures do not replace live PostgreSQL/Copilot coverage.The manual section below is preserved verbatim from the user's tests of the earlier PR head
fe675a87; it does not claim that the corrected 1.0.80 build has been manually re-tested.Manual Local Testing
HAPPY PATH:
Before:

After:

Also tested:
wake:truewoke an idle session; Stop cancelled waiting while preserving buffered signals.Not included
wait_for_any, public webhook endpoints, GitHub/Azure DevOps connectors, trusted event bindings/session templates, coalescing, and webhook receipt/dead-letter operations remain later phases of #79.