You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ContextEventResolverBase.cs is 1103 LOC with 4-5 distinct responsibility groups identified during the architecture alignment audit against the solution-architecture playbook:
Event model construction — CreateEventModel, ResolveEvent
Evaluation needed
Performance: This is hot code on the read path. Evaluate whether decomposition introduces measurable overhead (virtual dispatch, additional allocations, indirection).
Architecture: The class uses inheritance (EventResolverBase). Facade pattern is awkward with inheritance — evaluate alternative decomposition strategies (composition, strategy extraction, static helpers).
Testability: Template-matching logic (DoesTemplateMatchPropertyCount triplet) currently lacks isolated unit tests. Decomposition would unlock testing these independently.
Panel findings: Architecture panel was split — duck recommended splitting now (4-5 responsibility groups, hot code path), opus recommended deferring (inheritance makes facade awkward, working code).
Acceptance criteria
Benchmark current resolver performance as baseline
Evaluate decomposition approaches (composition vs inheritance vs static helpers)
Assess regression risk vs testability gain
Decision: split now, split with specific approach, or defer with documented rationale
ContextEventResolverBase.cs is 1103 LOC with 4-5 distinct responsibility groups identified during the architecture alignment audit against the solution-architecture playbook:
GetOrParseTemplateDataNodes,DoesTemplateMatchPropertyCountvariants,WildcardWithNumberRegexFormatDescription,ResolveDescription,BuildNoMetadataFallbackDescription,CleanupFormatting, buffer managementResolveTaskName,TryResolveTaskNameFromDetails,CacheTaskName,GetKeywordsFromBitmaskGetModernEvent,TryDisambiguateLegacyMessage,GetParametersForDescriptionCreateEventModel,ResolveEventEvaluation needed
EventResolverBase). Facade pattern is awkward with inheritance — evaluate alternative decomposition strategies (composition, strategy extraction, static helpers).DoesTemplateMatchPropertyCounttriplet) currently lacks isolated unit tests. Decomposition would unlock testing these independently.Acceptance criteria