Replace escalation lookup with enum in TicketOrchestrator#7
Merged
wow-miley merged 14 commits intoNov 23, 2025
Merged
Conversation
Replace string-based keyword matching in TicketOrchestrator's blockerNeedsMeeting and blockerNeedsHuman with type-safe enum. This improves maintainability and allows keywords to specify both meeting and human involvement requirements.
Introduce a proper domain model for escalation types: - EscalationProcess: Defines resolution mechanisms (AgentMeeting, HumanApproval, HumanMeeting, ExternalDependency) - Escalation: Sealed class hierarchy with Discussion, Decision, Budget, Priorities, Scope, and External categories Each escalation type defines its process, making the model suitable for LLM classification instead of keyword matching. The TicketOrchestrator now accepts an optional Escalation type to determine meeting and participant requirements.
c07fdea to
905bc2e
Compare
Update tests to pass explicit Escalation types instead of relying on keyword matching, which was removed in the previous commit.
Remove direct MeetingOrchestrator dependency from TicketOrchestrator to enable bidirectional communication between orchestrators. - Add MeetingSchedulingService functional interface for decoupling - Create EnvironmentOrchestrator to manage Meeting/Ticket/Event orchestrators - Update TicketOrchestrator to use MeetingSchedulingService - Update tests to use new architecture This allows orchestrators to call each other through the parent EnvironmentOrchestrator without circular dependencies. Co-authored-by: Claude <noreply@anthropic.com>
Replace string-based keyword matching in TicketOrchestrator's blockerNeedsMeeting and blockerNeedsHuman with type-safe enum. This improves maintainability and allows keywords to specify both meeting and human involvement requirements.
Introduce a proper domain model for escalation types: - EscalationProcess: Defines resolution mechanisms (AgentMeeting, HumanApproval, HumanMeeting, ExternalDependency) - Escalation: Sealed class hierarchy with Discussion, Decision, Budget, Priorities, Scope, and External categories Each escalation type defines its process, making the model suitable for LLM classification instead of keyword matching. The TicketOrchestrator now accepts an optional Escalation type to determine meeting and participant requirements.
…Describable interface
Replace string-based keyword matching in TicketOrchestrator's blockerNeedsMeeting and blockerNeedsHuman with type-safe enum. This improves maintainability and allows keywords to specify both meeting and human involvement requirements.
Introduce a proper domain model for escalation types: - EscalationProcess: Defines resolution mechanisms (AgentMeeting, HumanApproval, HumanMeeting, ExternalDependency) - Escalation: Sealed class hierarchy with Discussion, Decision, Budget, Priorities, Scope, and External categories Each escalation type defines its process, making the model suitable for LLM classification instead of keyword matching. The TicketOrchestrator now accepts an optional Escalation type to determine meeting and participant requirements.
Update tests to pass explicit Escalation types instead of relying on keyword matching, which was removed in the previous commit.
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.
Replace string-based keyword matching in TicketOrchestrator's blockerNeedsMeeting and blockerNeedsHuman with type-safe enum. This improves maintainability and allows keywords to specify both meeting and human involvement requirements.