Document orchestration discovery and method probing behavior in analyzers #594
+184
−0
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.
PR #284 discussion identified the need to formally document how orchestration analyzers discover orchestrations and follow method call chains.
Changes
Added comprehensive documentation to
src/Analyzers/CONTRIBUTING.mdcovering:Orchestration Discovery: How the analyzer identifies three orchestration patterns (Durable Functions with
[OrchestrationTrigger], TaskOrchestrator classes, andAddOrchestratorFunclambdas)Method Probing Algorithm: Recursive traversal with cycle detection, cross-tree analysis, and concurrent execution support
Probing Capabilities: Direct calls, static/instance methods, async methods, lambdas, method references, partial classes, recursive methods
Probing Limitations: Cannot follow interface/abstract/virtual method calls, external libraries, reflection, or DI-resolved instances
Diagnostic Message Format: Explicitly identifies the violating method, the specific violation, and the invoking orchestration
Example limitation documented:
This provides the specification needed for consistent analyzer development and explains expected behavior to users.
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.