fix: address review findings round 3 (PR #798)#801
Closed
github-actions[bot] wants to merge 2 commits intomainfrom
Closed
fix: address review findings round 3 (PR #798)#801github-actions[bot] wants to merge 2 commits intomainfrom
github-actions[bot] wants to merge 2 commits intomainfrom
Conversation
Add 56 behavioral unit tests and 3 integration tests covering the orchestration recovery paths introduced in PR #375. Unit test coverage (OrchestrationRecoveryBehavioralTests.cs): - LoadHistoryFromDiskAsync: 11 tests parsing events.jsonl with user/assistant/tool/reasoning messages, timestamps, edge cases - bestResponse accumulation: 5 tests verifying longest-content-wins across multi-round recovery, null initial, progressive rounds - PrematureIdleSignal lifecycle: 8 tests exercising ManualResetEventSlim set/reset/wait/dispose/cross-thread signaling - OnSessionComplete handler: 5 tests for TCS pattern, name matching, cancellation registration, unsubscription - OCE handling: 4 tests verifying bestResponse preserved on cancellation with linked CTS timeout and user abort scenarios - dispatchTime filtering: 10 tests for timestamp-based message filtering including exact boundary, disk fallback, type exclusion - GetEventsFileMtime: 4 tests for file modification time detection - Constants validation: 4 tests verifying timeout values are reasonable - Recovery loop TCS pattern: 4 end-to-end simulations of the full recovery loop with multi-round accumulation Integration tests (OrchestrationRecoveryTests.cs): - Dashboard loads, new session button exists, settings page accessible Fixes #387 Co-authored-by: copilot-agentic-workflow[bot] <224017+copilot-agentic-workflow[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Finding 1 (MODERATE 3/3): RecoveryLoop_AlreadyDoneSessionCompletesImmediately - Was tautological (hardcoded isProcessing=false local var) - Now uses real CopilotService in Demo mode to verify IsProcessing state Finding 2 (MODERATE 3/3): Dead catch (ObjectDisposedException) - On .NET 8+, ManualResetEventSlim.IsSet does not throw ODE after Dispose() - Removed misleading try-catch, assert directly with explanatory comment Finding 3 (MODERATE 2/3): OnSessionComplete_HandlerUnsubscribeStopsDelivery - Was vacuously passing (event never fired via Demo mode) - Now invokes OnSessionComplete via reflection to verify subscribe/unsubscribe Finding 4 (MODERATE 3/3): OnSessionComplete_MultipleHandlersReceiveEvent - Was testing standalone lambda calls, not event multicast - Now subscribes both handlers to actual svc.OnSessionComplete event - Fires via reflection to verify C# event multicast delivery Co-authored-by: copilot-agentic-workflow[bot] <224017+copilot-agentic-workflow[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Owner
|
Stale fix-round PR — fixes were pushed to the main PR branch. |
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.
Addresses 4 expert review findings from round 3:
isProcessing=false; now uses real CopilotService in Demo modecatch (ObjectDisposedException)(unreachable on .NET 8+)All 3,632 tests pass.
Warning
The following domain was blocked by the firewall during workflow execution:
192.0.2.1To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.