<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.Copilot.Testing.Core</name>
    </assembly>
    <members>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.AgentRequestOptions.ResponseFormat">
            <summary>
            Gets or sets the response format for the chat completion.
            Use ChatResponseFormat.Json to force JSON output for structured responses.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent">
            <summary>
            Sub-agent responsible for extracting code location information from user prompts.
            Uses tools to explore the codebase and determine what code to test.
            </summary>
            <summary>
            Prompts for the Code Location Extractor sub-agent.
            </summary>
            <summary>
            Sub-agent responsible for extracting configuration settings from user prompts.
            Focuses on advanced options and settings without exploring the codebase.
            </summary>
            <summary>
            Prompts for the Configuration Extractor sub-agent.
            </summary>
            <summary>
            Agent that analyzes free-form user prompts and converts them into structured HeuristicsTestAgentManager.Context.
            Uses two parallel LLM calls: one for configuration extraction and one for code location extraction.
            </summary>
            <summary>
            Contains tool definitions for the FreeFormPromptAnalyzerAgent.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent.CodeLocationExtractor.CodeLocationSchema">
            <summary>
            Schema for code location extraction response.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent.ConfigurationExtractor.ConfigurationSchema">
            <summary>
            Schema for configuration extraction response.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent.ToolContext">
            <summary>
            Shared context accessible by tools during execution.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent.AnalyzePromptAsync(Microsoft.Copilot.Testing.Core.Models.UserPrompt,Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,System.Threading.CancellationToken)">
            <summary>
            Analyzes a user prompt and returns a structured context for test generation,
            or an error if the prompt is too ambiguous or confidence is low.
            Uses two parallel LLM calls: one for configuration extraction and one for code location extraction.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent.InternalAnalyzePromptAsync(Microsoft.Copilot.Testing.Core.Models.UserPrompt,Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,System.Threading.CancellationToken)">
            <summary>
            Analyzes a user prompt and returns a structured context for test generation,
            or an error if the prompt is too ambiguous or confidence is low.
            Uses two parallel LLM calls: one for configuration extraction and one for code location extraction.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent.LlmExtractionResult">
            <summary>
            Result of deserializing LLM outputs from parallel extraction tasks.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent.ConfigurationExtractorAgent">
            <summary>
            Nested agent for extracting configuration from user prompts.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent.CodeLocationExtractorAgent">
            <summary>
            Nested agent for extracting code location information from user prompts.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent.ResolveAndValidateFilePath(System.String,Microsoft.Copilot.Testing.Utils.Paths.AbsoluteDirectoryPath,Microsoft.Copilot.Testing.Utils.Services.IFileSystem,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Resolves a file path extracted by the LLM and validates it exists on disk.
            If the direct concatenation doesn't exist, searches the working directory for a matching file by name,
            scoring candidates by how many trailing path segments match the LLM-extracted path.
            Returns null if the file cannot be found anywhere with sufficient confidence.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent.ScorePathMatch(System.String[],System.String)">
            <summary>
            Scores how well a candidate file path matches the LLM-extracted path by counting
            matching trailing path segments. Higher is better.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent.Tools.ResolveToAbsolutePath(System.String,Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerAgent.ToolContext)">
            <summary>
            Resolves a potentially relative path from LLM tool input to an absolute path
            using the tool context's default search path as the base directory.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.PromptAnalysisResult">
            <summary>
            Result of analyzing a user prompt.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.PromptAnalysisResult.Success">
            <summary>
            Analysis succeeded and returned a structured context.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.PromptAnalysisResult.Success.#ctor(Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context)">
            <summary>
            Analysis succeeded and returned a structured context.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.PromptAnalysisResult.Error">
            <summary>
            Analysis failed due to low confidence or ambiguity.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.PromptAnalysisResult.Error.#ctor(System.String,System.String)">
            <summary>
            Analysis failed due to low confidence or ambiguity.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext">
            <summary>
            JSON serialization context for FreeFormPromptAnalyzer schemas.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.Boolean">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.NullableBoolean">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.Double">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.NullableDouble">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.CodeLocationSchema">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.FileSchema">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.FileSchemaArray">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.ConfigurationSchema">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.Int32">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.NullableInt32">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.Int32Array">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.Int32ArrayArray">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.String">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.StringArray">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.Default">
            <summary>
            The default <see cref="T:System.Text.Json.Serialization.JsonSerializerContext" /> associated with a default <see cref="T:System.Text.Json.JsonSerializerOptions" /> instance.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.GeneratedSerializerOptions">
            <summary>
            The source-generated options associated with this context.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.#ctor">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.#ctor(System.Text.Json.JsonSerializerOptions)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.FreeFormPromptAnalyzer.FreeFormPromptAnalyzerJsonContext.GetTypeInfo(System.Type)">
            <inheritdoc />
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.IOutputSummarizer">
            <summary>
            Summarizes large text output using an LLM, extracting the most important information.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.IOutputSummarizer.SummarizeAsync(System.String,System.String,System.Threading.CancellationToken,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Summarizes the provided output text, extracting key information based on the specified purpose.
            </summary>
            <param name="output">The text content to summarize.</param>
            <param name="purpose">A description of what information to focus on when summarizing.
            For example: "Extract error messages and stack traces from test output" or
            "Identify the root cause of the crash from stderr output".</param>
            <param name="cancellationToken">Cancellation token.</param>
            <param name="extraContext">Optional additional context to help guide the summarization.</param>
            <returns>A summarized version of the output, or a truncated fallback if summarization fails.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.RetriesHandling.IRetriesExceededHandler.HandleRetriesExceededAsync(System.String,System.Int32,System.Collections.Generic.List{System.Exception},System.Threading.CancellationToken)">
            <summary>
            Handles the situation when the maximum number of retries for LLM calls is exceeded.
            </summary>
            <param name="agentName">The name of the agent that encountered the retries exceeded situation.</param>
            <param name="maxRetries">The maximum number of retries that were attempted.</param>
            <param name="exceptions">The list of exceptions encountered during the retries.</param>
            <param name="cancellationToken"></param>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.ToolBasedBugAnalysisAgent">
            <summary>
            Agent that analyzes suspected production bugs during test generation.
            Called as a subagent from ToolBasedCSharpCodeGenAgent via AnalyzePotentialBugTool.
            Uses shared tools from parent agent to avoid lock conflicts.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.ToolBasedBugAnalysisAgent.AnalyzeBugAsync(Microsoft.Copilot.Testing.Core.Models.BugReport,System.Threading.CancellationToken)">
            <summary>
            Analyzes a bug report to determine if it represents a production bug or test bug.
            </summary>
            <param name="report">The bug report submitted by CodeGenAgent.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>One-sentence summary of the analysis result.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.IBuildFixerAgent">
            <summary>
            Interface for build fixer agents that can be spawned when deadlock is detected.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.BuildFixerResult">
            <summary>
            Result of a build fixer run.
            </summary>
            <param name="Success">True if the build was fixed (build now succeeds).</param>
            <param name="Message">Agent's final message (either "OK" or summary of what's broken).</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.BuildFixerResult.#ctor(System.Boolean,System.String)">
            <summary>
            Result of a build fixer run.
            </summary>
            <param name="Success">True if the build was fixed (build now succeeds).</param>
            <param name="Message">Agent's final message (either "OK" or summary of what's broken).</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.BuildFixerResult.Success">
            <summary>True if the build was fixed (build now succeeds).</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Agents.BuildFixerResult.Message">
            <summary>Agent's final message (either "OK" or summary of what's broken).</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.ToolBasedBuildFixerAgent">
            <summary>
            Agent that attempts to fix build errors. Spawned when deadlock is detected
            (all code gen agents waiting for build to succeed).
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.ToolBasedBuildFixerAgent.RunAsync(System.Threading.CancellationToken)">
            <summary>
            Runs the build fixer agent to attempt fixing build errors.
            </summary>
            <returns>Result indicating success/failure and the agent's final message.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Agents.ToolBasedPromptBuilder">
            <summary>
            Builds annotated source content for tool-based code generation prompts.
            Uses absolute line numbers from syntax nodes and coverage data directly,
            bypassing the transformation flow that causes line number drift.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.ToolBasedPromptBuilder.CreateAnnotatedMemberContent(System.String,Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax,Microsoft.Copilot.Testing.Core.Helpers.Cobertura.MethodCoverageInfo)">
            <summary>
            Creates annotated source content for a single member.
            Pure function: source content + original syntax node + coverage -&gt; annotated string.
            Line numbers in output match the actual source file positions.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Agents.ToolBasedPromptBuilder.CreateAnnotatedContent(System.String,System.Collections.Generic.IEnumerable{System.ValueTuple{Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax,Microsoft.Copilot.Testing.Core.Helpers.Cobertura.MethodCoverageInfo}})">
            <summary>
            Creates annotated content for multiple members in a file.
            Members are separated by blank lines.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.BuildAgent">
            <summary>
            Orchestrates the build and fix workflow for generated test projects.
            This agent applies an ordered chain of diagnostic fixers recursively until the build succeeds
            or all fixers are exhausted. It handles MSBuild compilation, diagnostic extraction,
            and iterative application of fixes with commit points for each fixer.
            </summary>
            <remarks>
            <para>Key responsibilities:
            - Builds test projects using MSBuild via IBuildService
            - Extracts compilation diagnostics from build results
            - Applies diagnostic fixers in a predefined order
            - Tracks which fixers modified which files to avoid infinite loops
            - Commits changes after each fixer for Git history tracking
            - Collects telemetry on fixer effectiveness</para>
            </remarks>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.BuildAgent.#ctor(Microsoft.Copilot.Testing.Core.Services.IAgentCoreServices,Microsoft.Copilot.Testing.Core.Services.IUserPrompt,Microsoft.Copilot.Testing.Core.Helpers.CommitStepsHelper,Microsoft.Copilot.Testing.Core.Services.IBuildService,Microsoft.Copilot.Testing.Core.Services.IRoslynAnalyzerService,Microsoft.Copilot.Testing.Core.Services.IPackageService,Microsoft.Copilot.Testing.Core.IWorkspaceService,System.Int32,System.Boolean,System.Boolean,System.Func{System.Collections.Generic.IEnumerable{Microsoft.Copilot.Testing.Core.IDiagnosticFixer}})">
            <summary>
            Initializes a new instance of BuildAgent with the required services and configuration.
            </summary>
            <param name="coreServices">Bundled core services for agent creation.</param>
            <param name="userPrompt">Service for prompting the user for input.</param>
            <param name="commitStepsHelper">Helper for committing changes to source control.</param>
            <param name="buildService">Service for building projects via MSBuild.</param>
            <param name="roslynAnalyzerService">Service for applying Roslyn code fixes.</param>
            <param name="packageService">Service for managing NuGet packages.</param>
            <param name="workspaceService">Service for Roslyn workspace operations.</param>
            <param name="dop">Degree of parallelism for operations like LLM-based fixing.</param>
            <param name="deleteFailedCode">If true, removes unfixable code; if false, comments it out.</param>
            <param name="enableLlmFixer">If true, includes LlmDiagnosticFixer in the fixer chain (expensive but powerful).</param>
            <param name="customFixerFactory">Optional factory for custom fixer chains (primarily for testing).</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.BuildAgent.RunBuildAsync(Microsoft.Copilot.Testing.Core.BuildAgent.Context,System.Threading.CancellationToken)">
            <summary>
            Performs a simple build operation without attempting to fix any errors.
            This is used for validation scenarios where we only need to know if the build succeeds or fails.
            </summary>
            <remarks>
            <para>Unlike RunBuildAndFixBuildErrorsAsync, this method does NOT apply any fixers.
            It's typically used after all fixes have been applied to validate the final state.</para>
            </remarks>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.BuildAgent.RunBuildAndFixBuildErrorsAsync(Microsoft.Copilot.Testing.Core.BuildAgent.Context,System.Threading.CancellationToken)">
            <summary>
            Orchestrates the full build-and-fix workflow: builds the project, applies fixers iteratively,
            and returns the set of files that were modified during the fixing process.
            </summary>
            <returns>
            Success with the set of touched files if the build eventually succeeds,
            or Failure with error message and touched files if all fixers are exhausted.
            </returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.BuildAgent.IterativelyBuildAndFixIssuesAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.HashSet{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},Microsoft.Copilot.Testing.Core.IActivity,System.Boolean,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Core algorithm: builds the project, extracts diagnostics, and recursively applies fixers until success or exhaustion.
            This is the entry point for the iterative fix workflow.
            </summary>
            <param name="testProject">The test project to build and fix.</param>
            <param name="generatedFiles">Set of generated test files that are candidates for fixing.</param>
            <param name="activity">Telemetry activity for tracking the operation.</param>
            <param name="isInitialRun">True if this is the first build after code generation; false if fixing test failures.</param>
            <param name="isAlreadyRestored">True if NuGet restore has already been performed; affects whether we skip restore.</param>
            <param name="cancellationToken">Cancellation token for aborting the operation.</param>
            <returns>
            Tuple of: error message (null if successful), remaining diagnostics, and set of files that were modified.
            </returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.BuildAgent.CreateDefaultDiagnosticFixers">
             <summary>
             Creates the default ordered chain of diagnostic fixers.
             The order is CRITICAL: fixers are applied sequentially, and each fixer may retry if it makes progress.
             </summary>
             <remarks>
             <para>Strategy:
             1. Start with cheap, non-destructive, high-precision fixers (e.g., add using statements)
             2. Progress to fixers that modify code structure (e.g., InternalsVisibleTo, package references)
             3. Use expensive AI-powered fixers if enabled (LlmDiagnosticFixer)
             4. Apply cleanup passes (remove duplicates/superfulous types, fix usings again)
             5. As a last resort, use destructive fixers that comment out or delete problematic code
             6. Interleave RoslynAnalyzerFixer to apply IDE suggestions after structural changes
            
             Some fixers appear multiple times in the chain because they can fix new issues
             introduced by previous fixers (e.g., SuperfluousTypesFixer, MissingUsingsFixer).</para>
             </remarks>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.BuildAgent.ApplyFixersRecursivelyAsync(System.Collections.Generic.List{System.ValueTuple{System.Int32,Microsoft.Copilot.Testing.Core.IDiagnosticFixer}},System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Core.FileDiagnosticInfo},System.Collections.Concurrent.ConcurrentDictionary{System.String,System.String[]},System.Collections.Generic.HashSet{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.HashSet{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},Microsoft.Copilot.Testing.Core.IActivity,System.Threading.CancellationToken)">
             <summary>
             Recursively applies fixers until the build succeeds or all fixers have been tried.
             This is the heart of the fix workflow - it implements a recursive backtracking algorithm.
             </summary>
             <remarks>
             <para>Algorithm:
             1. Base case: If no fixers remain, return failure with remaining diagnostics
             2. Pop the next fixer from the queue
             3. Apply the fixer to current diagnostics
             4. If no changes made and fixer doesn't require rebuild, skip to next fixer
             5. Otherwise, commit changes and rebuild to get new diagnostics
             6. If fixer can retry (made progress or added issues), re-queue it
             7. Recursively call with updated diagnostics and remaining fixers
             8. Handle three outcomes: build succeeded, fixable diagnostics, unfixable error
            
             The fixHistory parameter prevents fixers from repeatedly applying the same fix.
             The touchedFiles parameter tracks all modified files for reporting.</para>
             </remarks>
             <param name="remainingFixers">Queue of fixers yet to be applied (order matters).</param>
             <param name="fileDiagnostics">Current diagnostics grouped by file.</param>
             <param name="fixHistory">Tracks which fixes were applied to which files (prevents infinite loops).</param>
             <param name="touchedFiles">Accumulator of all files modified during the entire fix process.</param>
             <param name="testProject">The test project being fixed.</param>
             <param name="generatedFiles">Set of generated test files.</param>
             <param name="activity">Telemetry activity for tracking the operation.</param>
             <param name="cancellationToken">Cancellation token for aborting the operation.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.BuildAgent.ApplySingleFixerAsync(Microsoft.Copilot.Testing.Core.IDiagnosticFixer,System.Int32,System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Core.FileDiagnosticInfo},System.Collections.Concurrent.ConcurrentDictionary{System.String,System.String[]},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.HashSet{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},Microsoft.Copilot.Testing.Core.IActivity,System.Threading.CancellationToken)">
            <summary>
            Applies a single fixer to the current diagnostics, validates the resulting syntax, and returns the changes.
            </summary>
            <remarks>
            <para>This method:
            1. Calls the fixer's AttemptFixAsync method with current diagnostics and fix history
            2. Times the fixer execution for telemetry
            3. Updates the fix history to prevent duplicate fixes
            4. Validates that all fixed files have valid C# syntax
            5. Writes valid fixes to disk and deletes files with empty content</para>
            </remarks>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.BuildAgent.ValidateAndApplyFixesAsync(System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.FixedFile},System.String,System.Threading.CancellationToken)">
            <summary>
            Validates that all fixes have valid C# syntax, writes valid fixes to disk, and deletes empty files.
            </summary>
            <remarks>
            <para>Invalid syntax is rejected to prevent introducing parse errors that would make subsequent analysis impossible.
            Empty content is treated as a signal to delete the file (used by destructive fixers).</para>
            </remarks>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.BuildAgent.TryGetRelevantDiagnosticsAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Core.Services.IBuildService,Microsoft.Extensions.Logging.ILogger,Microsoft.Copilot.Testing.Utils.Services.IFileSystem,System.Boolean,System.Threading.CancellationToken)">
             <summary>
             Builds the project, extracts diagnostics, and categorizes them as fixable or unfixable.
             </summary>
             <remarks>
             <para>This method:
             1. Reloads the Roslyn project to pick up file changes
             2. Runs MSBuild with binlog enabled (for diagnostic extraction)
             3. Parses the binlog to extract compilation diagnostics
             4. Groups diagnostics by file and validates that files exist in the project
             5. Returns one of three states: build succeeded, fixable diagnostics, unfixable error
            
             Diagnostics are considered "fixable" if they have valid file paths that exist in the project.
             Diagnostics without valid files (e.g., project-level errors) are treated as unfixable.</para>
             </remarks>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.CSharpCodeGenAgent.Result.CombineBatchResults(System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.CSharpCodeGenAgent.Result})">
            <summary>
            Combines multiple batch results into a single result.
            For tool-based generation, tests accumulate in a single file, so the last batch contains the final state.
            Tests can be removed by later batches (e.g., mocking limitations), so we use the last result as authoritative
            for test methods. Packages are accumulated across all batches since they're additive.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.CustomInstructions.CustomInstructionsData">
            <summary>
            Represents custom instructions provided by the user for test generation.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.CustomInstructions.CustomInstructionsData.Files">
            <summary>
            Gets the collection of file paths containing custom instruction content.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.CustomInstructions.CustomInstructionsData.FreeFormCustomInstructions">
            <summary>
            Gets optional free-form custom instructions provided as a string.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.CustomInstructions.CustomInstructionsData.Empty">
            <summary>
            Gets an empty instance with no custom instructions.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.CustomInstructions.TargetFrameworkKeywords">
            <summary>
            Keywords that indicate a build file may contain target framework constraints.
            Used both by the LLM prompt (see <see cref="M:Microsoft.Copilot.Testing.Core.CustomInstructions.TargetFrameworkExtractionSpec.GetDescription" />)
            and by the pre-filter in <see cref="M:Microsoft.Copilot.Testing.Core.Helpers.ProjectHelper.FilterBuildFilesWithTargetFrameworkReferences(System.Collections.Generic.IReadOnlyList{System.String},Microsoft.Copilot.Testing.Utils.Services.IReadOnlyFileSystem)" />.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ISpecificInstructionExtractor">
            <summary>
            Extracts specific instruction preferences from custom instruction files using LLM analysis.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ISpecificInstructionExtractor.ExtractInstructionsAsync``1(``0,System.String,System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.CustomInstructionFile},System.Threading.CancellationToken)">
            <summary>
            Extracts specific instruction preferences from custom instruction files using LLM analysis.
            </summary>
            <typeparam name="T">The type of preferences to extract (must be JSON-serializable).</typeparam>
            <param name="exampleOutput">Example instance used to generate JSON schema for LLM response.</param>
            <param name="description">Description of what to extract, included in LLM prompt.</param>
            <param name="customInstructions">List of custom instruction files to analyze.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>Extracted preferences of type T, or null if extraction fails or nothing found.</returns>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.FrameworkPreferences">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.TargetFrameworkPreferences">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.AssertionFramework">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.NullableAssertionFramework">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.MockFramework">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.NullableMockFramework">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.TestFramework">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.NullableTestFramework">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.DictionaryStringObject">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.Object">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.String">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.StringArray">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.Default">
            <summary>
            The default <see cref="T:System.Text.Json.Serialization.JsonSerializerContext" /> associated with a default <see cref="T:System.Text.Json.JsonSerializerOptions" /> instance.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.GeneratedSerializerOptions">
            <summary>
            The source-generated options associated with this context.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.#ctor">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.#ctor(System.Text.Json.JsonSerializerOptions)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.InstructionExtractionJsonContext.GetTypeInfo(System.Type)">
            <inheritdoc />
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent">
            <summary>
            Agent responsible for fixing failing unit tests through iterative analysis and repair.
            </summary>
            <remarks>
            <para>
            This agent serves as the entry point for the test fixing workflow. The actual iteration
            logic has been delegated to <see cref="T:Microsoft.Copilot.Testing.Core.IterativeTestFixOrchestrator" /> to maintain
            Single Responsibility Principle.
            </para>
            <para>
            Workflow:
            1. Groups failing tests by file and processes one test per file per iteration
            2. Uses TestFailureAnalysisAgent to analyze each failure and generate fixes
            3. Applies fixes, validates with builds and test reruns
            4. Comments out or removes tests that cannot be fixed
            5. Identifies and marks tests that reveal production code bugs
            </para>
            <para>
            Supports skip mode for fast test commenting without LLM analysis.
            </para>
            </remarks>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.#ctor(Microsoft.Copilot.Testing.Core.FailedTestsFixerServices,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of FailedTestsFixerAgent with the services facade.
            </summary>
            <remarks>
            Uses the facade pattern to reduce constructor over-injection.
            Previously had 12 constructor parameters, now bundled into a cohesive services object.
            </remarks>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.CreateTestFixingDiagnosticFixers(Microsoft.Extensions.Logging.ILogger,Microsoft.Copilot.Testing.Core.Services.IUserDisplay,Microsoft.Copilot.Testing.Utils.Services.IFileSystem,Microsoft.Copilot.Testing.Core.Services.IRoslynAnalyzerService,System.Boolean)">
            <summary>
            Creates the diagnostic fixer pipeline for test fixing scenarios.
            Fixers are applied in sequence to resolve build errors after test modifications.
            Order matters: simpler fixes first, LLM-based fixes later, most aggressive (commenting) last.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FixFailingTestsAsync(Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.Context,System.Threading.CancellationToken)">
            <summary>
            Main entry point for fixing failing tests in a test project.
            Orchestrates the iterative fix process, tracks results, and handles production bug identification.
            </summary>
            <param name="context">Context containing test project, generated files, and test run results</param>
            <param name="cancellationToken">Cancellation token</param>
            <returns>Operation result with set of modified file paths</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.RecordTestStatisticsAndTelemetry(Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.Context,System.Collections.Generic.IEnumerable{Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FailingTestInfo},Microsoft.Copilot.Testing.Core.IActivity)">
            <summary>
            Records test fix statistics and telemetry data after processing all tests.
            Deduplicates tests by name (keeping final state) before calculating statistics.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.ReportFixResultAsync(System.Boolean,Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.Context,System.Collections.Generic.HashSet{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},System.Threading.CancellationToken)">
            <summary>
            Reports the final result of the fix process and returns the appropriate operation result.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.ProcessAllFailingTestsInSkipModeAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.Context,Microsoft.Copilot.Testing.Core.IActivity,System.Threading.CancellationToken)">
            <summary>
            Fast-path mode: comments out all failing tests without LLM analysis.
            This method delegates to the IterativeTestFixOrchestrator.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.FailedTestsFixerServices">
            <summary>
            Facade that bundles services required for test fixing operations.
            Reduces constructor over-injection in FailedTestsFixerAgent by consolidating
            related dependencies into a single cohesive unit.
            </summary>
            <remarks>
            This follows the Facade pattern to address constructor over-injection (&gt;5-7 parameters)
            while maintaining explicit dependency declaration and testability.
            </remarks>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.FailingTestInfoExtractor">
            <summary>
            Responsible for extracting and enriching information about failing tests.
            Maps test failures to source files, extracts method details via Roslyn,
            and gathers context about production code dependencies.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailingTestInfoExtractor.GroupFailingTestsByFileAsync(System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.FailedTestResult},System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.FileGenerationResult},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Threading.CancellationToken)">
            <summary>
            Groups failing tests by their source file path.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailingTestInfoExtractor.ExtractFailingTestInfoAsync(System.Collections.Generic.Dictionary{System.String,System.Collections.Immutable.ImmutableArray{Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FailingTestInfo}},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IReadOnlyCollection{System.String},System.Threading.CancellationToken)">
            <summary>
            Extracts one test per file for processing, enriching each with Roslyn analysis.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailingTestInfoExtractor.ExtractAllFailingTestInfoAsync(System.Collections.Generic.Dictionary{System.String,System.Collections.Immutable.ImmutableArray{Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FailingTestInfo}},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IReadOnlyList{System.String},System.Threading.CancellationToken)">
            <summary>
            Extracts all failing tests from all files, enriching each with Roslyn analysis.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailingTestInfoExtractor.ExtractKnownClassNames(System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.TestIdentifier})">
            <summary>
            Extracts class names from fully qualified method names.
            Format: Namespace.ClassName.MethodName -&gt; Namespace.ClassName
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailingTestInfoExtractor.AddFilePathAsync(Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FailingTestInfo,System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.FileGenerationResult},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Threading.CancellationToken)">
            <summary>
            Locates the source file for a failing test by matching against generated files.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailingTestInfoExtractor.DoesFileMatchTest(Microsoft.Copilot.Testing.Core.Models.FileGenerationResult,Microsoft.Copilot.Testing.Core.Models.FailedTestResult,System.Boolean)">
            <summary>
            Checks if a generated file matches the given test based on method or class name.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailingTestInfoExtractor.GetFileContentContainsAsync(Microsoft.Copilot.Testing.Core.Models.FileGenerationResult,System.String,Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Threading.CancellationToken)">
            <summary>
            Checks if a file contains the specified test name.
            The name of the test can get changed by fixers (e.g. FormatFixer adding 'Async' suffix) so we check both:
            the original content (for quick result) and the current content (for fallback accuracy).
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailingTestInfoExtractor.AddMethodInfoAsync(Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FailingTestInfo,Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IReadOnlyCollection{System.String},System.Threading.CancellationToken)">
            <summary>
            Enriches failing test info with Roslyn-based code analysis.
            Extracts: method body, source location spans, indentation, containing type FQN, and callee information.
            Callee info is used to provide context to LLM about what production code the test depends on.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FailingTestInfoExtractor.AddCalleeInfoAsync(Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FailingTestInfo,Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax,Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.CodeAnalysis.Document,System.Threading.CancellationToken)">
            <summary>
            Extracts information about production code symbols called by the failing test.
            This provides context to the LLM about what the test depends on, helping it understand:
            - What production code is being tested
            - Available APIs and their signatures
            - Potential sources of test failures (if production API changed)
            Only includes symbols from production code (excludes test project files).
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Heuristics.CoverageCollectionHandler">
            <summary>
            Handles code coverage collection operations including initial and final coverage measurement.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.CoverageCollectionHandler.CollectCoverageTelemetryAsync(Microsoft.Copilot.Testing.Core.Services.CoverageInfoCollector,Microsoft.Copilot.Testing.Core.Models.IMSBuildProject,Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation,Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,System.Threading.CancellationToken)">
            <summary>
            Collects final coverage telemetry for the test project.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.CoverageCollectionHandler.CollectInitialCoverageAsync(Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,Microsoft.Copilot.Testing.Core.Models.IMSBuildProject,System.Boolean,Microsoft.Copilot.Testing.Core.Services.CoverageInfoCollector,Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation,Microsoft.Copilot.Testing.Core.Services.IProgress,System.Threading.CancellationToken)">
            <summary>
            Collects initial coverage for the test project before test generation.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.CoverageCollectionHandler.RunTestsAndCollectCoverageAsync(Microsoft.Copilot.Testing.Core.Models.IMSBuildProject,System.Boolean,System.Boolean,Microsoft.Copilot.Testing.Core.Helpers.CoverageType,Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation,Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,Microsoft.Copilot.Testing.Core.Services.IProgress,System.Threading.CancellationToken)">
            <summary>
            Runs tests and collects coverage data for the specified test project.
            This method is used by both the regular test generation workflow and the coverage-based cycling engine.
            </summary>
            <returns>A task representing the test run output including coverage file path and test run results.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.CoverageCollectionHandler.NormalizeAndConvertCoverageFileAsync(System.String,System.Boolean,Microsoft.Copilot.Testing.Core.Models.IMSBuildProject,System.Threading.CancellationToken)">
            <summary>
            Normalizes and converts coverage file to Cobertura format if needed.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.CoverageCalculation">
            <summary>
            Gets the coverage calculation instance used for measuring coverage percentages.
            This is initialized by calling InitializeTestsGeneration.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.InitializeTestsGenerationAsync(Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,System.Threading.CancellationToken)">
            <summary>
            Initializes the coverage calculation for test generation.
            It is safe to call this multiple times (e.g. for coverage cycling scenario).
            It will not fail if the scope cannot be determined - in that case CoverageCalculation will remain null.
            </summary>
            <param name="context">The context containing scope information for coverage calculation.</param>
            <param name="cancellationToken"></param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.MatchFailuresToTestFiles(System.Collections.Generic.IEnumerable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},Microsoft.Copilot.Testing.Core.Models.TestRunOutput)">
            <summary>
            Matches test failures to their corresponding test files by comparing the failure's class name
            (short form) against the test file name (without extension). Only includes files that exist
            on disk and have at least one matching failure.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.FixFailingPreExistingTestsAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Core.Models.TestRunOutput,System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},System.String,System.Threading.CancellationToken)">
            <summary>
            Attempts to fix pre-existing failing tests. Returns true if the user accepted the prompt
            (regardless of whether fixing succeeded), false if the user declined.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.SourceValidationResult">
            <summary>
            Result of source project validation for test generation.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.SourceValidationResult.Validated">
            <summary>
            The source project is valid and ready for test generation.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.SourceValidationResult.Validated.#ctor(Microsoft.Copilot.Testing.Core.Models.ICodeProject)">
            <summary>
            The source project is valid and ready for test generation.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.SourceValidationResult.Skipped">
            <summary>
            The source project should be skipped (e.g., it's a test project or has no testable code).
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.SourceValidationResult.Skipped.#ctor(Microsoft.Copilot.Testing.Core.Models.TestScenarioResult)">
            <summary>
            The source project should be skipped (e.g., it's a test project or has no testable code).
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.TestGenerationResources">
            <summary>
            Resources needed to execute test generation.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.TestGenerationResources.#ctor(Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Boolean,System.Boolean,Microsoft.Copilot.Testing.Core.IActivity,Microsoft.Copilot.Testing.Core.Services.CoverageInfoCollector,Microsoft.Copilot.Testing.Core.Heuristics.InitialCoverageResult,System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.SourceFileToTest},System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},System.String,Microsoft.Copilot.Testing.Utils.Services.IFileSystem)">
            <summary>
            Resources needed to execute test generation.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.DetermineRejectedActionType(System.String)">
            <summary>
            Determines the type of rejected action from the exception message when not explicitly specified.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.RunTestsAndCollectCoverageAsync(Microsoft.Copilot.Testing.Core.Models.IMSBuildProject,System.Boolean,System.Boolean,Microsoft.Copilot.Testing.Core.Helpers.CoverageType,Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,Microsoft.Copilot.Testing.Core.Services.IProgress,System.Threading.CancellationToken)">
            <summary>
            Runs tests and collects coverage data for the specified test project.
            This method is used by both the regular test generation workflow and the coverage-based cycling engine.
            </summary>
            <returns>A task representing the test run output including coverage file path and test run results.</returns>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.TargetCoverageSetting.TargetCoveragePercentage">
            <summary>
            Specifies a desired coverage to achieve in iterative mode.
            The value is expected to be in percentages - so e.g. for target coverage of 82.5%, this value should be 82.5
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.TargetCoverageSetting.MaximumDuration">
            <summary>
            Specifies an optional maximum duration (defaults to 5 hours) for which the agent is allowed to cycle during attempt to keep improving code coverage (last cycle cannot start after this limit, but it can finish after the limit - as tests fixing cannot be stopped mid-way without impact on builability).
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.TargetCoverageSetting.MaximumCycles">
            <summary>
            Specifies an optional maximum number of cycles (defaults to 10) that agent can repeat during attempt to keep improving code coverage.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.TestScenario">
            <summary>
            The scope for test generation (file, directory, project, solution, etc.).
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.WorkingRoot">
            <summary>
            The working directory root where test projects and other artifacts should be created.
            This is computed from user-provided repo root, git repository root, or solution detection.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.TestProjectPath">
            <summary>
            Optional path to a test project. When provided, the agent will use this test project for test generation
            if the scope is file, directory, or project. This helps the agent resolve references and generate tests
            in the correct location.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.SolutionPath">
            <summary>
            Optional path to a solution file. When provided, the agent will use this solution to help resolve
            project references and context for test generation, especially for file, directory, or project scopes.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.BaselineCoveragePath">
            <summary>
            Gets the file path to the baseline code coverage report used for comparison.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.FinalCoveragePath">
            <summary>
            Gets the file path to the final code coverage report after test generation.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.UseSequentialFileProcessing">
            <summary>
            Gets a value indicating whether files are processed sequentially instead of in parallel.
            </summary>
            <remarks><para>Set this property to <see langword="true" /> to ensure that files are processed one at
            a time, which may be necessary for certain workflows or to avoid concurrency issues. When set to <see langword="false" />, files may be processed in parallel to improve performance.</para></remarks>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.IsCI">
            <summary>
            Gets a value indicating whether the current environment is a continuous integration (CI) environment.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.TestFixingTimeout">
            <summary>
            Gets the maximum duration allowed for test fixing iterations (RunTestsAndFixAsync).
            If the timeout is reached, all remaining unfixed code will be either commented out or removed based on deleteFailedCode flag.
            If null, no timeout is applied.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.IsRunRightAfterCodeGen">
            <summary>
            Gets a value indicating whether the operation is executed immediately after code generation
            completed. This tells to the agnt that there were no user changes that happened after the code generation
             and that failing tests probably never passed. If 'false' is passed - it means that there were likely
             changes in user code that caused the existing tests to start failing.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.IsAgentOwnedTestProject">
            <summary>
            Gets a value indicating whether the test project is owned by the Code Testing agent.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.DisableCoverageTelemetry">
            <summary>
            Gets or sets a value indicating whether code coverage telemetry is disabled.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.UseAgentAttributes">
            <summary>
            Gets a value indicating whether agent-specific attributes are included in the operation.
            This can be used to help distinguish the agent generated tests from the user authored tests.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.CustomInstructions">
            <summary>
            Gets the custom instructions to be used during processing.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.SkipInitialCoverage">
            <summary>
            Gets a value indicating whether the initial code coverage analysis should be skipped.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.CommentOutProductionBugs">
            <summary>
            Gets a value indicating whether tests identified as production code bugs should be commented out
            with TODO notes referencing the bug report, allowing the test suite to pass.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.IsCleanStateRequired">
            <summary>
            Gets a value indicating whether the repository must be kept in a clean state by creating commits
            after successful project generation and rolling back when projects fail.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.RemoveFailingTestsWithoutFixing">
            <summary>
            Gets a value indicating whether LLM-based test failure analysis should be skipped,
            immediately removing or commenting out failing tests instead.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.SkipTestFixing">
            <summary>
            Gets a value indicating whether LLM-based test failure analysis should be skipped,
            and failing tests should be left untouched.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.OnlyFixTests">
            <summary>
            Gets a value indicating whether only test fixing should be performed without generating new tests.
            When true, the agent will only analyze and fix existing failing tests.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.TargetCoverageSetting">
            <summary>
            If specified - indicates that agent should run iteratively until specified coverage is achieved,
             or untill it hits plateau or an error.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.UseClassicAgent">
            <summary>
            Gets a value indicating whether the classic test generation agent should be used.
            When false (default), the modern agent writes tests directly to files via tool calls.
            When true, the classic agent generates tests via markdown responses.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.MemberBatchSize">
            <summary>
            Gets the number of members to process per LLM call in tool-based generation.
            Lower values increase reliability, higher values increase speed. Range: 1-50. Default: 5.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.IsFullDiffMode">
            <summary>
            Gets the value indicating whether working tree changes should be included when calculating git diff - i.e. "git diff (git merge-base HEAD [default_branch])"
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context.HadFailingPreExistingTests">
            <summary>
            Gets a value indicating whether any pre-existing tests were failing before test generation started.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Heuristics.TestFixingOrchestrator">
            <summary>
            Orchestrates test fixing operations including building, running tests, and fixing failures.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestFixingOrchestrator.FixTestsInSingleProjectAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,System.Threading.CancellationToken)">
            <summary>
            Fixes tests in a single test project.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestFixingOrchestrator.BuildAndRunTestsForProjectAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Utils.Services.IFileSystem,System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.FileGenerationResult},System.Boolean,System.Boolean,Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,System.Threading.CancellationToken)">
            <summary>
            Builds and runs tests for a project, fixing any failures.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestFixingOrchestrator.RecountTestsAfterFixing(System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.FileGenerationResult},Microsoft.Copilot.Testing.Core.Models.TestFramework)">
            <summary>
            Counts tests in generated files after fixing iterations.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Heuristics.TestFixingOrchestrator.TestFixingIterationContext">
            <summary>
            Context for test fixing iterations to reduce parameter count.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestFixingOrchestrator.TestFixingIterationContext.#ctor(Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Core.Models.FileGenerationResult[],System.Collections.Generic.List{Microsoft.Copilot.Testing.Core.Models.TestIdentifier},Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,System.Boolean,Microsoft.Copilot.Testing.Utils.Services.IFileSystem,Microsoft.Copilot.Testing.Core.Services.IProgress,System.Threading.CancellationTokenSource,System.Int32,System.Threading.CancellationToken,System.Threading.CancellationToken)">
            <summary>
            Context for test fixing iterations to reduce parameter count.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Heuristics.TestProjectLocator">
            <summary>
            Handles test project discovery and creation operations.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestProjectLocator.EnumerateTestProjectsAsync(System.String,Microsoft.Copilot.Testing.Core.Models.TestScenario,System.Boolean,System.Func{System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.Dictionary{Microsoft.Copilot.Testing.Core.Models.IHeuristicsProject,System.Collections.Generic.List{Microsoft.Copilot.Testing.Core.Models.SourceFileToTest}},System.Collections.Generic.HashSet{System.String},System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Threading.CancellationToken)">
            <summary>
            Enumerates test projects based on the test scenario.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestProjectLocator.FindOrCreateTestProjectAsync(Microsoft.Copilot.Testing.Core.Models.IMSBuildProject,Microsoft.Copilot.Testing.Utils.Services.IFileSystem,System.String,System.String,System.Boolean,Microsoft.Copilot.Testing.Core.CustomInstructions.FrameworkPreferences,Microsoft.Copilot.Testing.Core.CustomInstructions.TargetFrameworkPreferences,System.Threading.CancellationToken)">
            <summary>
            Finds or creates a test project for the given source project.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestProjectLocator.GetTestProjectAsync(Microsoft.Copilot.Testing.Core.Models.IHeuristicsProject,System.Boolean,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Gets or resolves a test project from a source project.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Heuristics.TestResultReporter">
            <summary>
            Handles reporting and finalizing test generation results.
            Responsible for logging test execution summaries and displaying appropriate user messages
            based on the outcome of test generation operations.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestResultReporter.FinalizeResultAsync(Microsoft.Copilot.Testing.Core.Models.TestScenarioResult,Microsoft.Copilot.Testing.Core.IActivity,System.Threading.CancellationToken)">
            <summary>
            Finalizes a test scenario result by logging the execution summary and reporting
            the appropriate status (success, failure, partial success, etc.) to the user.
            </summary>
            <param name="result">The test scenario result to finalize.</param>
            <param name="sessionActivity">Optional activity for telemetry tracking.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>The finalized result with an appropriate exit code.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Heuristics.TestScenarioHandler">
            <summary>
            Handles different test scenario types (git diff, solutions, projects, directories, files)
            and collects files per project for test generation.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestScenarioHandler.CreateTestsForGitDiffAsync(Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,Microsoft.Copilot.Testing.Core.GitAgent.Result,System.Func{Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,Microsoft.Copilot.Testing.Core.Models.IHeuristicsProject,System.Nullable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.SourceFileToTest},System.Nullable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},Microsoft.Copilot.Testing.Core.IWorkspaceService,System.Boolean,System.Threading.CancellationToken,System.Threading.Tasks.Task{Microsoft.Copilot.Testing.Core.Models.TestScenarioResult}},System.Threading.CancellationToken)">
            <summary>
            Creates tests for git diff changes.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestScenarioHandler.CreateTestsForSolutionsAsync(Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,System.Func{Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,Microsoft.Copilot.Testing.Core.Models.IHeuristicsProject,System.Nullable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.SourceFileToTest},System.Nullable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},Microsoft.Copilot.Testing.Core.IWorkspaceService,System.Boolean,System.Threading.CancellationToken,System.Threading.Tasks.Task{Microsoft.Copilot.Testing.Core.Models.TestScenarioResult}},System.Threading.CancellationToken)">
            <summary>
            Creates tests for solutions.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestScenarioHandler.CreateTestsForProjectsAsync(Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,System.Func{Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,Microsoft.Copilot.Testing.Core.Models.IHeuristicsProject,System.Nullable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.SourceFileToTest},System.Nullable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},Microsoft.Copilot.Testing.Core.IWorkspaceService,System.Boolean,System.Threading.CancellationToken,System.Threading.Tasks.Task{Microsoft.Copilot.Testing.Core.Models.TestScenarioResult}},System.Threading.CancellationToken)">
            <summary>
            Creates tests for projects.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestScenarioHandler.CreateTestsForDirectoriesAsync(Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,System.Func{Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,Microsoft.Copilot.Testing.Core.Models.IHeuristicsProject,System.Nullable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.SourceFileToTest},System.Nullable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},Microsoft.Copilot.Testing.Core.IWorkspaceService,System.Boolean,System.Threading.CancellationToken,System.Threading.Tasks.Task{Microsoft.Copilot.Testing.Core.Models.TestScenarioResult}},System.Threading.CancellationToken)">
            <summary>
            Creates tests for directories.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestScenarioHandler.CreateTestsForFilesAsync(Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,System.Func{Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,Microsoft.Copilot.Testing.Core.Models.IHeuristicsProject,System.Nullable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.SourceFileToTest},System.Nullable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},Microsoft.Copilot.Testing.Core.IWorkspaceService,System.Boolean,System.Threading.CancellationToken,System.Threading.Tasks.Task{Microsoft.Copilot.Testing.Core.Models.TestScenarioResult}},System.Threading.CancellationToken)">
            <summary>
            Creates tests for files.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Heuristics.TestScenarioHandler.CollectFilesPerProjectsAsync(System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.Dictionary{Microsoft.Copilot.Testing.Core.Models.IHeuristicsProject,System.Collections.Generic.List{Microsoft.Copilot.Testing.Core.Models.SourceFileToTest}},System.Collections.Generic.HashSet{System.String},System.Threading.CancellationToken)">
            <summary>
            Collects files per project from a set of file paths.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.IterativeTestFixOrchestrator">
            <summary>
            Orchestrates the iterative test fixing process, handling the recursive loop
            of: extract failing tests -&gt; analyze with LLM -&gt; apply fixes -&gt; validate -&gt; repeat.
            </summary>
            <remarks>
            Extracted from FailedTestsFixerAgent to adhere to Single Responsibility Principle.
            This class focuses solely on the iteration logic while FailedTestsFixerAgent
            handles agent lifecycle and entry point coordination.
            </remarks>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IterativeTestFixOrchestrator.CalculateMaxIterations(System.Collections.Generic.Dictionary{System.String,System.Collections.Immutable.ImmutableArray{Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FailingTestInfo}})">
            <summary>
            Calculates the maximum number of iterations for the fix process.
            Uses the maximum tests in any single file as base, then triples it to handle
            test flakiness, dependencies, and cascading failures.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IterativeTestFixOrchestrator.FixFailingTestsIterativelyAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Int32,System.Int32,Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.Context,Microsoft.Copilot.Testing.Core.IActivity,System.Threading.CancellationToken)">
            <summary>
            Iteratively fix failing tests taking one failing test from each file at a time.
            Strategy: Process one test per file per iteration to minimize conflicts and allow progressive validation.
            Each iteration: extract tests -&gt; analyze with LLM -&gt; apply fixes -&gt; build -&gt; rerun tests -&gt; recurse if needed.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IterativeTestFixOrchestrator.ProcessAllFailingTestsInSkipModeAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.Context,Microsoft.Copilot.Testing.Core.IActivity,System.Threading.CancellationToken)">
            <summary>
            Fast-path mode: comments out all failing tests without LLM analysis.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ITestAgent.Context.ExcludeCategory">
            <summary>
            What test categories should not be executed
            Applies filtering by category per https://learn.microsoft.com/dotnet/core/testing/selective-unit-tests.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.CallCSharpCodeGenAgentAsync">
            <summary>
            Delegate for calling the code generation agent for a single member.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.MemberByMemberTestGenerator">
            <summary>
            Handles member-by-member test generation strategy.
            Extracted from TestGenerationAgent to adhere to Single Responsibility Principle.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MemberByMemberTestGenerator.GenerateAsync(Microsoft.Copilot.Testing.Core.FileGenerationContext,Microsoft.Copilot.Testing.Core.Helpers.Cobertura.CoverageInfo,Microsoft.Copilot.Testing.Core.Models.TestFramework,Microsoft.Copilot.Testing.Core.CallCSharpCodeGenAgentAsync,System.Threading.CancellationToken)">
            <summary>
            Generates tests for each testable member in a file individually, then merges the results.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MemberByMemberTestGenerator.MergeResultsAsync(Microsoft.Copilot.Testing.Core.FileGenerationContext,Microsoft.Copilot.Testing.Core.Models.TestFramework,System.Collections.Generic.List{Microsoft.Copilot.Testing.Core.CSharpCodeGenAgent.Result},System.Threading.CancellationToken)">
            <summary>
            Merges individual member test results into a single test file.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IPromptBuilderAgent.EnhancePromptWithCustomInstructionsAsync(System.String,System.String,System.String,Microsoft.Copilot.Testing.Core.CustomInstructions.CustomInstructionsData,System.Threading.CancellationToken)">
            <summary>
            Consolidates prompt components by intelligently merging custom instructions from files with overridable content
            on first call (cached thereafter), while preserving call-specific unchangeable parts.
            </summary>
            <param name="promptPurpose">Description of what the target prompt is for, used as context for the consolidation agent.</param>
            <param name="unchangeablePrompt">Call-specific content that is always preserved and prepended to the final result. Can vary between calls.</param>
            <param name="overridablePrompt">Static base instructions that can be overridden or augmented by custom instructions. Cached after first consolidation.</param>
            <param name="customInstructions">Custom instructions provided by the user that override or augment the overridable prompt. Any parts contradicting the unchangeable prompt will be removed.</param>
            <param name="cancellationToken">Token to cancel the operation.</param>
            <returns>The final consolidated prompt with unchangeable content prepended to the merged instructions.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.TestFileFinalizer">
            <summary>
            Handles test file finalization operations including saving, merging, and updating test files.
            Extracted from TestGenerationAgent to adhere to Single Responsibility Principle.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestFileFinalizer.FinalizeAsync(System.Boolean,Microsoft.Copilot.Testing.Core.CSharpFileMetadata,Microsoft.Copilot.Testing.Core.TestFileInfo,Microsoft.Copilot.Testing.Core.Services.IProgress,System.Threading.CancellationToken)">
            <summary>
            Finalizes a test file after generation, handling new files, existing files, and tool-based generation.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestFileFinalizer.FinalizeToolBasedFileAsync(Microsoft.Copilot.Testing.Core.TestFileInfo,Microsoft.Copilot.Testing.Core.Services.IProgress,System.Threading.CancellationToken)">
            <summary>
            Finalizes a file that was written by tool-based generation.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestFileFinalizer.FinalizeExistingFileAsync(Microsoft.Copilot.Testing.Core.CSharpFileMetadata,Microsoft.Copilot.Testing.Core.TestFileInfo,Microsoft.Copilot.Testing.Core.Services.IProgress,System.Threading.CancellationToken)">
            <summary>
            Adds tests to an existing test file.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestFileFinalizer.FinalizeNewFileAsync(Microsoft.Copilot.Testing.Core.CSharpFileMetadata,Microsoft.Copilot.Testing.Core.TestFileInfo,Microsoft.Copilot.Testing.Core.Services.IProgress,System.Threading.CancellationToken)">
            <summary>
            Creates a new test file.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestFileFinalizer.SaveGeneratedContentAsync(Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath,System.String,System.String,System.String,Microsoft.Copilot.Testing.Core.CSharpFileMetadata,System.Threading.CancellationToken)">
            <summary>
            Saves generated content to a test file, merging with existing content if present.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.TestFixApplicator">
            <summary>
            Handles application and validation of test fixes.
            Validates fix syntax, applies fixes to files, and marks tests appropriately.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestFixApplicator.ProcessFixAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Core.TestFailureAnalysisAgent.Result,Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FailingTestInfo,System.String,Microsoft.Copilot.Testing.Core.Models.TestFramework,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Processes a single test fix result from the LLM analysis.
            Handles three cases:
            1. Production bug suspected (high/medium confidence) -&gt; mark with category, add to report
            2. No fix available or fix is empty -&gt; mark for commenting out
            3. Valid fix provided -&gt; apply and validate syntax
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestFixApplicator.ApplyFixAsync(Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FailingTestInfo,System.String,Microsoft.Copilot.Testing.Core.Models.TestFramework,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Applies a fix to a failing test after validating it meets requirements.
            Validation steps:
            1. Must be exactly one standalone method
            2. Must have test attribute
            3. Must have valid C# syntax after replacement
            4. Must not create duplicate method in the class
            If all validations pass, writes the fixed code to disk and updates test info.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestFixApplicator.EnsureAgentAttributes(Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax,Microsoft.Copilot.Testing.Core.Models.TestFramework)">
            <summary>
            Ensures the fixed method has required attributes (owner and category) and adds them if missing.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestFixApplicator.ValidateNoDuplicateMethod(Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax,System.String)">
            <summary>
            Validates that the fixed method doesn't create a duplicate method declaration.
            Checks that after applying the fix, the method appears exactly once in the file.
            Prevents LLM from accidentally creating duplicate methods when fixing tests.
            Returns true if the method appears exactly once (valid), false otherwise.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestFixApplicator.AddProductionBugCategoryAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FailingTestInfo,Microsoft.Copilot.Testing.Core.Models.TestFramework,System.Threading.CancellationToken)">
            <summary>
            Adds production bug category attribute to a test method.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.FileGenerationContext">
            <summary>
            Encapsulates all file-level data needed for test generation, reducing parameter count across methods.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FileGenerationContext.#ctor(Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath,Microsoft.Copilot.Testing.Core.Models.ICodeFile,Microsoft.Copilot.Testing.Core.Models.SourceFileToTest,Microsoft.Copilot.Testing.Core.CSharpFileMetadata,System.String,System.String,Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Core.ICSharpCodeGenAgent,Microsoft.Copilot.Testing.Core.Services.IProgress)">
            <summary>
            Encapsulates all file-level data needed for test generation, reducing parameter count across methods.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.TestFileInfo">
            <summary>
            Represents the result of test file generation for a single source file.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestFileInfo.#ctor(System.Boolean,System.Boolean,Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath,Microsoft.Copilot.Testing.Core.Models.SourceFileToTest,Microsoft.Copilot.Testing.Core.CSharpCodeGenAgent.Result,System.String)">
            <summary>
            Represents the result of test file generation for a single source file.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.TestGenerationContext">
            <summary>
            Context for test generation operations, encapsulating workspace, project, and coverage information.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.TestGenerationContext.SourceFiles">
            <summary>
            If empty, assume all files in the project.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.TestRemovalHandler">
            <summary>
            Handles removal and commenting out of failing tests.
            Provides user notifications and file I/O operations for test modifications.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestRemovalHandler.RemoveOrCommentOutAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FailingTestInfo,System.String,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Removes or comments out a single failing test.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestRemovalHandler.CommentOutProductionBugsAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IEnumerable{Microsoft.Copilot.Testing.Core.FailedTestsFixerAgent.FailingTestInfo},System.Nullable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},System.Threading.CancellationToken)">
            <summary>
            Comments out production bug suspect tests with appropriate TODO messages.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.TestRemovalHandler.FormatTestRemovalMessage(System.Boolean,System.Boolean,System.String,System.String)">
            <summary>
            Formats a user-facing message for test removal or commenting.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.LLMCallException">
            <summary>
            The base class for exceptions that occur during LLM (Large Language Model) calls.
            This abstract class provides a foundation for specific LLM-related exception types.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.LLMCallException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Copilot.Testing.Core.LLMCallException" /> class.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.LLMCallException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Copilot.Testing.Core.LLMCallException" /> class with a specified error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.LLMCallException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Copilot.Testing.Core.LLMCallException" /> class with a specified error message
            and a reference to the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerException">The exception that is the cause of the current exception, or a null reference
            if no inner exception is specified.</param>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.LLMCallMaxRetriesExceededException">
            <summary>
            Exception thrown when LLM calls fail after exhausting all retry attempts.
            Contains information about all failed attempts and the retry configuration.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.LLMCallMaxRetriesExceededException.MaxRetries">
            <summary>
            Gets the maximum number of retry attempts that were configured.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.LLMCallMaxRetriesExceededException.RetryExceptions">
            <summary>
            Gets the collection of exceptions that occurred during each retry attempt.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.LLMCallMaxRetriesExceededException.AgentName">
            <summary>
            Gets the name of the agent that failed the LLM call.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.LLMCallMaxRetriesExceededException.#ctor(System.String,System.Int32,System.Collections.Generic.IEnumerable{System.Exception})">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Copilot.Testing.Core.LLMCallMaxRetriesExceededException" /> class.
            </summary>
            <param name="agentName">The name of the agent that failed the LLM call.</param>
            <param name="maxRetries">The maximum number of retry attempts that were configured.</param>
            <param name="retryExceptions">The collection of exceptions that occurred during each retry attempt.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.LLMCallMaxRetriesExceededException.#ctor(System.String,System.String,System.Int32,System.Collections.Generic.IEnumerable{System.Exception})">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Copilot.Testing.Core.LLMCallMaxRetriesExceededException" /> class with a custom message.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="agentName">The name of the agent that failed the LLM call.</param>
            <param name="maxRetries">The maximum number of retry attempts that were configured.</param>
            <param name="retryExceptions">The collection of exceptions that occurred during each retry attempt.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.LLMCallMaxRetriesExceededException.#ctor(System.String,System.Exception,System.String,System.Int32,System.Collections.Generic.IEnumerable{System.Exception})">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Copilot.Testing.Core.LLMCallMaxRetriesExceededException" /> class with a custom message and inner exception.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
            <param name="agentName">The name of the agent that failed the LLM call.</param>
            <param name="maxRetries">The maximum number of retry attempts that were configured.</param>
            <param name="retryExceptions">The collection of exceptions that occurred during each retry attempt.</param>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Exceptions.UnretriableLLMCallException">
            <summary>
            Exception representing unretriable errors in LLM calls
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.RejectedActionType">
            <summary>
            Describes the type of action that was rejected by the user.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.RejectedActionType.Unknown">
            <summary>Unknown or unspecified action.</summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.RejectedActionType.RunTests">
            <summary>Running tests (dotnet test) was rejected.</summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.RejectedActionType.InstallPackages">
            <summary>Installing NuGet packages was rejected.</summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.RejectedActionType.FixTests">
            <summary>Fixing tests was rejected.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.UserPromptRejectedException">
            <summary>
            Exception thrown when the user explicitly rejects an action requested by the agent (e.g. running tests, installing packages).
            This is different from an actual cancellation (CTRL+C / cancellation token) and should be handled gracefully without
            treating it as an error or crash.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.UserPromptRejectedException.ActionType">
            <summary>
            Gets the type of action that was rejected by the user.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.UserPromptRejectedException.ScopeFiles">
            <summary>
            Gets the files that were in scope when the action was rejected.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.UserPromptRejectedException.ProjectPath">
            <summary>
            Gets the project path that was being processed when the action was rejected.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.AgentNamer">
            <summary>
            Generates memorable, unique names for agents (e.g., "SwiftBlueOtter").
            Names are composed of Adjective + Color + Animal for easy identification in logs.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchCoordinator`1">
            <summary>
            Collects requests into batches and processes them serially through an <see cref="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IBatchProcessor`1" />.
            Requests submitted while a batch is processing are queued for the next batch.
            </summary>
            <remarks>
            Thread-safe. Multiple agents can call <see cref="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchCoordinator`1.Submit(`0)" /> concurrently.
            Uses a Channel to queue requests and a background processor to handle batches.
            </remarks>
            <typeparam name="TRequest">The type of request to batch.</typeparam>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchDiagnosticHelper">
            <summary>
            Filters build/test diagnostics to show agents their own errors first, plus a limited set of others.
            Prevents information overload when multiple agents cause errors in the same batch.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationController">
            <summary>
            Coordinates exclusive operations (build, test, restore) from multiple concurrent agents.
            Agents submit requests which are batched and executed in phases. After project-affecting
            operations complete, the Roslyn project is reloaded and returned to all waiting agents.
            </summary>
            <remarks>
            Typical flow:
            1. Agent calls <see cref="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationController.SubmitAsync(Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationRequest)" /> with an operation request
            2. Request is queued in the channel
            3. When processing begins, all pending edits are flushed to disk
            4. Operations are grouped by type and executed in phase order (AddIvt, Restore, Build, Test)
            5. After the last project-affecting operation, the Roslyn project is reloaded
            6. The reloaded project is returned to all agents that submitted requests in this batch
            </remarks>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.FileLockedException">
            <summary>
            Thrown when an agent attempts to write to a file that is locked by another agent.
            Used by <see cref="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.OverlayFileSystem" /> to prevent concurrent edits to the same file.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.FileLockedException.Path">
            <summary>The path of the locked file.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.FileLockedException.OwnerAgentId">
            <summary>The agent ID that currently holds the lock, if known.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IBatchContextAware">
            <summary>
            Implemented by operations that need access to batch-level context during execution.
            The context provides file-to-agent attribution and change tracking callbacks.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IBatchContextAware.BatchContext">
            <summary>
            The batch context, set by <see cref="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationController" /> before execution.
            Contains file ownership mappings and change recording callbacks.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IBatchProcessor`1">
            <summary>
            Processes a batch of requests that were collected by <see cref="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchCoordinator`1" />.
            Implementations define how requests are executed (e.g., phased execution, parallel execution).
            </summary>
            <typeparam name="TRequest">The type of request to process.</typeparam>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IBatchProcessor`1.ProcessBatchAsync(System.Collections.Generic.IReadOnlyList{`0},System.Threading.CancellationToken)">
            <summary>
            Processes all requests in the batch. Called by the coordinator after draining queued requests.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IExclusiveOperation`1">
            <summary>
            Represents an operation that requires exclusive access to shared resources (build, test, restore).
            Operations are batched together and executed in phases to maximize throughput while
            preventing conflicts. Implements <see cref="T:System.IEquatable`1" /> for deduplication during batching.
            </summary>
            <typeparam name="TFailure">The type representing operation failure details.</typeparam>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IExclusiveOperation`1.ExecuteAsync(System.Threading.CancellationToken)">
            <summary>
            Executes the operation. Returns an outcome indicating whether processing should continue
            or stop (with failure details for remaining operations in the batch).
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IExclusiveOperation`1.CompleteWithFailureAsync(`0)">
            <summary>
            Completes awaiters with a failure result. Called when an earlier operation fails,
            or during cancellation. Safe to call on already-completed operations (idempotent).
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IExclusiveOperation`1.Merge(Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IExclusiveOperation{`0})">
            <summary>
            Merges this operation with another of the same type. Used to combine duplicate
            operations in a batch (e.g., multiple build requests become one build with multiple awaiters).
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ReloadContext">
            <summary>
            Discriminated union representing the type of reload to perform.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ReloadContext.IncrementalReload">
            <summary>
            Only .cs files changed - update syntax trees, preserve Compilation cache.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ReloadContext.IncrementalReload.#ctor(System.Collections.Generic.IReadOnlyCollection{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath})">
            <summary>
            Only .cs files changed - update syntax trees, preserve Compilation cache.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ReloadContext.FullReload">
            <summary>
            Project structure changed - full MSBuildWorkspace reload required.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.DiagnosticInfo">
            <summary>
            Represents a diagnostic (error/warning) from a build or test operation.
            </summary>
            <param name="FilePath">The file where the diagnostic occurred.</param>
            <param name="Line">The line number of the diagnostic.</param>
            <param name="Message">The diagnostic message.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.DiagnosticInfo.#ctor(System.String,System.Int32,System.String)">
            <summary>
            Represents a diagnostic (error/warning) from a build or test operation.
            </summary>
            <param name="FilePath">The file where the diagnostic occurred.</param>
            <param name="Line">The line number of the diagnostic.</param>
            <param name="Message">The diagnostic message.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.DiagnosticInfo.FilePath">
            <summary>The file where the diagnostic occurred.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.DiagnosticInfo.Line">
            <summary>The line number of the diagnostic.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.DiagnosticInfo.Message">
            <summary>The diagnostic message.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationFailure">
            <summary>
            Details about why an exclusive operation failed.
            </summary>
            <param name="Reason">Human-readable description of the failure.</param>
            <param name="Diagnostics">Build/test diagnostics associated with the failure.</param>
            <param name="TestResult">Test run output if this was a test failure; null otherwise.</param>
            <param name="Context">The batch context at the time of failure; null if unavailable.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationFailure.#ctor(System.String,System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.DiagnosticInfo},Microsoft.Copilot.Testing.Core.Models.TestRunOutput,Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchContext)">
            <summary>
            Details about why an exclusive operation failed.
            </summary>
            <param name="Reason">Human-readable description of the failure.</param>
            <param name="Diagnostics">Build/test diagnostics associated with the failure.</param>
            <param name="TestResult">Test run output if this was a test failure; null otherwise.</param>
            <param name="Context">The batch context at the time of failure; null if unavailable.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationFailure.Reason">
            <summary>Human-readable description of the failure.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationFailure.Diagnostics">
            <summary>Build/test diagnostics associated with the failure.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationFailure.TestResult">
            <summary>Test run output if this was a test failure; null otherwise.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationFailure.Context">
            <summary>The batch context at the time of failure; null if unavailable.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchContext">
            <summary>
            Context shared across all operations in a batch.
            </summary>
            <param name="FileOwnership">Maps file paths to the agent that last edited them (global ownership).</param>
            <param name="Warnings">Warnings accumulated during batch processing.</param>
            <param name="ReloadContext">Classifies the reload as full or incremental based on what changed in this batch.</param>
            <param name="RecordChange">Callback to record a global change (IVT added, package added, etc.).</param>
            <param name="GetChangesForAgent">Gets changes made by other agents since this agent's last query.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchContext.#ctor(System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Collections.Generic.IReadOnlyList{System.String},Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ReloadContext,System.Action{System.String,System.String,Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChangeKind},System.Func{System.String,System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChange}})">
            <summary>
            Context shared across all operations in a batch.
            </summary>
            <param name="FileOwnership">Maps file paths to the agent that last edited them (global ownership).</param>
            <param name="Warnings">Warnings accumulated during batch processing.</param>
            <param name="ReloadContext">Classifies the reload as full or incremental based on what changed in this batch.</param>
            <param name="RecordChange">Callback to record a global change (IVT added, package added, etc.).</param>
            <param name="GetChangesForAgent">Gets changes made by other agents since this agent's last query.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchContext.FileOwnership">
            <summary>Maps file paths to the agent that last edited them (global ownership).</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchContext.Warnings">
            <summary>Warnings accumulated during batch processing.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchContext.ReloadContext">
            <summary>Classifies the reload as full or incremental based on what changed in this batch.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchContext.RecordChange">
            <summary>Callback to record a global change (IVT added, package added, etc.).</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchContext.GetChangesForAgent">
            <summary>Gets changes made by other agents since this agent's last query.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BatchContext.FormatModifiedPaths">
            <summary>
            Set by FormatOperation after formatting; read by ReloadProjectOperation.
            When non-null, ReloadProjectOperation does incremental reload of just these paths.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChangeKind">
            <summary>
            Types of global changes that affect all agents (tracked for cross-agent awareness).
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChangeKind.IvtAdded">
            <summary>An InternalsVisibleTo attribute was added to a source project.</summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChangeKind.PackageAdded">
            <summary>A NuGet package was added to a project.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChange">
            <summary>
            A record of a global change made by an agent.
            </summary>
            <param name="Index">Monotonically increasing index for cursor-based querying.</param>
            <param name="AgentId">The agent that made this change.</param>
            <param name="Description">Human-readable description of the change.</param>
            <param name="Kind">The type of change.</param>
            <param name="Timestamp">When the change was recorded.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChange.#ctor(System.Int64,System.String,System.String,Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChangeKind,System.DateTimeOffset)">
            <summary>
            A record of a global change made by an agent.
            </summary>
            <param name="Index">Monotonically increasing index for cursor-based querying.</param>
            <param name="AgentId">The agent that made this change.</param>
            <param name="Description">Human-readable description of the change.</param>
            <param name="Kind">The type of change.</param>
            <param name="Timestamp">When the change was recorded.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChange.Index">
            <summary>Monotonically increasing index for cursor-based querying.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChange.AgentId">
            <summary>The agent that made this change.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChange.Description">
            <summary>Human-readable description of the change.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChange.Kind">
            <summary>The type of change.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.GlobalChange.Timestamp">
            <summary>When the change was recorded.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BuildFixWaitResult">
            <summary>
            Result of waiting for the build to be fixed.
            </summary>
            <param name="Success">True if build was fixed successfully; false if fixer failed or gave up.</param>
            <param name="ErrorMessage">Error message when Success is false; null otherwise.</param>
            <param name="Project">The reloaded project after a successful build; null on failure.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BuildFixWaitResult.#ctor(System.Boolean,System.String,Microsoft.CodeAnalysis.Project)">
            <summary>
            Result of waiting for the build to be fixed.
            </summary>
            <param name="Success">True if build was fixed successfully; false if fixer failed or gave up.</param>
            <param name="ErrorMessage">Error message when Success is false; null otherwise.</param>
            <param name="Project">The reloaded project after a successful build; null on failure.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BuildFixWaitResult.Success">
            <summary>True if build was fixed successfully; false if fixer failed or gave up.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BuildFixWaitResult.ErrorMessage">
            <summary>Error message when Success is false; null otherwise.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.BuildFixWaitResult.Project">
            <summary>The reloaded project after a successful build; null on failure.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationOutcome`1">
            <summary>
            The result of executing an <see cref="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IExclusiveOperation`1" />.
            </summary>
            <typeparam name="TFailure">The type representing failure details.</typeparam>
            <param name="Continue">
            If true, batch processing continues to the next operation.
            If false, all remaining operations receive <paramref name="Failure" />.
            </param>
            <param name="Failure">Failure details when <paramref name="Continue" /> is false; null otherwise.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationOutcome`1.#ctor(System.Boolean,`0)">
            <summary>
            The result of executing an <see cref="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IExclusiveOperation`1" />.
            </summary>
            <typeparam name="TFailure">The type representing failure details.</typeparam>
            <param name="Continue">
            If true, batch processing continues to the next operation.
            If false, all remaining operations receive <paramref name="Failure" />.
            </param>
            <param name="Failure">Failure details when <paramref name="Continue" /> is false; null otherwise.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationOutcome`1.Continue">
            <summary>
            If true, batch processing continues to the next operation.
            If false, all remaining operations receive <paramref name="Failure" />.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationOutcome`1.Failure">
            <summary>Failure details when <paramref name="Continue" /> is false; null otherwise.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationRequest">
            <summary>
            A request submitted to <see cref="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationController" /> for batched execution.
            </summary>
            <param name="AgentId">Unique identifier for the agent submitting this request.</param>
            <param name="Operation">The operation to execute (build, test, restore, etc.).</param>
            <param name="FlushEdits">
            Callback to flush the agent's pending file edits before the operation executes.
            Returns the list of file paths that were written.
            </param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationRequest.#ctor(System.String,Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IExclusiveOperation{Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationFailure},System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath}}})">
            <summary>
            A request submitted to <see cref="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationController" /> for batched execution.
            </summary>
            <param name="AgentId">Unique identifier for the agent submitting this request.</param>
            <param name="Operation">The operation to execute (build, test, restore, etc.).</param>
            <param name="FlushEdits">
            Callback to flush the agent's pending file edits before the operation executes.
            Returns the list of file paths that were written.
            </param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationRequest.AgentId">
            <summary>Unique identifier for the agent submitting this request.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationRequest.Operation">
            <summary>The operation to execute (build, test, restore, etc.).</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.ExclusiveOperationRequest.FlushEdits">
            <summary>
            Callback to flush the agent's pending file edits before the operation executes.
            Returns the list of file paths that were written.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.AddIvtOperation">
            <summary>
            Adds an InternalsVisibleTo attribute to a source project, enabling the test assembly to access internal types.
            Affects project state (modifies the source project file). Operations targeting the same source project are merged.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.BuildOperation">
            <summary>
            Builds the test project. Does not affect project state (build artifacts are not tracked in Roslyn).
            Multiple build requests in a batch are merged into a single build with multiple awaiters.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.ExclusiveOperationBase`2">
            <summary>
            Base class for exclusive operations that handles awaiter merging logic.
            Operations inherit from this to get type-safe Merge() with automatic awaiter concatenation.
            </summary>
            <typeparam name="TSelf">The concrete operation type (CRTP pattern).</typeparam>
            <typeparam name="TAwaiter">The awaiter type (typically TaskCompletionSource{T} or a custom record).</typeparam>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.ExclusiveOperationBase`2.CanMergeWith(`0)">
            <summary>
            Override to add additional compatibility checks beyond type matching.
            Default returns true (any two operations of the same type can merge).
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.ExclusiveOperationBase`2.GetMergeErrorMessage">
            <summary>
            Override to provide a custom error message for merge failures.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.ExclusiveOperationBase`2.MergeCore(`0,System.Collections.Generic.IReadOnlyList{`1})">
            <summary>
            Creates a merged operation with the combined awaiters.
            Implementations should copy their state and use the provided merged awaiters.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.FlushOperation">
            <summary>
            No-op operation submitted by <c>WaitForBuildFixAsync</c> to participate in batch ordering.
            Ensures the agent's pending edits are flushed (via callback) and tracked before build runs.
            All instances are equal for deduplication (one flush per batch).
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.FormatOperation">
            <summary>
            Formats source files using Roslyn analyzers/fixers. Does not affect project state (only file contents).
            Multiple format requests in a batch are merged into a single format with accumulated files.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.ReloadProjectOperation">
            <summary>
            Reloads the Roslyn project from disk and completes the batch TCS.
            Runs after project-affecting operations (AddIvt, Restore) so agents get fresh compilation
            before Build/Test execute. Even when earlier operations fail, agents need fresh state.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.RestoreOperation">
            <summary>
            Restores NuGet packages for the project. Affects project state (new packages become available).
            All restore requests in a batch are merged into a single restore operation.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.TcsAwaiterOperationBase`2">
            <summary>
            Specialized base class for operations that use TaskCompletionSource{TResult} as their awaiter type.
            Provides <see cref="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.TcsAwaiterOperationBase`2.CompleteAwaiters(`1)" /> helper to reduce boilerplate in ExecuteAsync implementations.
            </summary>
            <typeparam name="TSelf">The concrete operation type (CRTP pattern).</typeparam>
            <typeparam name="TResult">The result type that awaiters receive.</typeparam>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.TcsAwaiterOperationBase`2.CompleteAwaiters(`1)">
            <summary>
            Completes all awaiters with the given result.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.Operations.TestOperation">
            <summary>
            Runs tests for the test project. Multiple test requests are merged - their test method filters
            are unioned (or if any request has an empty filter, all tests run). Each awaiter receives
            results filtered to their original scope, with awareness of whether scope was expanded.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IOverlayFileSystem">
            <summary>
            An <see cref="T:Microsoft.Copilot.Testing.Utils.Services.IFileSystem" /> that buffers writes in memory until explicitly flushed.
            Enables agents to work concurrently on different files without conflicts - writes are
            collected locally and only committed to disk when the batch processor flushes them.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IOverlayFileSystem.FlushPendingEditsAsync(System.Threading.CancellationToken)">
            <summary>
            Writes all buffered changes to the underlying file system and releases file locks.
            Returns the list of file paths that were written.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IOverlayFileSystem.GetPendingEditPaths">
            <summary>
            Gets the paths of files with pending (unflushed) writes.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.OverlayFileSystem.#ctor(Microsoft.Copilot.Testing.Utils.Services.IFileSystem,Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.IFileLockManager,System.String)">
            <summary>
            Creates an overlay file system for a specific agent.
            </summary>
            <param name="underlying">The real file system to delegate reads and flushes to.</param>
            <param name="lockManager">Manager for coordinating file locks across agents.</param>
            <param name="agentId">The agent using this overlay (used for lock ownership).</param>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExclusiveOperationBatching.PhasedOperationExecutor`1">
            <summary>
            Executes operations in a defined phase order, deduplicating and merging operations of the same type.
            Phases are executed sequentially; if any operation fails, remaining operations receive the failure.
            </summary>
            <remarks>
            Key behaviors:
            - Operations are grouped by type and executed in the order specified at construction
            - Duplicate operations (by IEquatable equality) are merged via their Merge method
            - If an operation returns Continue=false, all remaining operations are failed
            </remarks>
            <typeparam name="TFailure">The type representing operation failure details.</typeparam>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Extensions.CheckedFileSystemExtensions.DetermineWorkingRoot(Microsoft.Copilot.Testing.Utils.Services.IFileSystem,System.String,Microsoft.Copilot.Testing.Core.Services.IGitService,System.String)">
            <summary>
            Determines the working directory root from multiple sources in priority order:
            1. User-provided repository root
            2. Git repository root (adjusted if needed)
            3. Solution-based detection from code path
            </summary>
            <param name="baseFileSystem">The file system to use for path operations.</param>
            <param name="userProvidedRepoRoot">Optional user-provided repository root.</param>
            <param name="gitService">Git service to get repository information.</param>
            <param name="userProvidedCodePath">The code path provided by the user (file or directory).</param>
            <returns>The determined working directory root.</returns>
            <exception cref="T:System.ArgumentException">Thrown when the working directory root cannot be determined.</exception>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Extensions.StringExtensions.AddCoverageInfo(System.String,System.Collections.Generic.IEnumerable{System.ValueTuple{System.Int32,Microsoft.Copilot.Testing.Core.Helpers.Cobertura.CoveredStatus}},System.Nullable{System.Int32},System.Nullable{System.Int32})">
            <summary>
            Prefixes each line of the codeblock with the coverage indication char.
            </summary>
            <param name="codeBlock">Block to be enriched with coverage info.</param>
            <param name="coverageInfo">A 1-based line coverage info that is relative to the start of the block (start of the block has number '1').</param>
            <param name="firstLineOfNonstrippedBlock">The start of the member for which we want to see coverage info (might be start of the file, if we want to see for all).</param>
            <param name="lastLineOfNonstrippedBlock">The last of the member for which we want to see coverage info (might be end of the file, if we want to see for all).</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Extensions.StringExtensions.GetContinuousCoverageInfo(System.Collections.Generic.IEnumerable{System.ValueTuple{System.Int32,Microsoft.Copilot.Testing.Core.Helpers.Cobertura.CoveredStatus}},System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns continuous enumeration of line numbers with coverage statuses.
            </summary>
            <param name="coverageInfo"></param>
            <param name="firstLineOfNonstrippedBlock">The start of the member for which we want to see coverage info (might be start of the file, if we want to see for all).</param>
            <param name="lastLineOfNonstrippedBlock">The last of the member for which we want to see coverage info (might be end of the file, if we want to see for all).</param>
            <param name="firstLineToDecorate">The start of continuous block to be returned (e.g. first line in file - 1).</param>
            <param name="lastLineToDecorate">The end of continuous block to be returned (e.g. last line in file - the file length).</param>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.CommentOutErrorLinesFixer">
            <summary>
            Diagnostic fixer that comments out lines with compilation errors.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.CommentOutErrorLinesFixer.CanAttemptFix(Microsoft.Copilot.Testing.Core.Models.CompilationDiagnostic,Microsoft.Copilot.Testing.Core.Models.ICodeFile)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.CommentOutErrorLinesFixer.AttemptFixImplAsync(System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Core.FileDiagnosticInfo},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IReadOnlyCollection{System.String},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String[]},Microsoft.Copilot.Testing.Core.IActivity,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.CommentOutFilesFixer">
            <summary>
            Diagnostic fixer that comments out entire files containing errors as a last resort.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.CommentOutFilesFixer.CanAttemptFix(Microsoft.Copilot.Testing.Core.Models.CompilationDiagnostic,Microsoft.Copilot.Testing.Core.Models.ICodeFile)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.CommentOutFilesFixer.AttemptFixImplAsync(System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Core.FileDiagnosticInfo},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IReadOnlyCollection{System.String},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String[]},Microsoft.Copilot.Testing.Core.IActivity,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.DiagnosticFixerBase">
            <summary>
            Base class for diagnostic fixers that provides common functionality.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.DiagnosticFixerBase.CanAttemptFix(Microsoft.Copilot.Testing.Core.Models.CompilationDiagnostic,Microsoft.Copilot.Testing.Core.Models.ICodeFile)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.DiagnosticFixerBase.CanRetry(System.Boolean,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.DiagnosticFixerBase.AlwaysBuild">
            <inheritdoc />
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.DiagnosticFixerBase.RemovesTests">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.DiagnosticFixerBase.FilterSupportedDiagnostics(System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Core.FileDiagnosticInfo})">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.DiagnosticFixerBase.AttemptFixAsync(System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Core.FileDiagnosticInfo},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IReadOnlyCollection{System.String},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String[]},Microsoft.Copilot.Testing.Core.IActivity,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.DiagnosticFixerBase.AttemptFixImplAsync(System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Core.FileDiagnosticInfo},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IReadOnlyCollection{System.String},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String[]},Microsoft.Copilot.Testing.Core.IActivity,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Implements the actual fix logic. This method will only be called with diagnostics that this fixer can handle.
            </summary>
            <param name="fileDiagnostics">Dictionary mapping file paths to their diagnostic information that this fixer can handle.</param>
            <param name="project">Refreshed project to be fixed.</param>
            <param name="generatedFiles">Set of file paths that can be modified (typically generated files).</param>
            <param name="fixHistory">Dictionary mapping file paths to potential history of fixes attempted previously.</param>
            <param name="activity">Optional activity for telemetry.</param>
            <param name="logger">Optional logger.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>List of fixed files with their new content.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.DisableNullableFixer">
            <summary>
            Diagnostic fixer that disables nullable checking in C# files to resolve nullable-related diagnostics.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.DisableNullableFixer.CanAttemptFix(Microsoft.Copilot.Testing.Core.Models.CompilationDiagnostic,Microsoft.Copilot.Testing.Core.Models.ICodeFile)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.DisableNullableFixer.AttemptFixImplAsync(System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Core.FileDiagnosticInfo},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IReadOnlyCollection{System.String},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String[]},Microsoft.Copilot.Testing.Core.IActivity,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTestClassAttributeFixer">
            <summary>
            Fixes CS0579 "Duplicate 'TestClass' attribute" errors on partial types by removing the duplicate
            attribute from the file where the diagnostic is reported (typically the generated file).
            </summary>
            <remarks>
            This fixer specifically targets the scenario where a partial class has [TestClass] attribute
            defined in multiple files. When generating tests for a partial test class that already has
            the attribute, the generated file may add a duplicate attribute causing CS0579.
            </remarks>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTestClassAttributeFixer.FindTestClassAttributeAtLocation(Microsoft.CodeAnalysis.SyntaxNode,System.Int32)">
            <summary>
            Finds a TestClass attribute at or near the specified line.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTestClassAttributeFixer.IsPartialType(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax)">
            <summary>
            Checks if a type declaration has the 'partial' modifier.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTestClassAttributeFixer.RemoveAttributes(Microsoft.CodeAnalysis.SyntaxNode,System.Collections.Generic.List{Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax})">
            <summary>
            Removes the specified attributes from the syntax tree.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTestClassAttributeFixer.TryParseCS0579Message(System.String)">
            <summary>
            Parses a CS0579 error message to extract the attribute name.
            </summary>
            <param name="message">The CS0579 error message (e.g., "Duplicate 'TestClass' attribute").</param>
            <returns>The attribute name if parsing succeeds, null otherwise.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer">
            <summary>
            Fixes CS0101 "The namespace 'X' already contains a definition for 'Y'" and CS0436 "The type 'X' conflicts with the imported type 'X'" errors by removing duplicate/conflicting type definitions from generated files.
            This fixer handles cross-file scenarios where the diagnostic is reported on the original file but the fix needs to be applied to generated files.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer.FindAllDuplicateTypesInProjectAsync(System.Collections.Generic.List{System.ValueTuple{System.String,System.String}},Microsoft.Copilot.Testing.Core.Models.IRoslynProject,System.Collections.Generic.IReadOnlyCollection{System.String},Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Searches the entire project for occurrences of the specified duplicate types.
            Returns a mapping of file paths to the duplicate types with their syntax nodes found in each file.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer.FindDuplicateTypesInFileAsync(Microsoft.Copilot.Testing.Core.Models.ICodeFile,System.Collections.Generic.List{System.ValueTuple{System.String,System.String}},Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Searches a specific file for occurrences of the specified duplicate types.
            Returns both the duplicate type info and the corresponding SyntaxNodes.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer.TryParseCS0101Message(System.String)">
            <summary>
            Parses a CS0101 error message to extract the namespace and type name.
            </summary>
            <param name="message">The CS0101 error message.</param>
            <returns>A tuple of (namespaceName, typeName) if parsing succeeds, null otherwise.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer.TryParseCS0436Message(System.String)">
            <summary>
            Parses a CS0436 error message to extract the type name and file path.
            </summary>
            <param name="message">The CS0436 error message.</param>
            <returns>A tuple of (typeName, FilePath) if parsing succeeds, null otherwise.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer.TryParseCS0104Message(System.String)">
            <summary>
            Parses a CS0104 error message to extract the ambiguous type references.
            </summary>
            <param name="message">The CS0104 error message.</param>
            <returns>A list of (namespaceName, typeName) pairs if parsing succeeds, null otherwise.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer.ParseFullyQualifiedTypeName(System.String)">
            <summary>
            Parses a fully qualified type name to extract namespace and type name.
            Handles nested types by treating the last component as the type name.
            </summary>
            <param name="fullyQualifiedName">The fully qualified type name.</param>
            <returns>A tuple of (namespaceName, typeName) if parsing succeeds, null otherwise.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer.ExtractNamespaceForTypeFromFileAsync(System.String,Microsoft.Copilot.Testing.Core.Models.IRoslynProject,System.Collections.Generic.IEnumerable{System.String},Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Extracts the namespace for a specific type from a file.
            Errors out if multiple types with the same name exist in different namespaces within the same file.
            </summary>
            <param name="filePath">Path to the file to analyze.</param>
            <param name="project"></param>
            <param name="typeNames">Names of the types to find.</param>
            <param name="logger">Logger instance.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>A tuple of (namespaceName, typeName) if found and unique, null otherwise.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer.ExtractNamespaceFromTypeDeclaration(Microsoft.CodeAnalysis.SyntaxNode)">
            <summary>
            Extracts the namespace name from a type declaration syntax node.
            </summary>
            <param name="typeDeclaration">The type declaration syntax node.</param>
            <returns>The namespace name, or null if not found.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer.ProcessFile(System.String,Microsoft.Copilot.Testing.Core.Models.IRoslynProject,Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFileResult,System.Collections.Generic.IReadOnlyCollection{System.String},Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Processes a specific file by removing all occurrences of the specified duplicate types.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer.RemoveEmptyNamespaces(Microsoft.CodeAnalysis.SyntaxNode)">
            <summary>
            Removes empty namespaces from a syntax tree.
            </summary>
            <param name="root">The root node of the syntax tree.</param>
            <returns>The updated syntax tree with empty namespaces removed.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer.FindTypeDeclarations(Microsoft.CodeAnalysis.SyntaxNode,System.String,System.String)">
            <summary>
            Finds all type declarations (class, interface, struct, enum, record, delegate) with the specified name in the specified namespace.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.DuplicateTypeFixer.FindTypeDeclarationsInNode(Microsoft.CodeAnalysis.SyntaxNode,System.String)">
            <summary>
            Finds all type declarations with the specified name within a given syntax node.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Fixers.RoslynAnalyzerFixer">
            <summary>
            Fixer that runs Roslyn analyzers and formatters on the project to fix formatting and style issues.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.RoslynAnalyzerFixer.CanAttemptFix(Microsoft.Copilot.Testing.Core.Models.CompilationDiagnostic,Microsoft.Copilot.Testing.Core.Models.ICodeFile)">
            <summary>
            Always returns true as this fixer can be applied regardless of specific diagnostics.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Fixers.RoslynAnalyzerFixer.AttemptFixImplAsync(System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Core.FileDiagnosticInfo},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IReadOnlyCollection{System.String},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String[]},Microsoft.Copilot.Testing.Core.IActivity,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Runs Roslyn formatting and analysis on specific files that have diagnostics.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Fixers.SuperfluousTypesFixer">
            <summary>
            Fixes cases where generated files contain types that clash with existing types in the project.
            This is often due to hallucinated types in the generated code. The fixer distinguish that by presence of multiple namespaces in generated files, while the halucinated types are in namespaces without tests.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.ExpressionTreeOptionalParamFixer">
             <summary>
             Fixes CS0854: An expression tree may not contain a call or invocation that uses optional arguments.
             It adds the default values for optional parameters explicitly to the invocation.
            
             This is usually needed for Moq Setup and Verification calls which use expression trees.
             </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExpressionTreeOptionalParamFixer.FixDocumentAsync(Microsoft.CodeAnalysis.Document,System.Collections.Generic.IEnumerable{Microsoft.Copilot.Testing.Core.Models.CompilationDiagnostic},System.Threading.CancellationToken)">
            <summary>
            Fixes CS0854 errors in a given document by adding default values for optional parameters in expression trees.
            </summary>
            <param name="document">The document to fix.</param>
            <param name="diagnostics">The CS0854 diagnostics in the document.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>A FixedFile if changes were made, null otherwise.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.ExpressionTreeOptionalParamFixer.TryGetSymbolicDefaultValue(Microsoft.CodeAnalysis.IParameterSymbol)">
            <summary>
            Tries to get the symbolic default value from the parameter declaration.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.FixedFile">
            <summary>
            Represents a file that has been fixed by a diagnostic fixer.
            </summary>
            <param name="FilePath">Path to the file that was fixed.</param>
            <param name="NewContent">New content for the file.</param>
            <param name="FixSummary">Summary of the fix applied.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FixedFile.#ctor(Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath,System.String,System.String)">
            <summary>
            Represents a file that has been fixed by a diagnostic fixer.
            </summary>
            <param name="FilePath">Path to the file that was fixed.</param>
            <param name="NewContent">New content for the file.</param>
            <param name="FixSummary">Summary of the fix applied.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.FixedFile.FilePath">
            <summary>Path to the file that was fixed.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.FixedFile.NewContent">
            <summary>New content for the file.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.FixedFile.FixSummary">
            <summary>Summary of the fix applied.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.FileDiagnosticInfo">
            <summary>
            Represents diagnostic information for a single file.
            </summary>
            <param name="CodeFile">The code file instance.</param>
            <param name="Diagnostics">List of diagnostics for this file.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.FileDiagnosticInfo.#ctor(Microsoft.Copilot.Testing.Core.Models.ICodeFile,System.Collections.Generic.List{Microsoft.Copilot.Testing.Core.Models.CompilationDiagnostic})">
            <summary>
            Represents diagnostic information for a single file.
            </summary>
            <param name="CodeFile">The code file instance.</param>
            <param name="Diagnostics">List of diagnostics for this file.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.FileDiagnosticInfo.CodeFile">
            <summary>The code file instance.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.FileDiagnosticInfo.Diagnostics">
            <summary>List of diagnostics for this file.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.IDiagnosticFixer">
            <summary>
            Interface for diagnostic fixers that can attempt to fix compilation errors.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IDiagnosticFixer.CanAttemptFix(Microsoft.Copilot.Testing.Core.Models.CompilationDiagnostic,Microsoft.Copilot.Testing.Core.Models.ICodeFile)">
            <summary>
            Checks if this fixer can attempt to fix the given diagnostic.
            </summary>
            <param name="diagnostic">The diagnostic to check.</param>
            <param name="codeFile">The code file containing the diagnostic.</param>
            <returns>True if this fixer can attempt to fix the diagnostic.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IDiagnosticFixer.CanRetry(System.Boolean,System.Boolean)">
            <summary>
            Indication from the fixer whether it is capable to have additional run with likely productive outcomes.
            </summary>
            <returns>True if another attempt to fix is likely to be productive.</returns>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.IDiagnosticFixer.AlwaysBuild">
            <summary>
            Indicates whether we should always run build after this fixer even if no fixes were returned.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.IDiagnosticFixer.RemovesTests">
            <summary>
            Indicates whether this fixer deletes or comments out tests rather than fixing the problems.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IDiagnosticFixer.FilterSupportedDiagnostics(System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Core.FileDiagnosticInfo})">
            <summary>
            Helper method to filter diagnostics to only include those that this fixer can handle.
            </summary>
            <param name="fileDiagnostics">Full set of file diagnostics.</param>
            <returns>Filtered set of file diagnostics that this fixer can handle.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IDiagnosticFixer.AttemptFixAsync(System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Core.FileDiagnosticInfo},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IReadOnlyCollection{System.String},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String[]},Microsoft.Copilot.Testing.Core.IActivity,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Attempts to fix the given diagnostics.
            </summary>
            <param name="fileDiagnostics">Dictionary mapping file paths to their diagnostic information.</param>
            <param name="project">Refreshed project to be fixed.</param>
            <param name="generatedFiles">Set of file paths that can be modified (typically generated files).</param>
            <param name="fixHistory">Dictionary mapping file paths to potential history of fixes attempted previously.</param>
            <param name="activity">Optional activity for telemetry.</param>
            <param name="logger">Optional logger.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>List of fixed files with their new content.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.InternalsVisibleToFixer">
            <summary>
            A diagnostic fixer that adds InternalsVisibleTo attributes to source projects when test code
            tries to access internal members (CS0122 errors).
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.InternalsVisibleToFixer.CS0122">
            <summary>
            CS0122: 'X' is inaccessible due to its protection level
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.LlmDiagnosticFixer">
            <summary>
            A diagnostic fixer that uses LLM to fix any compilation diagnostics in C# code files.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.MissingUsingsFixer">
            <summary>
            Diagnostic fixer that adds missing using directives to fix compilation errors.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.UnresolvedSymbol">
            <summary>
            Represents a symbol from diagnostics that could not be found in the symbol dictionary.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.UnresolvedSymbol.#ctor(System.String,System.String,System.String)">
            <summary>
            Represents a symbol from diagnostics that could not be found in the symbol dictionary.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.CanAttemptFix(Microsoft.Copilot.Testing.Core.Models.CompilationDiagnostic,Microsoft.Copilot.Testing.Core.Models.ICodeFile)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.AttemptFixImplAsync(System.Collections.Generic.IReadOnlyDictionary{System.String,Microsoft.Copilot.Testing.Core.FileDiagnosticInfo},Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IReadOnlyCollection{System.String},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String[]},Microsoft.Copilot.Testing.Core.IActivity,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.AddUsingsRespectingStyle(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax,System.Collections.Generic.IEnumerable{System.String},System.String,Microsoft.Copilot.Testing.Utils.Services.IFileSystem)">
            <summary>
            Adds using directives to the compilation unit while respecting style preferences.
            </summary>
            <param name="root">The compilation unit to modify.</param>
            <param name="newUsings">The using directives to add.</param>
            <param name="contextPath">The path (file or directory) to use for .editorconfig detection.</param>
            <param name="fileSystem">The file system abstraction to use for .editorconfig detection.</param>
            <returns>The modified compilation unit with using directives placed appropriately.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.AddUsingsInsideNamespace(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax,System.Collections.Generic.IList{Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax},System.Boolean)">
            <summary>
            Adds using directives inside namespace declarations.
            </summary>
            <param name="root">The compilation unit to modify.</param>
            <param name="usingDirectives">The using directives to add.</param>
            <param name="isExplicitOverride">True if this is an explicit .editorconfig override, false if detected from existing patterns.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.ProcessNamespaceDeclaration(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.NamespaceDeclarationSyntax,System.Collections.Generic.IList{Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax},System.Boolean)">
            <summary>
            Processes a regular namespace declaration to add using directives.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.ProcessFileScopedNamespaceDeclaration(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.FileScopedNamespaceDeclarationSyntax,System.Collections.Generic.IList{Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax},System.Boolean)">
            <summary>
            Processes a file-scoped namespace declaration to add using directives.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.CreateNamespaceUsingContext(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax,Microsoft.CodeAnalysis.SyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax},System.Collections.Generic.IList{Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax},System.Boolean)">
            <summary>
            Creates a context object containing all the using directives to add to a namespace.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.UpdateNamespaceWithUsings(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.NamespaceDeclarationSyntax,Microsoft.Copilot.Testing.Core.MissingUsingsFixer.NamespaceUsingContext)">
            <summary>
            Updates a regular namespace declaration with new using directives.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.UpdateFileScopedNamespaceWithUsings(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.FileScopedNamespaceDeclarationSyntax,Microsoft.Copilot.Testing.Core.MissingUsingsFixer.NamespaceUsingContext)">
            <summary>
            Updates a file-scoped namespace declaration with new using directives.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.ClearTopLevelUsingsIfNeeded(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax,System.Boolean)">
            <summary>
            Clears top-level using directives if an explicit override is specified.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.GetUsingName(Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax)">
            <summary>
            Extracts the name from a using directive as a string.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.AddUsingsOutsideNamespace(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax,System.Collections.Generic.IList{Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax})">
            <summary>
            Adds using directives at the top of the file (outside namespaces).
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.NamespaceUsingContext">
            <summary>
            Contains context information for adding using directives to a namespace.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.MissingUsingsFixer.NamespaceUsingContext.#ctor(System.Collections.Generic.IReadOnlyList{Microsoft.CodeAnalysis.CSharp.Syntax.UsingDirectiveSyntax},System.Boolean)">
            <summary>
            Contains context information for adding using directives to a namespace.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.UsingDirectivePlacement">
            <summary>
            Defines the placement preference for using directives.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.UsingDirectivePlacement.OutsideNamespace">
            <summary>
            Place using directives outside namespace declarations (at the top of the file).
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.UsingDirectivePlacement.InsideNamespace">
            <summary>
            Place using directives inside namespace declarations.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.UsingDirectivePlacementDetector">
            <summary>
            Analyzes C# source code to detect existing using directive placement patterns.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.UsingDirectivePlacementDetector.DetectPlacement(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax)">
            <summary>
            Detects the using directive placement pattern in the given compilation unit.
            </summary>
            <param name="root">The compilation unit to analyze.</param>
            <returns>The detected placement pattern. Returns OutsideNamespace as fallback when no existing usings are found.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.UsingDirectivePlacementDetector.UsesFileScopedNamespaces(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax)">
            <summary>
            Determines if the compilation unit uses file-scoped namespaces.
            </summary>
            <param name="root">The compilation unit to analyze.</param>
            <returns>True if file-scoped namespaces are used, false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.UsingDirectivePlacementDetector.UsesTraditionalNamespaces(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax)">
            <summary>
            Determines if the compilation unit uses traditional namespace declarations.
            </summary>
            <param name="root">The compilation unit to analyze.</param>
            <returns>True if traditional namespaces are used, false otherwise.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport">
            <summary>
            Provides functionality to generate a report of test failure analysis results.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.FilePath">
            <summary>
            Gets the file path where the analysis report will be saved.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.#ctor(Microsoft.Extensions.Logging.ILogger,Microsoft.Copilot.Testing.Utils.Services.IFileSystem,System.Nullable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteDirectoryPath})">
            <summary>
            Creates a new instance of the AnalysisReport.
            </summary>
            <param name="logger">Logger to use for reporting.</param>
            <param name="fileSystem">Optional file system for writing reports to disk.</param>
            <param name="repoRootPath">Optional repository root path for saving reports.</param>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.TestFailureEntry">
            <summary>
            Represents a single test failure analysis entry.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.TestFailureEntry.TestName">
            <summary>
            Full name of the test that failed.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.TestFailureEntry.TestFilePath">
            <summary>
            Path to the file containing the test.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.TestFailureEntry.TestProjectName">
            <summary>
            Path to the file containing the test.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.TestFailureEntry.FailureType">
            <summary>
            Type of failure detected.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.TestFailureEntry.Confidence">
            <summary>
            Confidence level of the analysis.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.TestFailureEntry.Explanation">
            <summary>
            Detailed explanation of the analysis.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.TestFailureEntry.ProductionCodeFixSuggestion">
            <summary>
            Suggested fix for production code, if applicable.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.TestFailureEntry.BugLocation">
            <summary>
            Location of the suggested fix.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.AddEntry(System.String,System.String,System.String,Microsoft.Copilot.Testing.Core.TestFailureAnalysisAgent.Result.ConfidenceLevel,System.String,System.String,System.String)">
            <summary>
            Adds a production bug entry to the report. Entries with Low confidence are ignored.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport.SaveAsync(System.Threading.CancellationToken)">
            <summary>
            Generates and logs the test failure analysis report.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.BackupUtilities.CreateBackupFile(System.String,Microsoft.Copilot.Testing.Utils.Services.IFileSystem)">
            <summary>
            Creates a backup of the specified file.
            </summary>
            <param name="filePath">The path to the file to back up.</param>
            <param name="fileSystem">The file system.</param>
            <returns>The path to the backup file.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.BackupUtilities.GetBackupFilePath(System.String)">
            <summary>
            Generates a backup file path by appending a '.codetesting.bak' extension to the provided file path.
            </summary>
            <param name="filePath">The original file path to which the backup extension will be added.</param>
            <returns>A string representing the new backup file path.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.BinlogDiagnostics">
            <summary>
            Helper class to extract compilation diagnostics from MSBuild binary logs.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.BinlogDiagnostics.ExtractDiagnosticsFromBinlog(System.String,Microsoft.Extensions.Logging.ILogger,Microsoft.Copilot.Testing.Core.Models.IRoslynProject,Microsoft.Copilot.Testing.Utils.Services.IReadOnlyFileSystem,System.Threading.CancellationToken)">
            <summary>
            Extracts compilation diagnostics from a binlog file.
            </summary>
            <returns>A readonly collection of CompilationDiagnostic objects.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.Cobertura.MethodCoverageInfo.GetCoverableLinesRelative(System.Int32)">
            <summary>
            Retrieves a collection of coverable lines with their line numbers adjusted relative to a specified method start
            offset.
            </summary>
            <param name="methodStartOffset">One-based line position index. Specifies the starting point for calculating the relative position of coverable lines.</param>
            <returns>An enumerable collection of tuples containing line numbers (one-based indexing) and coverage status.</returns>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.Cobertura.MethodCoverageInfo.MethodStartOffset">
            <summary>
            One based start offset of the method in the file.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.CommitStepsHelper">
            <summary>
            Helper for committing changes at each step when the --commit-steps command line argument is enabled.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.CoverageType">
            <summary>
            Specifies the type of coverage being collected.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.CoverageType.Initial">
            <summary>
            Initial coverage collected before test generation.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.CoverageType.Final">
            <summary>
            Final coverage collected after test generation.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation">
            <summary>
            Provides helper methods for calculating coverage percentages from coverage reports.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation.#ctor(Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,System.Collections.Generic.IReadOnlyList{System.String},Microsoft.Copilot.Testing.Core.Services.ICoverageService,Microsoft.Copilot.Testing.Utils.Services.IFileSystem,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Initializes a new instance of the CoverageCalculation class using the specified test generation context, list of
            Git-touched files, coverage service, file system, and logger.
            </summary>
            <remarks><para>The scope of coverage calculation is determined by the GenerationScope property of the
            provided context. Depending on the scope type, the relevant file, directory, project, or solution paths are
            extracted and used for coverage analysis. When the scope is GitDiffScope, the gitTouchedFiles parameter is used
            to define the set of files under consideration.</para></remarks>
            <param name="context">The test generation context that defines the scope and parameters for coverage calculation. Cannot be null.</param>
            <param name="gitTouchedFiles">An array of file paths representing files changed in the current Git diff. Used when the generation scope is set
            to GitDiffScope. Can be empty if no files are changed.</param>
            <param name="coverageService">The coverage service used to retrieve and process code coverage data. Cannot be null.</param>
            <param name="fileSystem">The file system abstraction used for file and directory operations. Cannot be null.</param>
            <param name="logger">The logger used to record diagnostic and operational messages. Cannot be null.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if context, coverageService, fileSystem, or logger is null.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if the context does not specify a valid source path for test generation.</exception>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation.GetCache(Microsoft.Copilot.Testing.Core.Helpers.CoverageType)">
            <summary>
            Gets the appropriate coverage cache based on the coverage type.
            </summary>
            <param name="coverageType">The type of coverage cache to retrieve.</param>
            <returns>The dictionary containing the coverage cache for the specified type.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation.AddToCache(Microsoft.Copilot.Testing.Core.Helpers.CoverageType,Microsoft.Copilot.Testing.Core.CoverageCollectionStatus,System.String,System.String)">
            <summary>
            Adds coverage data to the appropriate cache based on the specified coverage type.
            </summary>
            <remarks><para>This method updates the cache for the specified coverage type by associating the given
            project path with the provided coverage data. If the project path already exists in the cache, its value will be
            overwritten.</para></remarks>
            <param name="coverageType">The type of coverage data to add. Must be either <see cref="F:Microsoft.Copilot.Testing.Core.Helpers.CoverageType.Initial" /> or <see cref="F:Microsoft.Copilot.Testing.Core.Helpers.CoverageType.Final" />.</param>
            <param name="status"></param>
            <param name="projectPath">The path to the project associated with the coverage data. Cannot be <see langword="null" /> or empty.</param>
            <param name="coverageData">The coverage data to store in the cache. Required when status is OK.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation.MarkAsNewTestProject(System.String)">
            <summary>
            Marks a test project as newly created, so it can be excluded from baseline coverage calculations.
            </summary>
            <param name="projectPath">The path to the test project that was newly created.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation.SwapFinalToInitial">
            <summary>
            Swaps the final coverage cache to become the initial coverage cache.
            This efficiently reuses final coverage from one cycle as the baseline for the next cycle,
            avoiding unnecessary coverage collection.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation.ScopePaths">
            <summary>
            Gets the paths defining the scope for coverage measurement.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation.ScopeType">
            <summary>
            Gets the type of scope to measure coverage for.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation.GetCoverageAsync(Microsoft.Copilot.Testing.Core.Helpers.CoverageType,System.Threading.CancellationToken)">
            <summary>
            Calculates coverage data for the specified scope using coverage cache data.
            </summary>
            <param name="coverageType"></param>
            <param name="cancellationToken">Cancellation token for the operation.</param>
            <returns>Coverage percentage for the specified scope, or null if coverage cannot be calculated.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation.GetSingleCoveragePathAsync(Microsoft.Copilot.Testing.Core.Helpers.CoverageType,System.Threading.CancellationToken)">
            <summary>
            Gets a single coverage file path, merging multiple files if necessary.
            </summary>
            <param name="coverageType"></param>
            <param name="cancellationToken">Cancellation token for the operation.</param>
            <returns>Path to a single coverage file.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageCalculation.MeasureCoverage(System.String)">
            <summary>
            Measures coverage from the generated coverage XML file.
            </summary>
            <param name="coverageXmlPath">Path to the coverage XML file.</param>
            <returns>Coverage percentage for the specified scope.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.CoverageMeasurement">
            <summary>
            Provides functionality for measuring code coverage across different scopes and units.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageMeasurement.CalculateCoveragePercentage(Microsoft.Copilot.Testing.Core.Helpers.Cobertura.CoverageInfo,System.Collections.Generic.IReadOnlyList{System.String},Microsoft.Copilot.Testing.Core.Helpers.GenerationScopeType)">
            <summary>
            Calculates the overall coverage percentage for a given coverage information and scope.
            </summary>
            <param name="coverageInfo">The coverage information to analyze.</param>
            <param name="scopePaths">The paths defining the scope (file, project, solution, or directory).</param>
            <param name="scopeType">The type of scope to measure coverage for.</param>
            <returns>Coverage percentage as a value between 0.0 and 100.0.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageMeasurement.MeasureCoverageForScope(System.String,System.Collections.Generic.IReadOnlyList{System.String},Microsoft.Copilot.Testing.Core.Helpers.GenerationScopeType,Microsoft.Extensions.Logging.ILogger,Microsoft.Copilot.Testing.Utils.Services.IFileSystem)">
            <summary>
            Measures coverage for a specific scope by loading coverage data from a Cobertura XML file.
            </summary>
            <param name="coverageFilePath">Path to the Cobertura XML coverage file.</param>
            <param name="scopePaths">The paths defining the scope to measure.</param>
            <param name="scopeType">The type of scope to measure coverage for.</param>
            <param name="logger">Logger for diagnostics.</param>
            <param name="fileSystem">File system abstraction.</param>
            <returns>Coverage percentage as a value between 0.0 and 100.0.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageMeasurement.GetFilesInScope(Microsoft.Copilot.Testing.Core.Helpers.Cobertura.CoverageInfo,System.Collections.Generic.IReadOnlyList{System.String},Microsoft.Copilot.Testing.Core.Helpers.GenerationScopeType)">
            <summary>
            Gets all files within the specified scope from the coverage information.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageMeasurement.IsFileInScope(System.String,System.String)">
            <summary>
            Determines if a file path matches the specified file scope.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageMeasurement.IsFileInScope(System.String,System.Collections.Generic.IReadOnlyList{System.String})">
            <summary>
            Determines if a file path matches the specified file scope.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageMeasurement.IsFileInProjectScope(System.String,System.String)">
            <summary>
            Determines if a file path is within the specified project scope.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageMeasurement.IsFileInProjectScope(System.String,System.Collections.Generic.IReadOnlyList{System.String})">
            <summary>
            Determines if a file path is within the specified project scope.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageMeasurement.IsFileInSolutionScope(System.String,System.String)">
            <summary>
            Determines if a file path is within the specified solution scope.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageMeasurement.IsFileInSolutionScope(System.String,System.Collections.Generic.IReadOnlyList{System.String})">
            <summary>
            Determines if a file path is within the specified solution scope.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageMeasurement.IsFileInDirectoryScope(System.String,System.String)">
            <summary>
            Determines if a file path is within the specified directory scope.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CoverageMeasurement.IsFileInDirectoryScope(System.String,System.Collections.Generic.IReadOnlyList{System.String})">
            <summary>
            Determines if a file path is within the specified directory scope.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.GenerationScopeType">
            <summary>
            Defines the different types of scopes for coverage measurement.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.GenerationScopeType.File">
            <summary>
            Coverage measurement scoped to a single file.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.GenerationScopeType.Project">
            <summary>
            Coverage measurement scoped to a project.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.GenerationScopeType.Solution">
            <summary>
            Coverage measurement scoped to a solution.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.GenerationScopeType.Directory">
            <summary>
            Coverage measurement scoped to a directory.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.GenerationScopeType.Diff">
            <summary>
            Coverage measurement scoped to a current diff.
            Currently unsupported.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.CSharpSyntaxValidator">
            <summary>
            Helper class for validating C# syntax.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CSharpSyntaxValidator.ValidateCSharpSyntax(Microsoft.CodeAnalysis.SyntaxTree,System.Threading.CancellationToken)">
            <summary>
            Analyzes the provided C# source code and returns all syntax diagnostics with <see cref="F:Microsoft.CodeAnalysis.DiagnosticSeverity.Error" />.
            </summary>
            <param name="syntaxTree">The Roslyn syntax tree that represents the parsed code.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>A collection of syntax diagnostics with <see cref="F:Microsoft.CodeAnalysis.DiagnosticSeverity.Error" /> severity, or empty if the source is valid.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CSharpSyntaxValidator.ValidateCSharpSyntax(System.String,Microsoft.CodeAnalysis.SyntaxTree@,System.Threading.CancellationToken)">
            <summary>
            Analyzes the provided C# source code and returns all syntax diagnostics with <see cref="F:Microsoft.CodeAnalysis.DiagnosticSeverity.Error" />.
            </summary>
            <param name="sourceCode">The C# source code to analyze.</param>
            <param name="syntaxTree">The Roslyn syntax tree that represents the parsed code.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>A collection of syntax diagnostics with <see cref="F:Microsoft.CodeAnalysis.DiagnosticSeverity.Error" /> severity, or empty if the source is valid.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CSharpSyntaxValidator.ValidateCSharpSyntax(System.String,Microsoft.Extensions.Logging.ILogger,System.String,Microsoft.CodeAnalysis.SyntaxTree@,System.Threading.CancellationToken)">
            <summary>
            Validates C# syntax and logs any errors found.
            </summary>
            <param name="csharpSource">The C# source code to validate.</param>
            <param name="logger">The logger to use for error reporting.</param>
            <param name="context">The operation context for logging (e.g., "applying LlmDiagnosticFixer").</param>
            <param name="syntaxTree">The parsed syntax tree.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>True if the syntax is valid, otherwise false.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CSharpSyntaxValidator.ValidateCSharpSyntax(Microsoft.CodeAnalysis.SyntaxTree,Microsoft.Extensions.Logging.ILogger,System.String,System.Threading.CancellationToken)">
            <summary>
            Validates C# syntax and logs any errors found.
            </summary>
            <param name="logger">The logger to use for error reporting.</param>
            <param name="context">The operation context for logging (e.g., "applying LlmDiagnosticFixer").</param>
            <param name="syntaxTree">The parsed syntax tree.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>True if the syntax is valid, otherwise false.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CSharpSyntaxValidator.GetFormattedSyntaxErrors(System.String,System.Threading.CancellationToken)">
            <summary>
            Validates C# syntax and returns formatted error messages.
            </summary>
            <param name="sourceCode">The C# source code to validate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>A formatted string containing syntax errors, or null if the syntax is valid.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.CycleCoverageTracker">
            <summary>
            Tracks coverage progress across multiple cycles and determines when to stop based on various criteria.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CycleCoverageTracker.#ctor(System.TimeSpan,System.Int32)">
            <summary>
            Initializes a new instance of the CycleCoverageTracker class.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.CycleCoverageTracker.CycleCount">
            <summary>
            Gets the number of completed cycles.
            The first result is for baseline - so not counted.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.CycleCoverageTracker.TotalElapsedTime">
            <summary>
            Gets the total elapsed time since tracking started.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.CycleCoverageTracker.LatestCoveragePercentage">
            <summary>
            Gets the latest coverage percentage, or null if no cycles have been recorded.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.CycleCoverageTracker.CycleResults">
            <summary>
            Gets all recorded cycle results.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CycleCoverageTracker.RecordCycle(System.Nullable{System.Double},System.TimeSpan)">
            <summary>
            Records the result of a completed cycle.
            /// </summary>
            <param name="coveragePercentage">The coverage percentage achieved after this cycle.</param>
            <param name="cycleTime">The time taken for this cycle.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CycleCoverageTracker.GetStoppingReason(System.Nullable{System.Double})">
            <summary>
            Gets the reason why cycling should stop based on current state.
            </summary>
            <param name="targetPercentage">The target coverage percentage, or null for auto mode.</param>
            <returns>The stopping reason, or null if cycling should continue.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CycleCoverageTracker.GetStoppingDecision(System.Nullable{System.Double})">
            <summary>
            Gets the stopping decision with full details about whether cycling should stop.
            </summary>
            <param name="targetPercentage">The target coverage percentage, or null for auto mode.</param>
            <returns>A StoppingDecision with the should-stop decision and optional reason.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.CycleResult">
            <summary>
            Represents the result of a completed cycle.
            </summary>
            <param name="CycleNumber">The cycle number (1-based).</param>
            <param name="CoveragePercentage">The coverage percentage achieved after this cycle.</param>
            <param name="CycleTime">The time taken for this cycle.</param>
            <param name="CompletedAt">When this cycle was completed.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.CycleResult.#ctor(System.Int32,System.Nullable{System.Double},System.TimeSpan,System.DateTime)">
            <summary>
            Represents the result of a completed cycle.
            </summary>
            <param name="CycleNumber">The cycle number (1-based).</param>
            <param name="CoveragePercentage">The coverage percentage achieved after this cycle.</param>
            <param name="CycleTime">The time taken for this cycle.</param>
            <param name="CompletedAt">When this cycle was completed.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.CycleResult.CycleNumber">
            <summary>The cycle number (1-based).</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.CycleResult.CoveragePercentage">
            <summary>The coverage percentage achieved after this cycle.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.CycleResult.CycleTime">
            <summary>The time taken for this cycle.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.CycleResult.CompletedAt">
            <summary>When this cycle was completed.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.StoppingReason">
            <summary>
            Defines the reasons why cycling might stop.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.StoppingReason.TargetReached">
            <summary>
            The target coverage percentage has been reached.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.StoppingReason.NoImprovementLimit">
            <summary>
            No improvement in coverage for the last 3 cycles.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.StoppingReason.LowImprovementLimit">
            <summary>
            Less than 1% improvement over the last 5 cycles.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.StoppingReason.TimeLimit">
            <summary>
            The 5-hour time limit has been reached.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.StoppingReason.UserCancellation">
            <summary>
            User requested cancellation.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.StoppingReason.MaxCyclesReached">
            <summary>
            Maximum number of cycles reached (safety limit).
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.StoppingReason.CouldNotObtainCoverage">
            <summary>
            Coverage file was missing, or other errors during getting the coverage.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.StoppingReason.GeneratedTestsDoNotBuildOrPass">
            <summary>
            Agent was not able to make the generated tests buildable or passing - so we cannot continue cycling.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.StoppingReason.Error">
            <summary>
            An error occurred during cycling.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.StoppingDecision">
            <summary>
            Represents a decision about whether cycling should stop.
            </summary>
            <param name="ShouldStop">Whether cycling should stop.</param>
            <param name="Reason">The reason for stopping, if applicable.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.StoppingDecision.#ctor(System.Boolean,System.Nullable{Microsoft.Copilot.Testing.Core.Helpers.StoppingReason})">
            <summary>
            Represents a decision about whether cycling should stop.
            </summary>
            <param name="ShouldStop">Whether cycling should stop.</param>
            <param name="Reason">The reason for stopping, if applicable.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.StoppingDecision.ShouldStop">
            <summary>Whether cycling should stop.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Helpers.StoppingDecision.Reason">
            <summary>The reason for stopping, if applicable.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.EditorConfigParser">
            <summary>
            Parses .editorconfig files to extract C# formatting preferences.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.EditorConfigParser.ParseUsingDirectivePlacement(System.String,Microsoft.Copilot.Testing.Utils.Services.IFileSystem)">
            <summary>
            Parses the using directive placement setting from .editorconfig files.
            Searches up the directory tree starting from the specified path.
            </summary>
            <param name="path">The path to start searching from. Can be either:
            - A file path: searches starting from the file's containing directory
            - A directory path: searches starting from that directory.</param>
            <param name="fileSystem">The file system abstraction to use for file operations.</param>
            <returns>The configured placement, or null if no setting is found.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.EditorConfigParser.ParseUsingDirectivePlacementFromContent(System.String)">
            <summary>
            Parses using directive placement from .editorconfig content.
            </summary>
            <param name="content">The .editorconfig file content.</param>
            <returns>The parsed placement, or null if no valid setting is found.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.EncodingUtils.StartsWithPreamble(System.IO.Stream)">
            <summary>
            Check the first 3 bytes of a stream to determine if it matches the UTF8 preamble.
            </summary>
            <param name="stream">Steam to check.</param>
            <returns>True when the first 3 bytes of the Stream are equal to the UTF8 preamble (BOM).</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.EncodingUtils.StartsWithPreamble(System.IO.Stream,System.Byte[])">
            <summary>
            Check the first 3 bytes of a stream to determine if it matches the given preamble.
            </summary>
            <param name="stream">Steam to check.</param>
            <param name="preamble">Preamble to look for.</param>
            <returns>True when the first 3 bytes of the Stream are equal to the preamble.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.ExceptionTelemetryHelper.GetSafeCurrentStackTrace">
            <summary>
            Captures a sanitized stack trace of the current call site (no exception required).
            Useful for non-exception failure telemetry where we still want to report the code path
            that detected the failure. Frames from non-safe namespaces are redacted.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.IndentationDetector.GetIndentString(System.Xml.Linq.XDocument)">
            <summary>
            Inspects the provided XDocument and returns the indentation string based
            on the first XText node found that contains a newline and trailing spaces/tabs.
            Returns null if no indentation is detected.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.PathExtensions.ToRelativePath(System.String,System.String)">
            <summary>
            Converts an absolute path to a relative path from repo root with forward slashes.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.PathExtensions.ToRelativePath(System.String,Microsoft.Copilot.Testing.Utils.Paths.AbsoluteDirectoryPath)">
            <summary>
            Converts an absolute path to a relative path from repo root with forward slashes.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.PathExtensions.ToAbsolutePath(System.String,System.String)">
            <summary>
            Converts a relative or absolute path to an absolute path.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.PathExtensions.ToAbsolutePath(System.String,Microsoft.Copilot.Testing.Utils.Paths.AbsoluteDirectoryPath)">
            <summary>
            Converts a relative or absolute path to an absolute path.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.ProjectHelper.EnumerateBuildFiles(System.String,System.String,Microsoft.Copilot.Testing.Utils.Services.IReadOnlyFileSystem)">
            <summary>
            Discovers MSBuild and SDK configuration files that may contain target framework constraints.
            Searches for Directory.Build.targets, Directory.Build.props, and global.json files
            from the start path up to the repository root directory.
            </summary>
            <param name="startPath">The path to start searching from (typically a project or solution path).</param>
            <param name="rootDirectory">The repository root directory (search stops here, inclusive).</param>
            <param name="fileSystem">The file system abstraction to use for file operations.</param>
            <returns>A read-only list of discovered file paths, ordered from nearest to farthest from the start path.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.ProjectHelper.FilterBuildFilesWithTargetFrameworkReferences(System.Collections.Generic.IReadOnlyList{System.String},Microsoft.Copilot.Testing.Utils.Services.IReadOnlyFileSystem)">
            <summary>
            Filters build files to only include those that contain target framework-related content.
            This prevents unnecessary LLM calls for build files that only contain generic settings
            (e.g., TreatWarningsAsErrors, ImplicitUsings) with no TFM constraints.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.ProjectHelper.ContainsTargetFrameworkReferences(System.String)">
            <summary>
            Checks whether file content contains target framework-related keywords.
            Uses <see cref="T:Microsoft.Copilot.Testing.Core.WellKnownMSBuildProperties" /> for standard MSBuild properties
            and <see cref="T:Microsoft.Copilot.Testing.Core.CustomInstructions.TargetFrameworkKeywords" /> for validation target names.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.ProjectHelper.TryMatchInternalsVisibleToAttribute(System.Reflection.Metadata.CustomAttribute,System.Reflection.Metadata.MetadataReader,System.String,System.String)">
            <summary>
            Attempts to match a custom attribute as an InternalsVisibleTo attribute for the target assembly.
            </summary>
            <returns>
            <c>true</c> if the attribute matches the target assembly (with matching public key if provided);
            <c>false</c> if the attribute matches the target assembly name but has no public key when one is expected;
            <c>null</c> if the attribute doesn't match or should be skipped (continue checking other attributes).
            </returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.ProjectHelper.MatchesTargetAssembly(System.String,System.String,System.String)">
            <summary>
            Checks if the assembly name from the attribute matches the target assembly with the expected public key.
            </summary>
            <returns>
            <c>true</c> if matches (including public key match if provided);
            <c>false</c> if assembly name matches but public key is expected and not present;
            <c>null</c> if assembly name doesn't match or public key doesn't match (continue checking).
            </returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.SymbolFormatter">
            <summary>
            Provides formatting functionality for symbol metadata in a consistent way across the codebase.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.SymbolFormatter.FormatAsMarkdownTable(System.Collections.Generic.IReadOnlyCollection{Microsoft.Copilot.Testing.Core.SymbolMetadata},System.Collections.Generic.IReadOnlyCollection{Microsoft.CodeAnalysis.FileLinePositionSpan})">
            <summary>
            Formats a collection of symbol metadata as a markdown table.
            </summary>
            <param name="symbols">The symbols to format.</param>
            <param name="membersSpans">Optional spans to filter symbols by their usage.</param>
            <returns>A markdown table representation of the symbols.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.SymbolFormatter.FormatAsTableRow(Microsoft.Copilot.Testing.Core.SymbolMetadata)">
            <summary>
            Formats a single symbol metadata as a row in a markdown table.
            </summary>
            <param name="metadata">The symbol metadata to format.</param>
            <returns>A markdown table row representation of the symbol.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.SymbolFormatter.GetSymbolKindString(Microsoft.CodeAnalysis.ISymbol)">
            <summary>
            Gets the kind of a symbol as a display string.
            </summary>
            <param name="symbol">The symbol to get the kind for.</param>
            <returns>A string representation of the symbol kind.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.SymbolFormatter.GetReturnTypeString(Microsoft.CodeAnalysis.ISymbol)">
            <summary>
            Gets the return type of a symbol as a display string.
            </summary>
            <param name="symbol">The symbol to get the return type for.</param>
            <returns>A string representation of the return type, or null if not applicable.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.SymbolFormatter.GetTypeDisplayString(Microsoft.CodeAnalysis.ITypeSymbol)">
            <summary>
            Gets the display string for a type symbol.
            </summary>
            <param name="typeSymbol">The type symbol to format.</param>
            <returns>A string representation of the type.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.SymbolFormatter.GetAliasTargetTypeString(Microsoft.CodeAnalysis.IAliasSymbol)">
            <summary>
            Gets the target type string for an alias symbol.
            </summary>
            <param name="aliasSymbol">The alias symbol to get the target for.</param>
            <returns>A string representation of the alias target, or null if not applicable.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.SymbolFormatter.IsUsedInMembersToTest(Microsoft.Copilot.Testing.Core.SymbolMetadata,System.Collections.Generic.IReadOnlyCollection{Microsoft.CodeAnalysis.FileLinePositionSpan})">
            <summary>
            Determines if a symbol is used within any of the provided member spans.
            </summary>
            <param name="metadata">The symbol metadata to check.</param>
            <param name="membersSpans">The spans to check against.</param>
            <returns>True if the symbol is used in any of the member spans, false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.SymbolFormatter.ToYesNo(System.Boolean)">
            <summary>
            Converts a boolean value to "Yes" or "No" string representation.
            </summary>
            <param name="value">The boolean value to convert.</param>
            <returns>"Yes" if true, "No" if false.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.SymbolFormatter.GenerateRemarksEntry(Microsoft.Copilot.Testing.Core.SymbolMetadata)">
            <summary>
            Generates the remarks entry for a symbol metadata.
            </summary>
            <param name="metadata">The symbol metadata to generate remarks for.</param>
            <returns>A string containing the remarks for the symbol.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.SymbolFormatter.GetIsReadOnly(Microsoft.CodeAnalysis.ISymbol)">
            <summary>
            Determines if a symbol is read-only.
            </summary>
            <param name="symbol">The symbol to check.</param>
            <returns>True if the symbol is read-only, false otherwise, or null if not applicable.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.SymbolFormatter.CanBeMocked(Microsoft.CodeAnalysis.ISymbol)">
            <summary>
            Determines if a symbol can be mocked.
            </summary>
            <param name="symbol">The symbol to check.</param>
            <returns>True if the symbol can be mocked, false otherwise.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.TestableCodeAnalyzer">
            <summary>
            Provides methods to analyze whether source files contain testable code types
            (classes, structs, records) before test project creation.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestableCodeAnalyzer.HasAnyTestableFilesAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.SourceFileToTest},Microsoft.Copilot.Testing.Core.Services.ILLMFileAuthorization,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Checks if any of the specified source files contain testable code types.
            This method can be called early in the test generation flow to avoid
            creating test projects when there's nothing to test.
            </summary>
            <param name="sourceProject">The source project containing the files to analyze.</param>
            <param name="sourceFilesToTest">The files to check for testable types.</param>
            <param name="fileAuthorization">Authorization service to check if files can be processed.</param>
            <param name="logger">Logger for diagnostic messages.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>True if at least one file contains testable types; false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestableCodeAnalyzer.HasTestableTypesInFileAsync(Microsoft.Copilot.Testing.Core.Models.ICodeFile,Microsoft.Copilot.Testing.Core.Models.SourceFileToTest,Microsoft.Copilot.Testing.Core.Services.ILLMFileAuthorization,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Checks if a single source file contains testable code types.
            </summary>
            <param name="codeFile">The code file to analyze.</param>
            <param name="sourceFileToTest">The source file information including line/member filters.</param>
            <param name="fileAuthorization">Authorization service to check if the file can be processed.</param>
            <param name="logger">Logger for diagnostic messages.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>
            A tuple containing:
            - HasTestableTypes: True if the file contains testable types; false otherwise.
            - RootNode: The syntax root node if HasTestableTypes is true; null otherwise.
            - FileContent: The file content if HasTestableTypes is true; null otherwise.
            </returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestableCodeAnalyzer.HasTestableTypes(Microsoft.Copilot.Testing.Core.Models.SourceFileToTest,System.String,Microsoft.CodeAnalysis.SyntaxNode)">
            <summary>
            Checks if the source file contains testable types (struct, class, or record).
            The behavior varies based on the type of SourceFileToTest:
            - LinesSourceFileToTest: checks only the specified line ranges
            - MembersSourceFileToTest: checks the types containing the specified members
            - Default (FullSourceFileToTest): checks the entire file content
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestableCodeAnalyzer.HasTestableTypesInLines(Microsoft.Copilot.Testing.Core.Models.LinesSourceFileToTest,System.String,Microsoft.CodeAnalysis.SyntaxNode)">
            <summary>
            Checks if the specified line ranges contain testable types.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestableCodeAnalyzer.HasTestableTypesInMembers(Microsoft.Copilot.Testing.Core.Models.MembersSourceFileToTest)">
            <summary>
            Checks if any of the specified members are contained within testable types.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestableCodeAnalyzer.HasTestableTypesInContent(System.String)">
            <summary>
            Quick check if the file content contains struct, class, or record keywords.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.TestArtifactFileResolver">
            <summary>
            Helper class for resolving test artifact files such as test results and coverage files.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestArtifactFileResolver.GetTestsResultFile(System.String,System.String,System.String,System.String,Microsoft.Copilot.Testing.Utils.Services.IFileSystem,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Gets the test results file path from the test run output.
            </summary>
            <param name="testProjectPath">The path to the test project.</param>
            <param name="testRunOutput">The output from the test run.</param>
            <param name="testResultsFolder">The test results folder.</param>
            <param name="fileName">The expected file name.</param>
            <param name="fileSystem">The file system service.</param>
            <param name="logger">The logger.</param>
            <returns>The path to the test results file, or null if not found.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestArtifactFileResolver.GetCoverageFile(System.String,System.String,System.String,System.String,Microsoft.Copilot.Testing.Utils.Services.IFileSystem,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Gets the coverage file path from the test run output.
            </summary>
            <param name="testProjectPath">The path to the test project.</param>
            <param name="testRunOutput">The output from the test run.</param>
            <param name="testResultsFolder">The test results folder.</param>
            <param name="fileName">The expected file name.</param>
            <param name="fileSystem">The file system service.</param>
            <param name="logger">The logger.</param>
            <returns>The path to the coverage file, or null if not found.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestArtifactFileResolver.ExtractCoveragePathFromOutput(System.String,System.String,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Extracts the coverage file path from test run output by searching for paths in "Attachments:" sections.
            Handles multi-TFM scenarios where multiple test runs produce multiple coverage files.
            </summary>
            <param name="testRunOutput">The output from the test run.</param>
            <param name="fileName">The expected coverage file name to match.</param>
            <param name="logger">The logger.</param>
            <returns>The coverage file path if found, otherwise null.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestArtifactFileResolver.GetTestsArtifactFile(System.String,System.String,System.String,System.String,System.String,Microsoft.Copilot.Testing.Utils.Services.IFileSystem,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Gets the path to a test artifact file (test results, coverage, etc.).
            </summary>
            <param name="artifactName">The name of the artifact type for logging.</param>
            <param name="testProjectPath">The path to the test project.</param>
            <param name="candidateLocation">The candidate location from the test output.</param>
            <param name="testResultsFolder">The test results folder.</param>
            <param name="fileName">The expected file name.</param>
            <param name="fileSystem">The file system service.</param>
            <param name="logger">The logger.</param>
            <returns>The path to the artifact file, or null if not found.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.AttributeType">
            <summary>
            Represents the semantic type of a test attribute, independent of framework.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.AttributeOperation">
            <summary>
            Defines how duplicate attributes should be handled.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.AttributeOperation.AddOrUpdate">
            <summary>Replace existing attribute with this value (e.g., Owner).</summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Helpers.AttributeOperation.AddIfNotPresent">
            <summary>Add if not present with a specific value (e.g., Category).</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.HasExactAttribute(Microsoft.Copilot.Testing.Core.RoslynHelpers.AttributeDescriptor,System.Collections.Generic.IEnumerable{Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax})">
            <summary>
            Checks if there's an exact attribute match (same type and values).
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.HasXUnitTraitWithType(System.Collections.Generic.IEnumerable{Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax},System.String)">
            <summary>
            Checks if an xUnit Trait attribute exists with the specified trait type.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.HasXUnitTraitWithTypeAndValue(System.Collections.Generic.IEnumerable{Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax},System.String,System.String)">
            <summary>
            Checks if an xUnit Trait attribute exists with the specified trait type and value.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.HasAttributeWithNameAndValues(System.Collections.Generic.IEnumerable{Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax},System.String,System.String[])">
            <summary>
            Checks if an attribute with the specified name and values exists.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.GetFirstAttributeArgumentValue(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax)">
            <summary>
            Gets the first argument value from an attribute.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.GetSecondAttributeArgumentValue(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax)">
            <summary>
            Gets the second argument value from an attribute.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.AttributeValuesMatch(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,System.String[])">
            <summary>
            Checks if attribute values match the expected values.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.GetAttributeName(Microsoft.Copilot.Testing.Core.Models.TestFramework,Microsoft.Copilot.Testing.Core.Helpers.AttributeType)">
            <summary>
            Gets the attribute name based on framework and attribute type.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.GetAttributeValues(Microsoft.Copilot.Testing.Core.Models.TestFramework,Microsoft.Copilot.Testing.Core.Helpers.AttributeType,System.String)">
            <summary>
            Gets the attribute values array based on framework, attribute type, and value.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.UpdateMethodAttributes(Microsoft.CodeAnalysis.SyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax},System.Collections.Generic.IEnumerable{Microsoft.Copilot.Testing.Core.RoslynHelpers.AttributeDescriptor},System.Nullable{Microsoft.CodeAnalysis.SyntaxTriviaList})">
            <summary>
            Updates method attributes by adding or modifying attributes based on the provided descriptors,
            preserving trivia and handling proper ordering and formatting.
            </summary>
            <param name="attributeLists">The current attribute lists on the method.</param>
            <param name="descriptors">The attribute descriptors specifying what attributes to add or update.</param>
            <param name="methodLeadingTrivia">Optional method leading trivia for trivia preservation.</param>
            <returns>Updated attribute lists with all specified attributes added or updated.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.ApplyAttributeOperation(Microsoft.CodeAnalysis.SyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax},Microsoft.Copilot.Testing.Core.RoslynHelpers.AttributeDescriptor,System.Nullable{Microsoft.CodeAnalysis.SyntaxTriviaList})">
            <summary>
            Applies an attribute operation to a list of attribute lists, preserving trivia and handling ordering correctly.
            </summary>
            <param name="attributeLists">The current attribute lists.</param>
            <param name="descriptor">The attribute descriptor to apply.</param>
            <param name="methodLeadingTrivia">Optional method leading trivia for trivia preservation.</param>
            <returns>Updated attribute lists with the operation applied.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.AddOrUpdateAttributeOperation(Microsoft.CodeAnalysis.SyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax},Microsoft.Copilot.Testing.Core.RoslynHelpers.AttributeDescriptor,System.Nullable{Microsoft.CodeAnalysis.SyntaxTriviaList})">
            <summary>
            Adds or updates an attribute in the attribute lists, preserving trivia and order.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.AddIfNotPresentOperation(Microsoft.CodeAnalysis.SyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax},Microsoft.Copilot.Testing.Core.RoslynHelpers.AttributeDescriptor,System.Nullable{Microsoft.CodeAnalysis.SyntaxTriviaList})">
            <summary>
            Adds an attribute only if it's not already present, preserving trivia and order.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.ExtractTriviaFromTarget(Microsoft.CodeAnalysis.SyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax},System.Nullable{Microsoft.CodeAnalysis.SyntaxTriviaList})">
            <summary>
            Extracts trivia from the target location where attributes should be placed.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.ExtractDocumentationAndCommentsFromMethodTrivia(Microsoft.CodeAnalysis.SyntaxTriviaList)">
            <summary>
            Extracts documentation comments and line comments from method trivia, excluding the final whitespace (method indentation).
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.ExtractMethodIndentation(Microsoft.CodeAnalysis.SyntaxTriviaList)">
            <summary>
            Extracts only the method indentation (final whitespace) from method trivia.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.ApplyTriviaToAttributeList(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax,Microsoft.CodeAnalysis.SyntaxTriviaList)">
            <summary>
            Applies trivia to an attribute list, ensuring proper formatting and XML doc preservation.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.IsAttributeMatch(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,Microsoft.Copilot.Testing.Core.RoslynHelpers.AttributeDescriptor)">
            <summary>
            Checks if an attribute matches the given descriptor based on name and value.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.IsXUnitTraitMatch(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,Microsoft.Copilot.Testing.Core.RoslynHelpers.AttributeDescriptor)">
            <summary>
            Checks if an XUnit Trait attribute matches the descriptor's key and value.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.GetAttributeArgumentValue(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeArgumentSyntax)">
            <summary>
            Extracts the string value from an attribute argument.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.AddNewAttribute(Microsoft.CodeAnalysis.SyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax},Microsoft.Copilot.Testing.Core.RoslynHelpers.AttributeDescriptor,System.Nullable{Microsoft.CodeAnalysis.SyntaxTriviaList})">
            <summary>
            Adds a new attribute to the attribute lists, preserving trivia and order.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.ExtractIndentationFromExistingAttributes(Microsoft.CodeAnalysis.SyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax})">
            <summary>
            Extracts the indentation pattern from existing attributes.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestAttributes.CreateAttributeSyntax(Microsoft.Copilot.Testing.Core.RoslynHelpers.AttributeDescriptor)">
            <summary>
            Creates an AttributeSyntax from an AttributeDescriptor.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.TestEventRecorder">
            <summary>
            Helper class for recording test-related telemetry events.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestEventRecorder.NormalizeFileName(System.String)">
            <summary>
            Normalizes a file path for test tracking consistency.
            Uses absolute path with forward slashes for cross-platform consistency.
            </summary>
            <param name="filePath">The file path to normalize.</param>
            <returns>Normalized filename for tracking.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestEventRecorder.RecordTestGenerated(System.String,Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax)">
            <summary>
            Records a test generation event for telemetry tracking.
            </summary>
            <param name="filePath">The path of the test file where the test was generated.</param>
            <param name="testMethod">The generated test method.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestEventRecorder.RecordTestRemoved(System.String,Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax)">
            <summary>
            Records a test removal event for telemetry tracking.
            </summary>
            <param name="filePath">The path of the test file where the test was removed.</param>
            <param name="testMethod">The removed test method.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestFileSearch.GetTestFilePathsLookup(Microsoft.Copilot.Testing.Utils.Services.IFileSystem,System.String,System.String,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Gets mapping for provided source files to test files in the test project.
            If good enough test files already exist, they will be returned.
            If they don't exist or mapping is ambiguous, new test file paths will be returned based on the source file paths.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestProjectHeuristics.AnalyzeMostFrequentDependencies(System.Collections.Generic.List{Microsoft.Copilot.Testing.Core.Models.IHeuristicsProject})">
            <summary>
            Analyzes a collection of test projects and returns the most frequently used test dependencies.
            Uses scoring for tie-breaking when frequencies are equal.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Helpers.TestRunDiagnostics">
            <summary>
            Shared helpers for diagnosing test run issues (crashes, timeouts, etc.).
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestRunDiagnostics.HasCrashPattern(System.String)">
            <summary>
            Checks if stderr contains patterns indicating a test host crash.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Helpers.TestRunDiagnostics.FormatCombinedOutput(System.String,System.String)">
            <summary>
            Formats stdout and stderr into a combined output string.
            Format: stdout first, then stderr with [stderr] label if present.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.CSharpFileForLLM.CollectorAndRewriter.ToFullyQualifiedNameWithSameLineCount(Microsoft.CodeAnalysis.ISymbol,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode)">
            <summary>
            Converts symbol to FullyQualifiedName while preserving original line numbers.
            </summary>
            <example>
            If the source code is:
            System.Threading
                .Tasks.Task
            then simply calling the full name would result in:
            global::System.Threading.Tasks.Task
            which is breaking the original line count so instead we will transform it into:
            global::System
            .Threading.Tasks.Task.
            </example>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.DiagnosticStatsTracker">
            <summary>
            Tracks code diagnostic statistics during the build and fix process.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.IActivity">
            <summary>
            Represents an activity for telemetry tracking.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IActivity.AddTag(System.String,System.String)">
            <summary>
            Adds a tag to the activity.
            </summary>
            <param name="key">The tag key.</param>
            <param name="value">The tag value.</param>
            <returns>The activity instance for method chaining.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IActivity.SetTag(System.String,System.Object)">
            <summary>
            Sets a tag on the activity.
            </summary>
            <param name="key">The tag key.</param>
            <param name="value">The tag value.</param>
            <returns>The activity instance for method chaining.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IActivity.SetStatus(System.Diagnostics.ActivityStatusCode,System.String)">
            <summary>
            Sets the status of the activity
            </summary>
            <param name="status">The status.</param>
            <param name="description">An optional description.</param>
            <returns>The activity instance for method chaining.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IActivity.AddEvent(System.Diagnostics.ActivityEvent)">
            <summary>
            Adds an event to the activity.
            </summary>
            <param name="activityEvent">The event to add.</param>
            <returns>The activity instance for method chaining.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.OpenTelemetryActivity">
            <summary>
            OpenTelemetry implementation of IActivity.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.GetAnalyzerDiagnosticsAsync(Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Compilation,System.Collections.Immutable.ImmutableArray{Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer},System.Threading.CancellationToken)">
            <summary>
            Runs analyzers on a compilation with proper options that respect editorconfig settings.
            This is the canonical way to invoke analyzers - use this instead of calling WithAnalyzers directly.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.HasTests(System.String)">
            <summary>
            Checks if the given file content contains any test methods.
            </summary>
            <param name="fileContent">The file content.</param>
            <returns>True if the file contains tests.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.FindTestMethodReferencesAsync(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.Project,Microsoft.Copilot.Testing.Core.Services.ILLMFileAuthorization,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Helper method to find test method references to a specific method within a single project.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.GetStringContentWithCoverageDecoration(Microsoft.Copilot.Testing.Core.Helpers.Cobertura.MethodCoverageInfo,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode,System.Boolean@)">
            <summary>
            Gets the string representation of <paramref id="syntaxNodeToGetCode" />, decorated with coverage info for the <paramref id="syntaxNodeToDecorateWithCoverage" /> if coverage info available.
            The two given syntax nodes - <paramref id="syntaxNodeToGetCode" /> and <paramref id="syntaxNodeToDecorateWithCoverage" /> - can be identical - then the whole code block is decorated.
             Or the latter can be a child of former - then only that part of code block is decorated with coverage info.
            </summary>
            <param name="memberCoverage">The coverage info to be used.</param>
            <param name="syntaxNodeToGetCode">The node to get the string representation.</param>
            <param name="syntaxNodeToDecorateWithCoverage">The node to decorate with coverage within the string representation.</param>
            <param name="hasCoverageInfo">Indication whether the coverage was added.</param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.RoslynHelpers.SymbolDeclarationInfo.FullyQualifiedName">
            <summary>
            E.g. 'DotUtils.StreamUtils.ChunkedBufferStream.ChunkedBufferStream(System.IO.Stream, int)'.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.RoslynHelpers.SymbolDeclarationInfo.ShortName">
            <summary>
            E.g. 'ChunkedBufferStream'.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.RoslynHelpers.SymbolDeclarationInfo.CallExpression">
            <summary>
            Gets the string representation of the expression used to call the symbol.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.SymbolDeclarationInfo.GetCalledSymbolsDefinitionsAsync(System.Threading.CancellationToken)">
            <summary>
            Gets the list of called symbols definitions for this symbol declaration.
            Uses the SemanticModel provided at construction.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.IsInvocationOfMethod(Microsoft.CodeAnalysis.CSharp.Syntax.InvocationExpressionSyntax,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.SemanticModel,System.Threading.CancellationToken)">
            <summary>
            Checks if an invocation expression represents a call to the specified method.
            </summary>
            <param name="invocation">The invocation expression to check.</param>
            <param name="targetMethod">The target method to compare against.</param>
            <param name="semanticModel">The semantic model for the invocation's syntax tree.</param>
            <param name="cancellationToken">Optional cancellation token.</param>
            <returns>True if the invocation is a call to the target method.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.HasTestAttribute(Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax)">
            <summary>
            Does the method have any recognized test method attribute?.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.HasTestCategoryAttributeWithValue(Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax,Microsoft.CodeAnalysis.SemanticModel,System.String)">
            <summary>
            Does the method have any recognized test category attribute ([Test]Category[Attribute]), that has argument with specified value?.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.WithTestIgnore(Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax,Microsoft.Copilot.Testing.Core.Models.TestFramework,System.String)">
            <summary>
            Ensures that the given method has proper metadata marking (Skip property in Fact/Theory attribute for xUnit; Ignore attribute for other tests frameworks).
            If the method is already skipped, the attribute should not be duplicated, only the reason should be updated.
            </summary>
            <param name="testMethod">Method to be inspected and altered.</param>
            <param name="testFramework">Test framework to decide what to apply.</param>
            <param name="reason">Text to apply.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.WithXUnitSkip(Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax,System.String)">
            <summary>
            Adds or updates the Skip property in xUnit Fact/Theory attributes.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.UpdateXUnitSkipProperty(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,System.String)">
            <summary>
            Updates or adds the Skip property to an xUnit Fact or Theory attribute.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.WithIgnoreAttribute(Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax,System.String)">
            <summary>
            Adds or updates the Ignore attribute for MSTest and NUnit.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.GetIgnoreAttributeReason(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax)">
            <summary>
            Gets the reason from an existing Ignore attribute.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.UpdateIgnoreAttribute(Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,System.String)">
            <summary>
            Updates an existing Ignore attribute with a new reason.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.AddIgnoreAttribute(Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax,System.String,Microsoft.CodeAnalysis.SyntaxTriviaList)">
            <summary>
            Adds a new Ignore attribute to the method.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.GetMethodSourceCode(Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax)">
            <summary>
            Gets the source code text for a method declaration.
            </summary>
            <param name="methodDeclaration">The method declaration syntax node.</param>
            <returns>The source code of the method.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.GetMethodSourceLocation(Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax)">
            <summary>
            Gets the source code text for a method declaration with its containing context (class, namespace).
            </summary>
            <param name="methodDeclaration">The method declaration syntax node.</param>
            <returns>The source location information including file path and position.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.FindTestExamplesAsync(System.Collections.Generic.IReadOnlyCollection{Microsoft.CodeAnalysis.ISymbol},Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Core.Services.ILLMFileAuthorization,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Finds existing test methods that can serve as examples, using a tiered approach that progressively widens the search scope.
            Returns examples in order of relevance (from most to least relevant).
            </summary>
            <param name="symbols">Collection of symbols to find test examples for (can be empty).</param>
            <param name="testProject">The test project to search in.</param>
            <param name="fileAuthorization"></param>
            <param name="logger"></param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>An async enumerable of test method source code examples, with most relevant examples first.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.IsSingleStandaloneMethod(System.String,System.String@,Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax@)">
            <summary>
            Verifies that the input string is a single C# method declaration with no additional type or method declarations.
            </summary>
            <param name="code">The code string to check.</param>
            <param name="name"></param>
            <param name="method"></param>
            <returns>True if the string is a single method declaration and nothing else; otherwise, false.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.HasExcludeFromCodeCoverageAttribute(Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax)">
            <summary>
            Checks if a member or any of its containing types has the ExcludeFromCodeCoverageAttribute.
            </summary>
            <param name="member">The member to check.</param>
            <returns>True if the member or any containing type has ExcludeFromCodeCoverageAttribute.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.HasExcludeFromCodeCoverageAttributeOnNode(Microsoft.CodeAnalysis.SyntaxNode)">
            <summary>
            Checks if a syntax node has the ExcludeFromCodeCoverageAttribute.
            </summary>
            <param name="node">The syntax node to check.</param>
            <returns>True if the node has ExcludeFromCodeCoverageAttribute.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.IsExcludeFromCodeCoverageAttribute(System.String)">
            <summary>
            Determines if an attribute name represents ExcludeFromCodeCoverageAttribute.
            </summary>
            <param name="attributeName">The attribute name to check.</param>
            <returns>True if the attribute name represents ExcludeFromCodeCoverageAttribute.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.GetTestMethodName(Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax)">
            <summary>
            Extracts the test method name from a method declaration if it's a test method.
            </summary>
            <param name="method">The method declaration to check.</param>
            <returns>The method name if it's a test method, null otherwise.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.RoslynHelpers.GetTestMethodsFromCode(System.String,System.Threading.CancellationToken)">
            <summary>
            Extracts test methods from generated code string.
            </summary>
            <param name="generatedCode">The generated code to parse.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>Collection of test method declarations.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.SummaryCollector.FormatNumber(System.Int64)">
            <summary>
            Formats a number with thousand separators and abbreviations for large values.
            Uses space as thousand separator and abbreviates values &gt;= 1M.
            </summary>
            <param name="value">The number to format.</param>
            <returns>Formatted string representation.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.SummaryCollector.CreateFixerStatisticsTable(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.ValueTuple{System.Int32,System.Int32,System.Int32,System.Int32,System.Int64}}},Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Creates a formatted table of fixer statistics.
            </summary>
            <param name="fixerStats">Dictionary containing statistics for each fixer.</param>
            <param name="logger">The logger.</param>
            <returns>A formatted string containing the fixer statistics table.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.SummaryCollector.GetFinalTestState">
            <summary>
            Gets the final test state containing only tests in Generated state, grouped by filename.
            </summary>
            <returns>Dictionary mapping file names to lists of test method names that are in Generated state.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.SummaryCollector.CreateTestTrackingSummary">
            <summary>
            Creates a markdown summary of the final test state.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.SymbolDictionaryHelper.GetProjectSymbolsAsync(Microsoft.CodeAnalysis.Project,System.Boolean)">
            <summary>
            Returns a dictionary of symbols to their fully qualified names and containing namespaces for project. (But not its references.)
            </summary>
            <param name="project"></param>
            <param name="includeInternal"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.SymbolDictionaryHelper.GetSymbolDictionaryAsync(Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Solution,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Returns a dictionary of symbols to their fully qualified names and containing namespaces for project and all its references.
            </summary>
            <param name="solution">Roslyn solution used to look up projects. If not given will be taken from project.</param>
            <param name="project">Roslyn Project.</param>
            <param name="onlyPublic">Include only symbols with public visibility. Otherwise internal visibility is also included.</param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.SyntaxTreeModifier.EnsureModifiersOnTestsAsync(System.String,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Inspect the given code - for all classes and methods that are identified as test classes/methods - it ensures that those are public and not static.
            </summary>
            <param name="fileContent">Code file content.</param>
            <param name="logger"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.SyntaxTreeModifier.EnsureTestNamespacesAsync(System.String,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Ensures the namespaces in the test file match the source file namespaces with ".UnitTests" suffix.
            For each test type, finds the matching source type and updates the namespace accordingly.
            </summary>
            <param name="fileContent">The test file content.</param>
            <param name="sourceRoot">The syntax root of the source file.</param>
            <param name="logger"></param>
            <param name="cancellationToken"></param>
            <returns>The test file content with the correct namespaces.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.SyntaxTreeModifier.MergeCSharpClassesAsync(System.Collections.Generic.List{System.String},Microsoft.Extensions.Logging.ILogger,System.Threading.CancellationToken)">
            <summary>
            Merges multiple C# class definitions into a single class definition asynchronously. The merged class will contain all members and usings from the provided classes.
            </summary>
            <param name="fileContents">A collection of class definitions in string format to be merged into one.</param>
            <param name="logger"></param>
            <param name="cancellationToken">Used to signal cancellation of the asynchronous operation.</param>
            <returns>A string representation of the merged class definition.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown when parsing fails or a class declaration is missing in any of the provided class files, or if there are member conflicts.</exception>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Telemetry.IsOptedOut(Microsoft.Copilot.Testing.Utils.Services.IEnvironment)">
            <summary>
            Gets a value indicating whether telemetry is opted out based on the official .NET CLI environment variable.
            Checks the DOTNET_CLI_TELEMETRY_OPTOUT environment variable for values "1" or "true" (case-insensitive).
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Telemetry.Session">
            <summary>
            Gets or sets the telemetry session.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Telemetry.ShowTelemetryBannerFirstNoticeAsync(System.String,Microsoft.Copilot.Testing.Core.Services.IUserDisplay,Microsoft.Copilot.Testing.Utils.Services.IFileSystem,Microsoft.Copilot.Testing.Utils.Services.IEnvironment,Microsoft.Extensions.Logging.ILogger,System.Boolean)">
            <summary>
            Shows the telemetry banner on first use and respects banner suppression settings.
            Similar to Microsoft Testing Platform implementation.
            </summary>
            <param name="telemetryNoticeMessage">The telemetry notice message to display.</param>
            <param name="userDisplay">The user display service for showing messages.</param>
            <param name="fileSystem">The file system service for file operations.</param>
            <param name="environment">The environment service.</param>
            <param name="logger">The logger for logging operations.</param>
            <param name="noBannerOption">Whether the --no-banner option was specified.</param>
            <returns>Task representing the async operation.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Telemetry.GetPiiProperties(System.Boolean)">
            <summary>
            Gets the dictionary of PII properties indicating which properties contain PII and their kind.
            </summary>
            <param name="isExternalUser">Indicates whether the user is an external user (external release).</param>
            <returns>A dictionary where the key is the property name and the value indicates the kind of PII property.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Telemetry.PostFault(System.String,System.String,System.Exception)">
            <summary>
            Posts a fault event that produces a red diamond (◆) in Prism.
            Use for unrecoverable errors (crashes, unexpected exceptions) to distinguish
            them from normal operation failures in the telemetry pipeline.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Telemetry.Properties.TotalCompletionTokenUsed">
            <summary>
            Output tokens.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Telemetry.Properties.TotalPromptTokenUsed">
            <summary>
            Input tokens.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Telemetry.PiiPropertyKind.Path">
            <summary>
            The property contains a file system path
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Telemetry.PiiPropertyKind.Other">
            <summary>
            Any other property
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.DiagnosticsOutcome">
            <summary>
            Result of attempting to retrieve diagnostics from a build.
            Forces callers to explicitly handle the case when diagnostics are unavailable.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.DiagnosticsOutcome.Available">
            <summary>
            Diagnostics were successfully retrieved from the build.
            The collection may be empty if the build succeeded with no diagnostics.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.DiagnosticsOutcome.Available.#ctor(System.Collections.Generic.IReadOnlyCollection{Microsoft.Copilot.Testing.Core.Models.CompilationDiagnostic})">
            <summary>
            Diagnostics were successfully retrieved from the build.
            The collection may be empty if the build succeeded with no diagnostics.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.DiagnosticsOutcome.Unavailable">
            <summary>
            Diagnostics could not be retrieved (e.g., binlog missing or unreadable).
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.DiagnosticsOutcome.Unavailable.#ctor(System.String)">
            <summary>
            Diagnostics could not be retrieved (e.g., binlog missing or unreadable).
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.CodeFragmentLocation">
            <summary>
            Represents a location in the source code.
            All coordinates are 1-based.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.CodeFragmentLocation.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Copilot.Testing.Core.Models.CodeFragmentLocation" /> struct.
            </summary>
            <param name="startLine">The start line (1-based, must be positive).</param>
            <param name="startColumn">The start column (1-based, must be positive).</param>
            <param name="endLine">The end line (1-based, must be positive and &gt;= StartLine).</param>
            <param name="endColumn">The end column (1-based, must be positive).</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.CodeFragmentLocation.StartLine">
            <summary>
            Gets the start line (1-based).
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.CodeFragmentLocation.StartColumn">
            <summary>
            Gets the start column (1-based).
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.CodeFragmentLocation.EndLine">
            <summary>
            Gets the end line (1-based).
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.CodeFragmentLocation.EndColumn">
            <summary>
            Gets the end column (1-based).
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.CodeFragmentLocation.LinesCount">
            <summary>
            Gets the number of lines spanned by this code fragment (inclusive).
            For example, if StartLine is 1 and EndLine is 1, LinesCount is 1.
            If StartLine is 1 and EndLine is 3, LinesCount is 3.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.CompilationDiagnosticSeverity">
            <summary>
            Describes how severe a diagnostic is.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Models.CompilationDiagnosticSeverity.Hidden">
            <summary>
            Something that is an issue, as determined by some authority,
            but is not surfaced through normal means.
            There may be different mechanisms that act on these issues.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Models.CompilationDiagnosticSeverity.Info">
            <summary>
            Information that does not indicate a problem (i.e. not prescriptive).
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Models.CompilationDiagnosticSeverity.Warning">
            <summary>
            Something suspicious but allowed.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Models.CompilationDiagnosticSeverity.Error">
            <summary>
            Something not allowed by the rules of the language or other authority.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.CoverageBasedCyclingEngine">
            <summary>
            Orchestrates coverage-based cycling workflow for test generation and fixing.
            Manages the generate→measure→fix cycles until stopping criteria are met.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.CoverageBasedCyclingEngine.#ctor(Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager,Microsoft.Extensions.Logging.ILogger,Microsoft.Copilot.Testing.Core.Services.IUserDisplay,Microsoft.Copilot.Testing.Core.Services.ICoverageService)">
            <summary>
            Initializes a new instance of the CoverageBasedCyclingEngine class.
            </summary>
            <param name="testAgentManager">The test agent manager for test generation and coverage collection.</param>
            <param name="logger">Logger for diagnostic information.</param>
            <param name="userDisplay">User display for showing information to the user.</param>
            <param name="coverageService">Service for coverage operations.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.CoverageBasedCyclingEngine.ExecuteCoverageBasedCyclingAsync(Microsoft.Copilot.Testing.Core.Heuristics.HeuristicsTestAgentManager.Context,Microsoft.Copilot.Testing.Core.IActivity,System.Threading.CancellationToken)">
            <summary>
            Executes the coverage-based cycling workflow.
            </summary>
            <param name="context">The test agent context with scope and settings information.</param>
            <param name="sessionActivity"></param>
            <param name="cancellationToken">Cancellation token for the operation.</param>
            <returns>The final cycling result with coverage information and stopping reason.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.CyclingResult">
            <summary>
            Represents the final result of a coverage-based cycling session.
            </summary>
            <param name="FinalCoveragePercentage">The final coverage percentage achieved.</param>
            <param name="TotalCycles">The total number of cycles executed.</param>
            <param name="TotalTime">The total time spent on cycling.</param>
            <param name="StoppingReason">The reason why cycling stopped.</param>
            <param name="CycleHistory">History of all cycle results.</param>
            <param name="MergedResult"></param>
            <param name="TargetCoveragePercentage">The target coverage percentage, if specified.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.CyclingResult.#ctor(System.Nullable{System.Double},System.Int32,System.TimeSpan,System.Nullable{Microsoft.Copilot.Testing.Core.Helpers.StoppingReason},System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Helpers.CycleResult},Microsoft.Copilot.Testing.Core.Models.TestScenarioResult,System.Nullable{System.Double})">
            <summary>
            Represents the final result of a coverage-based cycling session.
            </summary>
            <param name="FinalCoveragePercentage">The final coverage percentage achieved.</param>
            <param name="TotalCycles">The total number of cycles executed.</param>
            <param name="TotalTime">The total time spent on cycling.</param>
            <param name="StoppingReason">The reason why cycling stopped.</param>
            <param name="CycleHistory">History of all cycle results.</param>
            <param name="MergedResult"></param>
            <param name="TargetCoveragePercentage">The target coverage percentage, if specified.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.CyclingResult.FinalCoveragePercentage">
            <summary>The final coverage percentage achieved.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.CyclingResult.TotalCycles">
            <summary>The total number of cycles executed.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.CyclingResult.TotalTime">
            <summary>The total time spent on cycling.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.CyclingResult.StoppingReason">
            <summary>The reason why cycling stopped.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.CyclingResult.CycleHistory">
            <summary>History of all cycle results.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.CyclingResult.MergedResult">
            <summary></summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.CyclingResult.TargetCoveragePercentage">
            <summary>The target coverage percentage, if specified.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.CodeFile.#ctor">
            <summary>
            Constructor to be used by unit test override type.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.CodeFile.#ctor(System.String)">
            <summary>
            Constructor to be used by unit test override type with a specific file path.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.FoundTestProjectInfo.MatchingTestProject">
            <summary>
            The first test project found referencing the source project.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.FoundTestProjectInfo.AllNonMatchingTestProjects">
            <summary>
            The test projects when no single test project referencing the source project is found.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.HeuristicsProject.#ctor(Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath,Microsoft.Copilot.Testing.Utils.Paths.AbsoluteDirectoryPath,Microsoft.Extensions.Logging.ILogger,Microsoft.Copilot.Testing.Core.Services.IUserDisplay,Microsoft.Copilot.Testing.Utils.Services.IFileSystem)">
            <summary>
            This ctor should be called only via <see cref="M:Microsoft.Copilot.Testing.Core.IWorkspaceService.GetSimplifiedProjectAsync(Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath,System.Boolean,System.Threading.CancellationToken,System.Boolean)" />!.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.HeuristicsProject.IsConditionalElement(System.Xml.Linq.XElement)">
            <summary>
            Determines whether an XML element is conditioned on a specific TFM or other MSBuild property.
            Returns <see langword="true" /> if the element itself or any ancestor has a <c>Condition</c>
            attribute, or if any ancestor is a <c>When</c> or <c>Otherwise</c> block inside a <c>Choose</c> element.
            Conditioned elements should be skipped during heuristic parsing because their conditions
            cannot be evaluated without MSBuild.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.ProjectBase.ComputeBuildConfiguration">
            <summary>
            Computes the build configuration to use for the project.
            Returns null if "Debug" is available (default) or no Configurations property is specified.
            Returns the first available configuration if "Debug" is not available.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.IProject.FullPath">
            <summary>
            The path to the project file or null if there is no project file.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.IMSBuildProject.BuildConfiguration">
            <summary>
            Gets the build configuration to use when building the project.
            Returns null if "Debug" is available or no Configurations property is specified, otherwise returns the first available configuration.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.IMSBuildProject.Kind">
            <summary>
            Classifies the project as a product, test, or non-testable project.
            Null before <see cref="M:Microsoft.Copilot.Testing.Core.Models.IProject.ReloadAsync(System.Threading.CancellationToken)" /> is called.
            When the value is <see cref="F:Microsoft.Copilot.Testing.Core.Models.ProjectKind.Test" />, <see cref="P:Microsoft.Copilot.Testing.Core.Models.IMSBuildProject.TestDependenciesInfo" /> is guaranteed to be non-null.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.IMSBuildProject.ForceIsTestProject">
            <summary>
            Indicates whether the project should be forcibly treated as a test project,
            regardless of other heuristics or conditions that determine test project status.
            This property does not affect the `TestDependenciesInfo` contract associated with <see cref="P:Microsoft.Copilot.Testing.Core.Models.IMSBuildProject.Kind" />.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.IMSBuildProject.EnsureTestProject">
            <summary>
            Ensures that the project is treated as a test project and guarantees that `TestDependenciesInfo` is not null.
            Throws an exception if it cannot ensure the non-null state of `TestDependenciesInfo`.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.ProjectKind">
            <summary>
            Classifies the role of a project in the solution.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Models.ProjectKind.Product">
            <summary>
            A regular product/library project that is eligible for test generation.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Models.ProjectKind.Test">
            <summary>
            A test project (detected via MSBuild properties, project capabilities, or naming heuristics).
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Models.ProjectKind.NonTestable">
            <summary>
            A non-testable project (e.g., benchmarks) that should be excluded from test generation
            without being treated as a test project candidate.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.SourceFileSnapshot">
            <summary>
            Represents a snapshot of a source file's path and content at a point in time.
            Use this type when you need to pass both a file path and its content together,
            especially when the content may have been pre-read or modified in memory.
            </summary>
            <param name="FilePath">The absolute path to the source file.</param>
            <param name="Content">The content of the file at the time of the snapshot.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.SourceFileSnapshot.#ctor(System.String,System.String)">
            <summary>
            Represents a snapshot of a source file's path and content at a point in time.
            Use this type when you need to pass both a file path and its content together,
            especially when the content may have been pre-read or modified in memory.
            </summary>
            <param name="FilePath">The absolute path to the source file.</param>
            <param name="Content">The content of the file at the time of the snapshot.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.SourceFileSnapshot.FilePath">
            <summary>The absolute path to the source file.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.SourceFileSnapshot.Content">
            <summary>The content of the file at the time of the snapshot.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.TestDependenciesInfo.ContainsDependency(System.String)">
            <summary>
            Version agnostic query about dependency being a known test dependency.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.TestFilter">
            <summary>
            Represents a test filter configuration for running tests.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestFilter.FullyQualifiedNames">
            <summary>
            Gets or initializes a collection of fully qualified test names to filter by.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestFilter.ExcludeCategory">
            <summary>
            Gets or initializes the category to exclude from the test run.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.TestFilter.GetMethodNamesWithoutSignatures">
            <summary>
            Gets the fully qualified method names without signatures (parameter lists), deduplicated.
            </summary>
            <returns>A collection of method names with signatures stripped.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.TestGenerationResult">
            <summary>
            A result of generating tests for a project.
            </summary>
            <param name="TestFilesGenerated">Paths and contents of generated/updated files.</param>
            <param name="SkippedFiles"></param>
            <param name="PackagesToInstall">Packages to install together with a list of files that depend on given package.</param>
            <param name="Errors">Errors encountered during generation.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.TestGenerationResult.#ctor(System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.FileGenerationResult},System.Collections.Generic.IReadOnlyList{Microsoft.Copilot.Testing.Core.Models.SourceFileToTest},System.Collections.Generic.Dictionary{Microsoft.Copilot.Testing.Core.Models.PackageInfo,System.String[]},System.Collections.Generic.IReadOnlyList{System.String})">
            <summary>
            A result of generating tests for a project.
            </summary>
            <param name="TestFilesGenerated">Paths and contents of generated/updated files.</param>
            <param name="SkippedFiles"></param>
            <param name="PackagesToInstall">Packages to install together with a list of files that depend on given package.</param>
            <param name="Errors">Errors encountered during generation.</param>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestGenerationResult.TestFilesGenerated">
            <summary>Paths and contents of generated/updated files.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestGenerationResult.SkippedFiles">
            <summary></summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestGenerationResult.PackagesToInstall">
            <summary>Packages to install together with a list of files that depend on given package.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestGenerationResult.Errors">
            <summary>Errors encountered during generation.</summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.TestIdentifier">
            <summary>
            Identifies a test or group of tests to run.
            Used as a strongly-typed parameter for LLM tool calls and throughout the test execution pipeline.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestIdentifier.Type">
            <summary>
            Gets the fully qualified type name (e.g., "MyApp.Tests.CalculatorTests").
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestIdentifier.Method">
            <summary>
            Gets the test method name (optional).
            If null or empty, targets all tests in the type.
            If provided, targets the specific test method.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestIdentifier.IsMethodFilter">
            <summary>
            Gets whether this identifier targets a specific test method (true) or all tests in a type (false).
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestIdentifier.FullyQualifiedName">
            <summary>
            Gets the fully qualified name for this filter.
            For type filters: "Namespace.TypeName"
            For method filters: "Namespace.TypeName.MethodName"
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.TestRunner">
            <summary>
            Represents the test runner type for a test project.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Models.TestRunner.VSTest">
            <summary>
            Traditional VSTest runner.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Models.TestRunner.MTP">
            <summary>
            .NET 10+ Microsoft Testing Platform (MTP) runner configured via global.json.
            </summary>
        </member>
        <member name="F:Microsoft.Copilot.Testing.Core.Models.TestRunner.VSTestMTP">
            <summary>
            Microsoft Testing Platform (MTP) with VSTest support (dotnet test compatibility).
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestScenarioResult.CancellationReason">
            <summary>
            Gets the reason the operation was cancelled by user choice (not by error).
            Null if the operation was not cancelled.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestScenarioResult.RejectedAction">
            <summary>
            Gets the type of action the user rejected that caused cancellation.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestScenarioResult.CancelledScopeFiles">
            <summary>
            Gets the files that were in scope when the user cancelled the operation.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestScenarioResult.CancelledProjectPath">
            <summary>
            Gets the project path that was being processed when the user cancelled the operation.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.TestScenarioResult.IsCancelledByUser">
            <summary>
            Gets a value indicating whether this result represents a user-initiated cancellation.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.TestScenarioResult.Cancelled(System.String,Microsoft.Copilot.Testing.Core.RejectedActionType,System.Collections.Generic.IReadOnlyList{System.String},System.String)">
            <summary>
            Creates a result for when the user rejects an action (cancellation by user choice, not by error).
            </summary>
            <param name="cancellationReason">The reason the operation was cancelled (user-rejected action description).</param>
            <param name="rejectedAction">The type of action that was rejected.</param>
            <param name="scopeFiles">Files that were in scope when the action was rejected.</param>
            <param name="projectPath">Project being processed when the action was rejected.</param>
            <returns>A TestScenarioResult representing user-initiated cancellation with context.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.UserPrompt">
            <summary>
            Represents a user's prompt for test generation, which can be either structured (mentions only)
            or free-form (natural language text with optional mentions).
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Models.UserPrompt.FreeFormText">
            <summary>
            The free-form natural language text from the user.
            When null or empty, the prompt is purely structured (mentions only).
            When present, the entire prompt should be interpreted as free-form.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.PromptMention">
            <summary>
            Base class for different types of structured mentions that can be part of a user prompt.
            Mention of a specific source file with optional line range.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.PromptMention.File">
            <summary>
            Mention of a specific source file with optional line range.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.PromptMention.File.#ctor(System.String,System.String,System.Nullable{System.Int32},System.Nullable{System.Int32})">
            <summary>
            Mention of a specific source file with optional line range.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.PromptMention.File.ToPromptString">
            <summary>
            Converts this file mention to a human-readable string representation
            that can be included in the LLM prompt.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.PromptMention.Solution">
            <summary>
            Mention of a solution file.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.PromptMention.Solution.#ctor(System.String)">
            <summary>
            Mention of a solution file.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.PromptMention.Solution.ToPromptString">
            <summary>
            Converts this solution mention to a human-readable string representation.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.PromptMention.CurrentChanges">
            <summary>
            Mention of a solution file.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.PromptMention.CurrentChanges.#ctor(System.String)">
            <summary>
            Mention of a solution file.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.PromptMention.CurrentChanges.ToPromptString">
            <summary>
            Converts this solution mention to a human-readable string representation.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Models.PromptMention.Edits">
            <summary>
            Mention of a solution file.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.PromptMention.Edits.#ctor(System.String)">
            <summary>
            Mention of a solution file.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Models.PromptMention.Edits.ToPromptString">
            <summary>
            Converts this solution mention to a human-readable string representation.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Unit">
            <summary>
            Represents a type with a single value. This type is often used to denote the successful completion of a void-returning method (C#) or a Sub procedure (Visual Basic).
            </summary>
            <remarks>
            Ideally we would use the class from System.Reactive but we want to avoid a deps for only this type.
            </remarks>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Unit.Equals(Microsoft.Copilot.Testing.Core.Unit)">
            <summary>
            Determines whether the specified <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> value is equal to the current <see cref="T:Microsoft.Copilot.Testing.Core.Unit" />. Because <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> has a single value, this always returns <see langword="true" />.
            </summary>
            <param name="other">An object to compare to the current <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> value.</param>
            <returns>Because <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> has a single value, this always returns <see langword="true" />.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Unit.Equals(System.Object)">
            <summary>
            Determines whether the specified System.Object is equal to the current <see cref="T:Microsoft.Copilot.Testing.Core.Unit" />.
            </summary>
            <param name="obj">The System.Object to compare with the current <see cref="T:Microsoft.Copilot.Testing.Core.Unit" />.</param>
            <returns><see langword="true" /> if the specified System.Object is a <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> value; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Unit.GetHashCode">
            <summary>
            Returns the hash code for the current <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> value.
            </summary>
            <returns>A hash code for the current <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> value.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Unit.ToString">
            <summary>
            Returns a string representation of the current <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> value.
            </summary>
            <returns>String representation of the current <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> value.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Unit.op_Equality(Microsoft.Copilot.Testing.Core.Unit,Microsoft.Copilot.Testing.Core.Unit)">
            <summary>
            Determines whether the two specified <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> values are equal. Because <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> has a single value, this always returns <see langword="true" />.
            </summary>
            <param name="first">The first <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> value to compare.</param>
            <param name="second">The second <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> value to compare.</param>
            <returns>Because <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> has a single value, this always returns <see langword="true" />.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Unit.op_Inequality(Microsoft.Copilot.Testing.Core.Unit,Microsoft.Copilot.Testing.Core.Unit)">
            <summary>
            Determines whether the two specified <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> values are not equal. Because <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> has a single value, this always returns <see langword="false" />.
            </summary>
            <param name="first">The first <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> value to compare.</param>
            <param name="second">The second <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> value to compare.</param>
            <returns>Because <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> has a single value, this always returns <see langword="false" />.</returns>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Unit.Default">
            <summary>
            Gets the single <see cref="T:Microsoft.Copilot.Testing.Core.Unit" /> value.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Serialization.JsonContext.GitFileChangeInfo">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Serialization.JsonContext.MemberAffected">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Serialization.JsonContext.LogEntry">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Serialization.JsonContext.ListGitFileChangeInfo">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Serialization.JsonContext.ListMemberAffected">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Serialization.JsonContext.Int32">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Serialization.JsonContext.String">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Serialization.JsonContext.Default">
            <summary>
            The default <see cref="T:System.Text.Json.Serialization.JsonSerializerContext" /> associated with a default <see cref="T:System.Text.Json.JsonSerializerOptions" /> instance.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Serialization.JsonContext.GeneratedSerializerOptions">
            <summary>
            The source-generated options associated with this context.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Serialization.JsonContext.#ctor">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Serialization.JsonContext.#ctor(System.Text.Json.JsonSerializerOptions)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Serialization.JsonContext.GetTypeInfo(System.Type)">
            <inheritdoc />
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.AgentCoreServices">
            <summary>
            Default implementation of <see cref="T:Microsoft.Copilot.Testing.Core.Services.IAgentCoreServices" /> that bundles the core services
            required by all agents: chat client factory, logger, user display, and file system.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Services.AgentCoreServices.ChatClientFactory">
            <inheritdoc />
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Services.AgentCoreServices.Logger">
            <inheritdoc />
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Services.AgentCoreServices.UserDisplay">
            <inheritdoc />
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Services.AgentCoreServices.FileSystem">
            <inheritdoc />
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.ChatMessageFileLogger">
            <summary>
            Logs chat messages to the file system.
            Shared by both CAPI's FileSystemMessageInspector and VS UI's VsCopilotMessageLogger.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.ProjectOutcome">
            <summary>
            Represents the outcome of clean state processing for a single project.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.ProjectOutcome.#ctor(System.String,System.Boolean,Microsoft.Copilot.Testing.Core.Helpers.CoverageData,Microsoft.Copilot.Testing.Core.Helpers.CoverageData)">
            <summary>
            Represents the outcome of clean state processing for a single project.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.CleanStateService">
            <summary>
            Service for managing repository clean state when the --ensure-clean-state command line argument is enabled.
            Commits successful changes and rolls back unsuccessful ones.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.CoverageInfoCollector.SetInitialCoveragePercentage(System.Nullable{System.Double})">
            <summary>
            Sets the initial coverage percentage for telemetry.
            </summary>
            <param name="coverageRate">Coverage rate (0.0-1.0) which will be converted to percentage (0.0-100.0) before storing.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.CoverageInfoCollector.SetFinalCoveragePercentage(System.Nullable{System.Double})">
            <summary>
            Sets the final coverage percentage for telemetry.
            </summary>
            <param name="coverageRate">Coverage rate (0.0-1.0) which will be converted to percentage (0.0-100.0) before storing.</param>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.DiagnosticAnalyzerReferencedByProjectLocator">
            <summary>
            Locator that relies on the analyzers already referenced by the <see cref="T:Microsoft.CodeAnalysis.Project" /> (Project.AnalyzerReferences).
            It does NOT load Roslyn feature assemblies explicitly; instead it surfaces only the analyzers that the project
            itself references. This is useful when the project already brings analyzer packages (NuGet) and we want to
            use exactly that set for formatting/fixing (Style/Analyzers modes).
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.FileSystemChangeApplier">
            <summary>
            Implementation of IChangeApplier that applies changes directly to the file system.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.FileSystemChangeApplier.ApplyChangesAsync(Microsoft.CodeAnalysis.Solution,Microsoft.CodeAnalysis.Solution,System.Threading.CancellationToken)">
            <summary>
            Applies solution changes directly to the CLI workspace.
            </summary>
            <param name="oldSolution">The old solution before changes.</param>
            <param name="newSolution">The new solution with changes to apply.</param>
            <param name="cancellationToken">Token to cancel the operation.</param>
            <returns>An operation result indicating success or failure.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.GitService.InvokeAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Allowed unrestricted even in read-only mode.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.IAgentCoreServices">
            <summary>
            Aggregates the core services required by all agents: chat client factory, logger, user display, and file system.
            This reduces constructor parameter count across all agents by bundling these frequently-used dependencies.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Services.IAgentCoreServices.ChatClientFactory">
            <summary>
            Factory for creating LLM chat clients used by agents for AI interactions.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Services.IAgentCoreServices.Logger">
            <summary>
            Logger for diagnostic and informational messages.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Services.IAgentCoreServices.UserDisplay">
            <summary>
            Service for displaying messages to the user.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Services.IAgentCoreServices.FileSystem">
            <summary>
            File system abstraction for file operations.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.IBuildService.BuildAsync(System.String,System.Threading.CancellationToken,System.String,System.Boolean,System.Boolean,System.String)">
            <summary>
            Builds a project or solution target.
            </summary>
            <param name="target">The project or solution file path to build.</param>
            <param name="cancellationToken">Token to cancel the build operation.</param>
            <param name="arguments">Additional command-line arguments for the build.</param>
            <param name="skipRestore">If true, skips the restore operation during build.</param>
            <param name="createBinlog">If true, creates a binary log file for the build.</param>
            <param name="configuration">The build configuration to use (e.g., "Release"). If null, uses the default configuration.</param>
            <returns>A task that represents the asynchronous build operation, containing the build result.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.IBuildService.RestoreAsync(System.String,System.Threading.CancellationToken,System.String)">
            <summary>
            Restores NuGet packages for a project or solution.
            </summary>
            <param name="target">The project or solution file path to restore.</param>
            <param name="cancellationToken">Token to cancel the restore operation.</param>
            <param name="arguments">Additional command-line arguments for the restore.</param>
            <returns>A task that represents the asynchronous restore operation, containing the operation result.</returns>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.IChangeApplier">
            <summary>
            Provides an abstraction for applying solution changes in different environments.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.IChangeApplier.ApplyChangesAsync(Microsoft.CodeAnalysis.Solution,Microsoft.CodeAnalysis.Solution,System.Threading.CancellationToken)">
            <summary>
            Applies the specified solution changes asynchronously.
            </summary>
            <param name="oldSolution">The old solution before changes.</param>
            <param name="newSolution">The new solution with changes to apply.</param>
            <param name="cancellationToken">Token to cancel the operation.</param>
            <returns>An operation result indicating success or failure.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.ICoverageService.MergeCoverageAsync(System.Collections.Generic.IEnumerable{System.String},System.String,System.Threading.CancellationToken,System.String)">
            <summary>
            Merges multiple coverage files into a single output file.
            </summary>
            <param name="inputPaths">The collection of coverage file paths to merge.</param>
            <param name="outputPath">The path where the merged coverage file will be created.</param>
            <param name="cancellationToken">Token to cancel the operation.</param>
            <param name="workingDirectory">The working directory for the merge operation.</param>
            <returns>An operation result containing the path to the merged coverage file on success, or error information on failure.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.ICoverageService.CheckCoverageAvailableAsync(System.Collections.Generic.IReadOnlyList{System.String},Microsoft.Copilot.Testing.Core.Helpers.GenerationScopeType,System.Threading.CancellationToken)">
            <summary>
            Validates that the dotnet coverage tool is available and can be used for the specified scope.
            </summary>
            <param name="scopePaths">The file or directory paths defining the coverage scope.</param>
            <param name="scopeType">The type of scope (File, Project, or Solution).</param>
            <param name="cancellationToken">Token to cancel the operation.</param>
            <returns>An operation result indicating success if the coverage tool is available and valid for the scope, or error information on failure.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.IDotNetInfoService.GetInfoAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Collects information about the .NET runtime and SDK environment.
            </summary>
            <param name="workingDir">The working directory to run the info command from.</param>
            <param name="cancellationToken">Token to cancel the operation.</param>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.IGitPathProvider">
            <summary>
            Provides the path to the git executable.
            Implementations can provide custom paths such as VS-bundled git.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Services.IGitPathProvider.GitExecutablePath">
            <summary>
            Gets the path to the git executable.
            Returns "git" if git is expected to be in PATH, or a full path to git.exe.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.DefaultGitPathProvider">
            <summary>
            Default implementation that returns "git" to use PATH resolution.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.ILLMFileAuthorization">
            <summary>
            Defines a contract for authorizing files to be processed by an LLM (Large Language Model).
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.ILLMFileAuthorization.IsAuthorizedAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Determines whether the specified file is authorized for processing by the LLM.
            </summary>
            <param name="filePath">The full path of the file to check.</param>
            <param name="cancellation">The cancellation token.</param>
            <returns>
            <see langword="true" /> if the file is authorized for LLM processing; otherwise, <see langword="false" />.
            </returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.IPackageService.AddPackageReferenceAsync(System.String,System.String,System.String,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Adds a NuGet package reference to a project.
            </summary>
            <param name="projectPath">The path to the project file.</param>
            <param name="packageName">The name of the NuGet package to add.</param>
            <param name="packageVersion">The version of the package to add.</param>
            <param name="cancellationToken">Token to cancel the operation.</param>
            <param name="isPrerelease">If true, allows installation of prerelease packages.</param>
            <returns>An operation result indicating success if the package was added successfully, or error information on failure.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.IPackageService.RemovePackageReferenceAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Removes a NuGet package reference from a project.
            </summary>
            <param name="projectPath">The path to the project file.</param>
            <param name="packageName">The name of the NuGet package to remove.</param>
            <param name="cancellationToken">Token to cancel the operation.</param>
            <returns>An operation result indicating success if the package was removed successfully, or error information on failure.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.IPackageService.GetPackagesForFrameworkAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Gets package information for a specific target framework, returning structured package data.
            </summary>
            <param name="projectPath">The path to the project file.</param>
            <param name="targetFramework">The target framework to list packages for.</param>
            <param name="cancellationToken">Token to cancel the operation.</param>
            <returns>An operation result containing package dictionary (package name -&gt; resolved version) on success, or error information on failure.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.IPackageService.GetAllPackagesAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Lists all NuGet packages (direct and transitive) referenced by a project for dependency analysis.
            </summary>
            <param name="projectPath">The path to the project file.</param>
            <param name="cancellationToken">Token to cancel the operation.</param>
            <returns>An operation result containing all packages including transitive dependencies, or error information on failure.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.IProjectService.GetProjectInfoAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Extracts project metadata including MSBuild properties and items.
            </summary>
            <param name="projectPath">The path to the project file.</param>
            <param name="targetFramework">If specified, extracts metadata for this specific target framework.</param>
            <param name="cancellationToken">Token to cancel the operation.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.IProjectService.AddProjectReferenceAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Adds a project-to-project reference.
            </summary>
            <param name="projectPath">The path to the project file that will reference another project.</param>
            <param name="referencedProject">The path to the project file to be referenced.</param>
            <param name="cancellationToken">Token to cancel the operation.</param>
            <returns>An operation result indicating success if the project reference was added successfully, or error information on failure.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.IRoslynAnalyzerService.RunAnalyzersAsync(Microsoft.Copilot.Testing.Core.Models.ICodeProject,Microsoft.Copilot.Testing.Core.Services.DotnetFormatMode,System.Collections.Generic.IEnumerable{Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath},System.Threading.CancellationToken)">
            <summary>
            Formats code files according to the specified formatting mode.
            </summary>
            <param name="project">The project to format.</param>
            <param name="mode">The type of formatting to apply (Everything, Whitespace, Style, or Analyzers).</param>
            <param name="files">Optional list of file paths to scope formatting to. When null, formats all files in the project.</param>
            <param name="cancellationToken">Token to cancel the format operation.</param>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.ITelemetrySession">
            <summary>
            Represents a telemetry session that can start activities.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Services.ITelemetrySession.CurrentRunGuid">
            <summary>
            Gets or sets the unique Run GUID for this telemetry session, used to correlate all telemetry from a single user-initiated run.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.ITelemetrySession.StartActivity(System.String)">
            <summary>
            Starts a new activity with the specified name.
            </summary>
            <param name="name">The name of the activity (without event prefix).</param>
            <returns>An activity instance, or null if the activity should not be tracked.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.ITelemetrySession.PostEvent(System.String,System.ValueTuple{System.String,System.Object}[])">
            <summary>
            Posts a point-in-time telemetry event with the specified name and tags.
            </summary>
            <param name="name">The name of the event (without event prefix).</param>
            <param name="tags">The tags to attach to the event as key-value pairs.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.ITelemetrySession.PostFault(System.String,System.String,System.Exception)">
            <summary>
            Posts a fault event that will appear as a red diamond in Prism.
            No-op for implementations that do not support fault telemetry (e.g. OpenTelemetry).
            </summary>
            <param name="name">The name of the fault event (without event prefix).</param>
            <param name="description">A short description of the fault.</param>
            <param name="exception">The exception associated with the fault, if any.</param>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Services.OTelTelemetrySession">
            <summary>
            OpenTelemetry implementation of ITelemetrySession.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Services.OTelTelemetrySession.PostFault(System.String,System.String,System.Exception)">
            <summary>
            No-op for OpenTelemetry — fault events are a VS Telemetry concept.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IWorkspaceService.IsPathInWorkspaceAsync(Microsoft.Copilot.Testing.Utils.Paths.AbsolutePath,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Checks if a specified path is part of the current workspace.
            </summary>
            <param name="path">The file or directory path to be verified.</param>
            <param name="cancellation"></param>
            <param name="logFilteredOutPaths">Indication whether path not part of the current workspace should be logged.</param>
            <returns>Returns true if the path is within the workspace; otherwise, false.</returns>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IWorkspaceService.GetSimplifiedProjectAsync(Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath,System.Boolean,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Lightweight wrapper enabling calls to MSBuild props/items and .net cli.
            Doesn't require nor support Roslyn capabilities.
            When <paramref name="noThrow" /> is false, the return value is guaranteed to be non-null.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.IWorkspaceService.GetSuggestedTestProjectName(Microsoft.Copilot.Testing.Utils.Paths.AbsoluteFilePath,System.Boolean)">
            <summary>
            Gets the test project name that is suggested for the given source project.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Tools.AnalyzePotentialBugTool">
            <summary>
            Tool for analyzing potential production bugs.
            Called as a blocking tool from CodeGenAgent when it suspects a production bug.
            Creates a BugAnalysisAgent subagent with shared tools to avoid lock conflicts.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Tools.AnalyzePotentialBugTool.#ctor(Microsoft.Copilot.Testing.Core.Services.IAgentCoreServices,Microsoft.Extensions.AI.AIFunction[],Microsoft.Copilot.Testing.Core.Helpers.AnalysisReport,System.String,System.Threading.CancellationToken)">
            <param name="coreServices">Core services for creating the subagent.</param>
            <param name="sharedTools">Parent agent's tool instances (TextEditorTool, GrepTool, CodeAnalysisTool).</param>
            <param name="analysisReport">Analysis report for recording production bug findings.</param>
            <param name="testProjectName">Name of the test project file with extension.</param>
            <param name="sessionToken">Cancellation token for the session.</param>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Tools.CodeAnalysisTool.AppendUsefulParameterDetails(System.Text.StringBuilder,System.Collections.Immutable.ImmutableArray{Microsoft.CodeAnalysis.IParameterSymbol},System.String)">
            <summary>
            Appends parameter details only when they provide useful namespace information.
            Skips System namespace types and types from the same namespace as the containing type.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Tools.EditRecord">
            <summary>
            Represents a single edit operation for undo history tracking.
            OriginalContent is null for Create (file didn't exist), otherwise full file content before edit.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Tools.EditRecord.#ctor(System.String,Microsoft.Copilot.Testing.Core.Tools.EditType,System.String,System.String)">
            <summary>
            Represents a single edit operation for undo history tracking.
            OriginalContent is null for Create (file didn't exist), otherwise full file content before edit.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Tools.ThinkTool">
            <summary>
            // https://www.anthropic.com/engineering/claude-think-tool.
            </summary>
        </member>
        <member name="T:Microsoft.Copilot.Testing.Core.Resources.Messages">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.EnvironmentVariableNotSet">
            <summary>Environment variable '{0}' is not set.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatEnvironmentVariableNotSet(System.Object)">
            <summary>Environment variable '{0}' is not set.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToRetrieveAccessToken">
            <summary>Failed to retrieve access token</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.TimeoutWaitingForSemaphore">
            <summary>Timeout of '{0}' while waiting for the semaphore</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatTimeoutWaitingForSemaphore(System.Object)">
            <summary>Timeout of '{0}' while waiting for the semaphore</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.APINotSupported">
            <summary>This API is not supported. Use the specific log methods instead.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.BinlogNotAvailable">
            <summary>Binlog is not available. Did you call 'InvokeDotnetBuildAsync' with 'createBinlog' set to true?</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.MSBuildOnlyOnWindows">
            <summary>MSBuild.exe is only supported on Windows platforms.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.DirectoryDoesNotExist">
            <summary>The directory {0} does not exist.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatDirectoryDoesNotExist(System.Object)">
            <summary>The directory {0} does not exist.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.NoResponseFromLLMProvider">
            <summary>No response from the LLM provider.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.LLMProviderTooManyTokens">
            <summary>The LLM provider returned a too many tokens error.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.IncompleteResponseFromLLM">
            <summary>Got an incomplete response from LLM.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.LoggerRunningPrefix">
            <summary>Running</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.LoggerBuildingPrefix">
            <summary>Building</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.LoggerLogsFolderPrefix">
            <summary>Logs folder:</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.RunningTestsForProject">
            <summary>Running tests for '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatRunningTestsForProject(System.Object)">
            <summary>Running tests for '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.RunningRoslynAnalyzersMessage">
            <summary>Fixing diagnostics for {0} file(s) in project '{1}': {2}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatRunningRoslynAnalyzersMessage(System.Object,System.Object,System.Object)">
            <summary>Fixing diagnostics for {0} file(s) in project '{1}': {2}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.BuildingProject">
            <summary>Building project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatBuildingProject(System.Object)">
            <summary>Building project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.GeneratingUnitTestsForSolution">
            <summary>Generating unit tests for solution '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatGeneratingUnitTestsForSolution(System.Object)">
            <summary>Generating unit tests for solution '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.GeneratingUnitTestsForSolutions">
            <summary>Generating unit tests for solutions {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatGeneratingUnitTestsForSolutions(System.Object)">
            <summary>Generating unit tests for solutions {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.GeneratingUnitTestsForProject">
            <summary>Generating unit tests for project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatGeneratingUnitTestsForProject(System.Object)">
            <summary>Generating unit tests for project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.GeneratingUnitTestsForProjects">
            <summary>Generating unit tests for projects {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatGeneratingUnitTestsForProjects(System.Object)">
            <summary>Generating unit tests for projects {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.GeneratingUnitTestsForDirectory">
            <summary>Generating unit tests for directory '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatGeneratingUnitTestsForDirectory(System.Object)">
            <summary>Generating unit tests for directory '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.GeneratingUnitTestsForDirectories">
            <summary>Generating unit tests for directories {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatGeneratingUnitTestsForDirectories(System.Object)">
            <summary>Generating unit tests for directories {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.GeneratingUnitTestsForFile">
            <summary>Generating unit tests for file '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatGeneratingUnitTestsForFile(System.Object)">
            <summary>Generating unit tests for file '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.GeneratingUnitTestsForFiles">
            <summary>Generating unit tests for files {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatGeneratingUnitTestsForFiles(System.Object)">
            <summary>Generating unit tests for files {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FixingUnitTests">
            <summary>Fixing unit tests</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FixingUnitTestsInProject">
            <summary>Fixing unit tests in project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFixingUnitTestsInProject(System.Object)">
            <summary>Fixing unit tests in project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AttemptingToFixDiagnosticsForFile">
            <summary>Attempting to fix diagnostics for file '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatAttemptingToFixDiagnosticsForFile(System.Object)">
            <summary>Attempting to fix diagnostics for file '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FixingFailedTestsInProject">
            <summary>Fixing failing tests in '{0}', {1} remaining</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFixingFailedTestsInProject(System.Object,System.Object)">
            <summary>Fixing failing tests in '{0}', {1} remaining</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.TryingToFindTestProjectForProject">
            <summary>Trying to find test project for project '{0}'...</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatTryingToFindTestProjectForProject(System.Object)">
            <summary>Trying to find test project for project '{0}'...</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AttemptingToFixErrorsForFile">
            <summary>Attempting to fix errors for file '{0}'...</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatAttemptingToFixErrorsForFile(System.Object)">
            <summary>Attempting to fix errors for file '{0}'...</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AnalyzingFailedUnitTest">
            <summary>Analyzing {0} unit test '{1}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatAnalyzingFailedUnitTest(System.Object,System.Object)">
            <summary>Analyzing {0} unit test '{1}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AnalyzingProjectToFindFilesToTest">
            <summary>Analyzing project '{0}' to find files to test...</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatAnalyzingProjectToFindFilesToTest(System.Object)">
            <summary>Analyzing project '{0}' to find files to test...</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.ScanningFileForTestableCode">
            <summary>Scanning file '{0}' from project '{1}' for testable code...</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatScanningFileForTestableCode(System.Object,System.Object)">
            <summary>Scanning file '{0}' from project '{1}' for testable code...</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.SuccessfullyFixedTests">
            <summary>Fixed failing tests for project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatSuccessfullyFixedTests(System.Object)">
            <summary>Fixed failing tests for project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToFixFailingTests">
            <summary>Failed to fix failing tests for project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToFixFailingTests(System.Object)">
            <summary>Failed to fix failing tests for project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToBuildProject">
            <summary>Failed to build test project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToBuildProject(System.Object)">
            <summary>Failed to build test project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToBuildAndFixProject">
            <summary>Failed to build and to fix build errors for test project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToBuildAndFixProject(System.Object)">
            <summary>Failed to build and to fix build errors for test project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToCreateTestProject">
            <summary>Failed to create a test project for the source project '{0}' at path '{1}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToCreateTestProject(System.Object,System.Object)">
            <summary>Failed to create a test project for the source project '{0}' at path '{1}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.InitialProjectRestoreFailed">
            <summary>Initial project restore failed for project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatInitialProjectRestoreFailed(System.Object)">
            <summary>Initial project restore failed for project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToListPackagesOfProject">
            <summary>Failed to list packages of project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToListPackagesOfProject(System.Object)">
            <summary>Failed to list packages of project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToAddPackageToProject">
            <summary>Failed to add package '{0}' version '{1}' to project '{2}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToAddPackageToProject(System.Object,System.Object,System.Object)">
            <summary>Failed to add package '{0}' version '{1}' to project '{2}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToRestoreAfterInstallingPackage">
            <summary>Failed to restore after installing package '{0}' version '{1}' to project '{2}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToRestoreAfterInstallingPackage(System.Object,System.Object,System.Object)">
            <summary>Failed to restore after installing package '{0}' version '{1}' to project '{2}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.SuccessfullyTestedProject">
            <summary>Test run completed for project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatSuccessfullyTestedProject(System.Object)">
            <summary>Test run completed for project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.NoTestsExecuted">
            <summary>No tests were executed for project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatNoTestsExecuted(System.Object)">
            <summary>No tests were executed for project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CannotDetermineTestDependencies">
            <summary>Cannot determine test dependencies for the test project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCannotDetermineTestDependencies(System.Object)">
            <summary>Cannot determine test dependencies for the test project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToGetSemanticModel">
            <summary>Failed to get semantic model for file '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToGetSemanticModel(System.Object)">
            <summary>Failed to get semantic model for file '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.NoTestsGeneratedForFile">
            <summary>No tests were generated for file '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatNoTestsGeneratedForFile(System.Object)">
            <summary>No tests were generated for file '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.NoTestsGeneratedForMember">
            <summary>No tests were generated for member '{0}.{1}' of file '{2}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatNoTestsGeneratedForMember(System.Object,System.Object,System.Object)">
            <summary>No tests were generated for member '{0}.{1}' of file '{2}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CannotLoadProjectError">
            <summary>Unable to load project '{0}'. Please check that the project file is valid and accessible.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCannotLoadProjectError(System.Object)">
            <summary>Unable to load project '{0}'. Please check that the project file is valid and accessible.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.ProjectFileNotFoundError">
            <summary>Project file not found for '{0}'. Please ensure the file is in a valid project directory.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatProjectFileNotFoundError(System.Object)">
            <summary>Project file not found for '{0}'. Please ensure the file is in a valid project directory.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.GitCommandNotAvailableError">
            <summary>Git command is not available on the system path. Please install Git or ensure it's properly configured.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.GitRepositoryNotFoundError">
            <summary>Git repository not found for path '{0}'. Please ensure this is a valid Git repository.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatGitRepositoryNotFoundError(System.Object)">
            <summary>Git repository not found for path '{0}'. Please ensure this is a valid Git repository.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.PackageRestoreFailedError">
            <summary>Failed to restore packages for project '{0}'. Please check your package sources and network connectivity.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatPackageRestoreFailedError(System.Object)">
            <summary>Failed to restore packages for project '{0}'. Please check your package sources and network connectivity.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.BuildFailedError">
            <summary>Failed to build test project '{0}'. Please check the build output for compilation errors.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatBuildFailedError(System.Object)">
            <summary>Failed to build test project '{0}'. Please check the build output for compilation errors.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FixBuildErrorsFailedError">
            <summary>Failed to automatically fix build errors for test project '{0}'. Manual intervention may be required.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFixBuildErrorsFailedError(System.Object)">
            <summary>Failed to automatically fix build errors for test project '{0}'. Manual intervention may be required.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CannotDetermineWorkDirectoryRoot">
            <summary>Cannot determine work directory root from the provided parameters</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AzureFoundryEnvironmentVariablesMustBeSet">
            <summary>Azure Foundry environment variables (AZFOUNDRY_URL, AZFOUNDRY_MODEL, AZFOUNDRY_APIKEY) must be set.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.InvalidProjectXmlRoot">
            <summary>Invalid project '{0}'. ProjectPath XML root is null.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatInvalidProjectXmlRoot(System.Object)">
            <summary>Invalid project '{0}'. ProjectPath XML root is null.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CannotMergeTypeNoSkeletonMultipleMembers">
            <summary>Cannot merge type '{0}' because it has no skeleton and multiple members:
            {1}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCannotMergeTypeNoSkeletonMultipleMembers(System.Object,System.Object)">
            <summary>Cannot merge type '{0}' because it has no skeleton and multiple members:
            {1}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.UnsupportedBaseTypeDeclarationSyntax">
            <summary>Unsupported instance of a 'BaseTypeDeclarationSyntax': {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatUnsupportedBaseTypeDeclarationSyntax(System.Object)">
            <summary>Unsupported instance of a 'BaseTypeDeclarationSyntax': {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.ProblemProcessingNodeForFile">
            <summary>There was a problem processing a node for file '{0}'
            Node:
            {1}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatProblemProcessingNodeForFile(System.Object,System.Object)">
            <summary>There was a problem processing a node for file '{0}'
            Node:
            {1}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.MethodStartOffsetNotSet">
            <summary>MethodStartOffset is not set for method '{0}' - cannot get relative position coverage info.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatMethodStartOffsetNotSet(System.Object)">
            <summary>MethodStartOffset is not set for method '{0}' - cannot get relative position coverage info.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.UnsupportedMemberType">
            <summary>Member type '{0}' is not supported.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatUnsupportedMemberType(System.Object)">
            <summary>Member type '{0}' is not supported.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.DiagnosticsResultInvalidState">
            <summary>DiagnosticsResult is in an invalid state: Kind={0}, FileDiagnostics={1}, RoslynProject={2}, ErrorMessage={3}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatDiagnosticsResultInvalidState(System.Object,System.Object,System.Object,System.Object)">
            <summary>DiagnosticsResult is in an invalid state: Kind={0}, FileDiagnostics={1}, RoslynProject={2}, ErrorMessage={3}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.SuccessfullyUpdatedTestFile">
            <summary>Updated test file '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatSuccessfullyUpdatedTestFile(System.Object)">
            <summary>Updated test file '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.SuccessfullyCreatedTestFile">
            <summary>Created test file '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatSuccessfullyCreatedTestFile(System.Object)">
            <summary>Created test file '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FinishedProcessingProject">
            <summary>Finished processing project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFinishedProcessingProject(System.Object)">
            <summary>Finished processing project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.PromptCannotBeNullOrEmpty">
            <summary>Prompt cannot be null or empty.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.WorkspaceDirectoryCannotBeNullOrNotExist">
            <summary>Workspace directory cannot be null or does not exist.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.McpServerFileNotFound">
            <summary>MCP server file '{0}' not found.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatMcpServerFileNotFound(System.Object)">
            <summary>MCP server file '{0}' not found.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.WorkspaceCannotBeNullOrEmpty">
            <summary>Workspace cannot be null or empty.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToGetSyntaxTree">
            <summary>Failed to get syntax tree for file '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToGetSyntaxTree(System.Object)">
            <summary>Failed to get syntax tree for file '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToCollectMetadataForFile">
            <summary>Failed to collect metadata for file '{0}': {1}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToCollectMetadataForFile(System.Object,System.Object)">
            <summary>Failed to collect metadata for file '{0}': {1}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToUpdateTestFile">
            <summary>Failed to update test file '{0}': {1}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToUpdateTestFile(System.Object,System.Object)">
            <summary>Failed to update test file '{0}': {1}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToCreateTestFile">
            <summary>Failed to create test file '{0}': {1}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToCreateTestFile(System.Object,System.Object)">
            <summary>Failed to create test file '{0}': {1}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.ErrorProcessingMember">
            <summary>Error processing member '{0}': {1}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatErrorProcessingMember(System.Object,System.Object)">
            <summary>Error processing member '{0}': {1}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.NoTestsGeneratedForAnyMember">
            <summary>No tests were generated for any member in file '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatNoTestsGeneratedForAnyMember(System.Object)">
            <summary>No tests were generated for any member in file '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToMergeTestFiles">
            <summary>Failed to merge test files for '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToMergeTestFiles(System.Object)">
            <summary>Failed to merge test files for '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.MemberNotFoundInStrippedClass">
            <summary>Member not found in stripped out class. Coverage and symbol info cannot be considered.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FoundTestProject">
            <summary>Found test project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFoundTestProject(System.Object)">
            <summary>Found test project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CouldNotFindTestProjectManualLookup">
            <summary>Could not find any existing test project for '{0}' scanning all projects in directory '{1}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCouldNotFindTestProjectManualLookup(System.Object,System.Object)">
            <summary>Could not find any existing test project for '{0}' scanning all projects in directory '{1}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AgentActionsDotnetTestConsent">
            <summary>GitHub Copilot testing requests permission to run 'dotnet test' on project '{0}'.
            Do you want to allow this operation?</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatAgentActionsDotnetTestConsent(System.Object)">
            <summary>GitHub Copilot testing requests permission to run 'dotnet test' on project '{0}'.
            Do you want to allow this operation?</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.Yes">
            <summary>Yes</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.No">
            <summary>No</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AgentActionsPackageAddConsent">
            <summary>NuGet packages to be installed: {1}
            
            GitHub Copilot testing requests permission to install these packages, then restore and build the project '{0}'.
            Do you want to allow this operation?</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatAgentActionsPackageAddConsent(System.Object,System.Object)">
            <summary>NuGet packages to be installed: {1}
            
            GitHub Copilot testing requests permission to install these packages, then restore and build the project '{0}'.
            Do you want to allow this operation?</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AgentActionsUserDisallowed">
            <summary>User didn't give consent to agent action ('{0}'). Cancelling generation...</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatAgentActionsUserDisallowed(System.Object)">
            <summary>User didn't give consent to agent action ('{0}'). Cancelling generation...</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.TestGenerationFinished">
            <summary>Test generation finished.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.TestGenerationElapsed">
            <summary>Took: {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatTestGenerationElapsed(System.Object)">
            <summary>Took: {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.TestGenerationCommandLine">
            <summary>Command line: {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatTestGenerationCommandLine(System.Object)">
            <summary>Command line: {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AgentCrashed">
            <summary>GitHub Copilot testing crashed :-(</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AgentCrashMessage">
            <summary>Crash Message: {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatAgentCrashMessage(System.Object)">
            <summary>Crash Message: {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.TestGenerationStat">
            <summary>{0} {1}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatTestGenerationStat(System.Object,System.Object)">
            <summary>{0} {1}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FixerStatisticsHeader">
            <summary>Fixer Statistics:</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FixerStatisticsSeparator">
            <summary>-----------------------------------------------------------------------------------------------------</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FixerStatisticsColumns">
            <summary>| Fixer Name                     | Files Fixed | Diagnostics Fixed | Diagnostics Added | Total Time |</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FixerStatisticsRow">
            <summary>| {0} | {1,11} | {2,17} | {3,17} | {4} |</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFixerStatisticsRow(System.Object,System.Object)">
            <summary>| {0} | {1,11} | {2,17} | {3,17} | {4} |</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.ErrorsEncounteredHeader">
            <summary>Errors encountered:</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.ErrorsEncounteredRow">
            <summary>- {0}{1}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatErrorsEncounteredRow(System.Object,System.Object)">
            <summary>- {0}{1}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.GeneratingTestsForMembers">
            <summary>Generating tests for file '{0}' (processing member {1}/{2})</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatGeneratingTestsForMembers(System.Object,System.Object,System.Object)">
            <summary>Generating tests for file '{0}' (processing member {1}/{2})</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.RetryingLLMRequest">
            <summary>Retrying LLM request in '{0}'...</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatRetryingLLMRequest(System.Object)">
            <summary>Retrying LLM request in '{0}'...</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToCreateChatClient">
            <summary>Failed to create chat client for agent '{0}' with integration ID '{1}' and model '{2}'.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToCreateChatClient(System.Object,System.Object,System.Object)">
            <summary>Failed to create chat client for agent '{0}' with integration ID '{1}' and model '{2}'.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CapiHmacSecretRequired">
            <summary>CAPI_HMAC_SECRET environment variable is required for serverToServer authentication type.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.TokenProviderRequiredForUserToServer">
            <summary>Token provider is required for userToServer authentication type.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CoverageCycling_Initial">
            <summary>Initial coverage before first cycle: {0}%</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCoverageCycling_Initial(System.Object)">
            <summary>Initial coverage before first cycle: {0}%</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CoverageCycling_Stats">
            <summary>Cycle {0} completed: {1}% coverage in {2}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCoverageCycling_Stats(System.Object,System.Object,System.Object)">
            <summary>Cycle {0} completed: {1}% coverage in {2}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.TestGenerationModelUsed">
            <summary>Model used: {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatTestGenerationModelUsed(System.Object)">
            <summary>Model used: {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CoverageCycling_DotentCoverageMissing">
            <summary>The dotnet-coverage tool is required for coverage-based cycling with multiple projects. Please install it from https://learn.microsoft.com/dotnet/core/additional-tools/dotnet-coverage</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.Stats_CoverageSummary">
            <summary>Coverage increase (scope: {0}): {1}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatStats_CoverageSummary(System.Object,System.Object)">
            <summary>Coverage increase (scope: {0}): {1}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToInitialBuildProject">
            <summary>Failed to build the project '{0}' before any actions has been taken by the agent. Please ensure buildability via 'dotnet build' (or 'msbuild.exe' - if you are using '--use-msbuild') command. If you are trying to fix broken code generated by incomplete run  ...</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToInitialBuildProject(System.Object)">
            <summary>Failed to build the project '{0}' before any actions has been taken by the agent. Please ensure buildability via 'dotnet build' (or 'msbuild.exe' - if you are using '--use-msbuild') command. If you are trying to fix broken code generated by incomplete run  ...</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.LLMCallMaxRetriesExceeded">
            <summary>LLM call failed for agent '{0}' after {1} attempts. See RetryExceptions for details of each failed attempt.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatLLMCallMaxRetriesExceeded(System.Object,System.Object)">
            <summary>LLM call failed for agent '{0}' after {1} attempts. See RetryExceptions for details of each failed attempt.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToInitialBuildTestProject">
            <summary>Failed to build the test project '{0}' (newly created by agent: {1}) before any tests has been generated by the agent. Please ensure buildability via 'dotnet build' (or 'msbuild.exe' - if you are using '--use-msbuild') command. If you are trying to fix bro ...</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToInitialBuildTestProject(System.Object,System.Object)">
            <summary>Failed to build the test project '{0}' (newly created by agent: {1}) before any tests has been generated by the agent. Please ensure buildability via 'dotnet build' (or 'msbuild.exe' - if you are using '--use-msbuild') command. If you are trying to fix bro ...</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.EndLineCannotBeLessThanStartLine">
            <summary>End line ({1}) cannot be less than start line ({0}).</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatEndLineCannotBeLessThanStartLine(System.Object,System.Object)">
            <summary>End line ({1}) cannot be less than start line ({0}).</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.StartLineCannotBeLessThanOriginal">
            <summary>Start line ({1}) cannot be less than the original member start line ({0}).</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatStartLineCannotBeLessThanOriginal(System.Object,System.Object)">
            <summary>Start line ({1}) cannot be less than the original member start line ({0}).</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.EndLineCannotBeGreaterThanOriginal">
            <summary>End line ({1}) cannot be greater than the original member end line ({0}).</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatEndLineCannotBeGreaterThanOriginal(System.Object,System.Object)">
            <summary>End line ({1}) cannot be greater than the original member end line ({0}).</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.InvalidProjecontextmlRoot">
            <summary>Invalid project '{0}'. ProjectPath XML root is null.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatInvalidProjecontextmlRoot(System.Object)">
            <summary>Invalid project '{0}'. ProjectPath XML root is null.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CannotDetermineProjectDirectory">
            <summary>Cannot determine project directory for '{0}'.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCannotDetermineProjectDirectory(System.Object)">
            <summary>Cannot determine project directory for '{0}'.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.NoErrorsMessage">
            <summary>No errors</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.TestAgentRunCompletedSuccessMessage">
            <summary>Test Agent run completed. {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatTestAgentRunCompletedSuccessMessage(System.Object)">
            <summary>Test Agent run completed. {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AllUnitTestsCreatedSuccessfullyMessage">
            <summary>All unit tests created successfully!</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.SomeUnitTestsCreatedWithErrorsMessage">
            <summary>Some unit tests created successfully, but there were errors: {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatSomeUnitTestsCreatedWithErrorsMessage(System.Object)">
            <summary>Some unit tests created successfully, but there were errors: {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.UnitTestsCreatedButFailedMessage">
            <summary>Unit tests were created successfully, but {0} tests failed during execution.
            Errors from the generation process:
            {1}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatUnitTestsCreatedButFailedMessage(System.Object,System.Object)">
            <summary>Unit tests were created successfully, but {0} tests failed during execution.
            Errors from the generation process:
            {1}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToCreateUnitTestsMessage">
            <summary>Failed to create unit tests!</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.NoUnitTestsGeneratedMessage">
            <summary>No unit tests were generated. This likely means there was nothing testable.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.PreExistingTestsFailingMessage">
            <summary>Pre-existing tests are failing, please fix them first.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.ConfirmFixFailingPreExistingTests">
            <summary>Pre-existing tests are failing ({0} test(s) failed). Would you like to fix them before generating new tests?</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatConfirmFixFailingPreExistingTests(System.Object)">
            <summary>Pre-existing tests are failing ({0} test(s) failed). Would you like to fix them before generating new tests?</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FixingFailingPreExistingTests">
            <summary>Initial tests failed ({0} test(s)). Fixing them first before generating new tests.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFixingFailingPreExistingTests(System.Object)">
            <summary>Initial tests failed ({0} test(s)). Fixing them first before generating new tests.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.UserDeclinedFixFailingTests">
            <summary>User declined to fix failing pre-existing tests. Please fix the tests manually and try again.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.VerifyingTestFixes">
            <summary>Verifying test fixes</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToCreateAnyUnitTestsMessage">
            <summary>Failed to create any unit tests. Errors:
            {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToCreateAnyUnitTestsMessage(System.Object)">
            <summary>Failed to create any unit tests. Errors:
            {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AgentActionsUserDisallowedAddingNuGetPackages">
            <summary>User didn't give consent to agent to install NuGet packages. Cancelling generation...</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.SourceFileNotFoundInTestFilesMapping">
            <summary>Source file '{0}' not found in test files mapping</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatSourceFileNotFoundInTestFilesMapping(System.Object)">
            <summary>Source file '{0}' not found in test files mapping</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AgentActionsConsentRequired">
            <summary>In CI environment you must specify '--require-untrusted-actions-consent false' explicitly.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.Preferences_CLI_AgentActionsConsentPersistRequest">
            <summary>Do you want to store your choice for future runs?
            You can later clear your preference using '--clear-preferences'.
            You can also override your stored choice for a single run using '--require-untrusted-actions-consent'.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AgentActionsConsentRequest">
            <summary>GitHub Copilot testing can read, write, build, and run code in your solution, including creating new test projects, tests, and files. Learn more: [aka.ms/githubcopilot-testing](https://aka.ms/githubcopilot-testing).
            
            If you select Confirm: Copilot will run ...</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AgentActionsUserPromptingUnsupported">
            <summary>User prompting in CI environment is unsupported. You must specify '--require-untrusted-actions-consent false'.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.GeneratingTestsForMember">
            <summary>Generating tests for member '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatGeneratingTestsForMember(System.Object)">
            <summary>Generating tests for member '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.SuccessfullyGeneratedTestsForMember">
            <summary>Generated tests for '{0}.{1}'.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatSuccessfullyGeneratedTestsForMember(System.Object,System.Object)">
            <summary>Generated tests for '{0}.{1}'.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.SuccessfullyGeneratedTestsForFile">
            <summary>Generated tests for '{0}'.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatSuccessfullyGeneratedTestsForFile(System.Object)">
            <summary>Generated tests for '{0}'.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedToGenerateTestsForMember">
            <summary>Failed to generate tests for '{0}.{1}'.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedToGenerateTestsForMember(System.Object,System.Object)">
            <summary>Failed to generate tests for '{0}.{1}'.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.RoslynFormatService_DocumentNotFound">
            <summary>The document to format was not found in the Roslyn workspace.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.RoslynFormatService_CompilationNotFound">
            <summary>Unable to retrieve the compilation from the project.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CliChangeApplier_ApplyChangesFailure">
            <summary>Failed to apply solution changes to workspace.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.Preferences_VS_AgentActionsConsentPersistRequest">
            <summary>Do you want to store your choice for future runs?
            You can later clear your preference using '@test /clear-preferences'.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.LocatingOrCreatingTestProject">
            <summary>Locating or creating a test project for '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatLocatingOrCreatingTestProject(System.Object)">
            <summary>Locating or creating a test project for '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.ProcessingFinalCoverage">
            <summary>Measuring coverage improvements</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.ReusingExistingTestProject">
            <summary>Used existing test project '{1}' for source project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatReusingExistingTestProject(System.Object,System.Object)">
            <summary>Used existing test project '{1}' for source project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CreatedNewTestProject">
            <summary>Created a new test project '{1}' for source project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCreatedNewTestProject(System.Object,System.Object)">
            <summary>Created a new test project '{1}' for source project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CommitSuccessMessage">
            <summary>Created commit for successful test generation in project '{0}': {1}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCommitSuccessMessage(System.Object,System.Object)">
            <summary>Created commit for successful test generation in project '{0}': {1}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.RollbackWarningMessage">
            <summary>Rolling back changes for project '{0}' due to unsuccessful test generation</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatRollbackWarningMessage(System.Object)">
            <summary>Rolling back changes for project '{0}' due to unsuccessful test generation</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.RollbackCrashWarningMessage">
            <summary>Rolling back to last known good state due to unexpected termination</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CleanStateSummaryHeader">
            <summary>Clean State Summary:</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.TestProjectProvidedAsInput">
            <summary>The project '{0}' provided as input was detected to be a unit test project - so skipping tests generation for this project. Please specify a source code project instead.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatTestProjectProvidedAsInput(System.Object)">
            <summary>The project '{0}' provided as input was detected to be a unit test project - so skipping tests generation for this project. Please specify a source code project instead.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.NonTestableProjectProvidedAsInput">
            <summary>The project '{0}' provided as input was detected to be a non-testable project (e.g., benchmark) - so skipping tests generation for this project. Please specify a source code project instead.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatNonTestableProjectProvidedAsInput(System.Object)">
            <summary>The project '{0}' provided as input was detected to be a non-testable project (e.g., benchmark) - so skipping tests generation for this project. Please specify a source code project instead.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.SuccesfullyBuiltProject">
            <summary>Built project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatSuccesfullyBuiltProject(System.Object)">
            <summary>Built project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FailedBuidProject">
            <summary>Failed to build project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFailedBuidProject(System.Object)">
            <summary>Failed to build project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.SkippingFileNoTestableMember">
            <summary>Skipping file '{0}' - no testable members found</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatSkippingFileNoTestableMember(System.Object)">
            <summary>Skipping file '{0}' - no testable members found</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.SkippingProjectNoTestableMember">
            <summary>Skipping project '{0}' - no testable types (classes, structs, or records) found in specified source files</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatSkippingProjectNoTestableMember(System.Object)">
            <summary>Skipping project '{0}' - no testable types (classes, structs, or records) found in specified source files</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.SkippingAutoGeneratedFile">
            <summary>Skipping auto-generated file '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatSkippingAutoGeneratedFile(System.Object)">
            <summary>Skipping auto-generated file '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.RemovingTestCannotBeFixed">
            <summary>Removing test '{0}' from file '{1}' as it could not be fixed.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatRemovingTestCannotBeFixed(System.Object,System.Object)">
            <summary>Removing test '{0}' from file '{1}' as it could not be fixed.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CommentingOutTestCannotBeFixed">
            <summary>Commenting out test '{0}' in file '{1}' as it could not be fixed</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCommentingOutTestCannotBeFixed(System.Object,System.Object)">
            <summary>Commenting out test '{0}' in file '{1}' as it could not be fixed</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.RemovingTestInSkipMode">
            <summary>Removing failing test '{0}' from file '{1}' (skip mode)</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatRemovingTestInSkipMode(System.Object,System.Object)">
            <summary>Removing failing test '{0}' from file '{1}' (skip mode)</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CommentingOutTestInSkipMode">
            <summary>Commenting out failing test '{0}' in file '{1}' (skip mode)</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCommentingOutTestInSkipMode(System.Object,System.Object)">
            <summary>Commenting out failing test '{0}' in file '{1}' (skip mode)</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CollectingInitialCoverage">
            <summary>Collecting initial coverage for test project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCollectingInitialCoverage(System.Object)">
            <summary>Collecting initial coverage for test project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CollectedInitialCoverageResult">
            <summary>Collected initial coverage for test project '{0}'</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCollectedInitialCoverageResult(System.Object)">
            <summary>Collected initial coverage for test project '{0}'</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AttemptToGetMSBuildProperty">
            <summary>Attempt to get value of MSBuild property '{0}', while this was not in set of properties to query ({1})</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatAttemptToGetMSBuildProperty(System.Object,System.Object)">
            <summary>Attempt to get value of MSBuild property '{0}', while this was not in set of properties to query ({1})</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.AttemptToResolveNonconflictingVersion">
            <summary>Attempt to resolve nonconflicting version for '{0}' '{1}' (prerelease: {2}).</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatAttemptToResolveNonconflictingVersion(System.Object,System.Object,System.Object)">
            <summary>Attempt to resolve nonconflicting version for '{0}' '{1}' (prerelease: {2}).</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CannotResolveVersionCloseVersionNotFound">
            <summary>Cannot resolve nonconflicting version for '{0}' '{1}' - close version not found in the feed.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCannotResolveVersionCloseVersionNotFound(System.Object,System.Object)">
            <summary>Cannot resolve nonconflicting version for '{0}' '{1}' - close version not found in the feed.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CannotResolveVersionFallingBack">
            <summary>Cannot resolve nonconflicting version for '{0}' '{1}' via a simplified faster search (Reason: {2}). Hence falling back to comprehensive deep search.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCannotResolveVersionFallingBack(System.Object,System.Object,System.Object)">
            <summary>Cannot resolve nonconflicting version for '{0}' '{1}' via a simplified faster search (Reason: {2}). Hence falling back to comprehensive deep search.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.InitializeAsyncNotCalled">
            <summary>InitializeAsync wasn't called</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.ProjectPathMustBeFullyQualified">
            <summary>ProjectPath path must be fully qualified.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.UnsupportedDependencyMatch">
            <summary>Unsupported dependency match: {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatUnsupportedDependencyMatch(System.Object)">
            <summary>Unsupported dependency match: {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.UnsupportedTargetFrameworkVersion">
            <summary>Unsupported TargetFrameworkVersion '{0}' in project '{1}', using fallback version net481</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatUnsupportedTargetFrameworkVersion(System.Object,System.Object)">
            <summary>Unsupported TargetFrameworkVersion '{0}' in project '{1}', using fallback version net481</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.InitialCoverage_BuildFailed">
            <summary>Initial run of tests before agent changes hasn't succeeded - the build failed.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.InitialCoverage_NoResults">
            <summary>Initial run of tests before agent changes hasn't produced any results.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.InitialCoverage_FailingTests">
            <summary>Initial run of tests before agent changes had failing/skipped tests ({0} failing and {1} skipped out of {2} total tests). This is not problem for the agent, but it shows possible problems in preexisting tests - from which agent is taking inspirations.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatInitialCoverage_FailingTests(System.Object,System.Object,System.Object)">
            <summary>Initial run of tests before agent changes had failing/skipped tests ({0} failing and {1} skipped out of {2} total tests). This is not problem for the agent, but it shows possible problems in preexisting tests - from which agent is taking inspirations.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.InitialCoverage_Error">
            <summary>Could not collect initial coverage. Error code: '{0}'.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatInitialCoverage_Error(System.Object)">
            <summary>Could not collect initial coverage. Error code: '{0}'.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.InitializationFailed_GitDiffComputationFailed">
            <summary>Failed to compute git diff changes. Ensure the repository is accessible and has a valid git history.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.InitializationFailed_NoChangesDetected">
            <summary>No code changes detected in the git diff. There are no methods or types to generate tests for.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.InitializationFailed_NoCodeFilesChanged">
            <summary>No code files changed in the git diff. Only non-code files were modified.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.ComputingGitDiffChanges">
            <summary>Processing changes from Git history</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CoverageServiceNotAvailable">
            <summary>Coverage providing service is not available - cannot proceed with targeting specific coverage value.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FreePromptError_Failed">
            <summary>Free prompt analysis failed:</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FreePromptError_UnclearIntent">
            <summary>I'm not confident enough to understand the test {0} (confidence: {1:F2}). Reason: {2}. Please be more specific about your requirements.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFreePromptError_UnclearIntent(System.Object,System.Object)">
            <summary>I'm not confident enough to understand the test {0} (confidence: {1:F2}). Reason: {2}. Please be more specific about your requirements.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FreePromptError_InternalError">
            <summary>An internal error occurred while analyzing your prompt: {0}</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFreePromptError_InternalError(System.Object)">
            <summary>An internal error occurred while analyzing your prompt: {0}</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FreePromptError_TooLong">
            <summary>Prompt is too long ({0} characters). Maximum allowed is {1} characters.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFreePromptError_TooLong(System.Object,System.Object)">
            <summary>Prompt is too long ({0} characters). Maximum allowed is {1} characters.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FreePromptError_HelpNeeded">
            <summary>It appears you're asking for help or your request is unrelated to test generation. Reason: {0}. Please provide a specific testing task, such as: 'Generate tests for Calculator.cs', 'Test my uncommitted changes', or 'Fix failing tests in MyProject.Tests'.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatFreePromptError_HelpNeeded(System.Object)">
            <summary>It appears you're asking for help or your request is unrelated to test generation. Reason: {0}. Please provide a specific testing task, such as: 'Generate tests for Calculator.cs', 'Test my uncommitted changes', or 'Fix failing tests in MyProject.Tests'.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FreePrompt_Analysing">
            <summary>Analyzing free-form prompt.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.FreePrompt_Analysed">
            <summary>Analyzed free-form prompt.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.BuildSucceeded">
            <summary>Build succeeded.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.BuildFailed">
            <summary>Build failed.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CoberturaCoverageFileEmpty">
            <summary>Coverage file '{0}' is empty.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCoberturaCoverageFileEmpty(System.Object)">
            <summary>Coverage file '{0}' is empty.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.CoberturaCoverageFileInvalidFormat">
            <summary>Coverage file '{0}' does not appear to be a valid Cobertura XML format.</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatCoberturaCoverageFileInvalidFormat(System.Object)">
            <summary>Coverage file '{0}' does not appear to be a valid Cobertura XML format.</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.TestFixingTimeoutReachedDeleted">
            <summary>Test fixing timeout reached. Deleted {0} failing test(s).</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatTestFixingTimeoutReachedDeleted(System.Object)">
            <summary>Test fixing timeout reached. Deleted {0} failing test(s).</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.Core.Resources.Messages.TestFixingTimeoutReachedCommentedOut">
            <summary>Test fixing timeout reached. Commented out {0} failing test(s).</summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.Core.Resources.Messages.FormatTestFixingTimeoutReachedCommentedOut(System.Object)">
            <summary>Test fixing timeout reached. Commented out {0} failing test(s).</summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.UserPreferences.PreferencesJsonContext.Boolean">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.UserPreferences.PreferencesJsonContext.Preferences">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.UserPreferences.PreferencesJsonContext.Default">
            <summary>
            The default <see cref="T:System.Text.Json.Serialization.JsonSerializerContext" /> associated with a default <see cref="T:System.Text.Json.JsonSerializerOptions" /> instance.
            </summary>
        </member>
        <member name="P:Microsoft.Copilot.Testing.UserPreferences.PreferencesJsonContext.GeneratedSerializerOptions">
            <summary>
            The source-generated options associated with this context.
            </summary>
        </member>
        <member name="M:Microsoft.Copilot.Testing.UserPreferences.PreferencesJsonContext.#ctor">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.UserPreferences.PreferencesJsonContext.#ctor(System.Text.Json.JsonSerializerOptions)">
            <inheritdoc />
        </member>
        <member name="M:Microsoft.Copilot.Testing.UserPreferences.PreferencesJsonContext.GetTypeInfo(System.Type)">
            <inheritdoc />
        </member>
    </members>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /><DigestValue>WP9lnio3A1Slhu9SlZX+hnknJysxD2CU+b1AKZLwYl0=</DigestValue></Reference></SignedInfo><SignatureValue>JRooBi2RnRAAovoqSRrVkih4Ic6DTHDHPE5ZhLYPiIB3sheBmD3C2BJRRJ7fjCN6xBUTFljRfDtIkXX60UIWnuYiR2kVZZBjJaKX7HvenFLgCiyu5AE03r01G3H0ebnH5zzQ4hEl5v9d+jiRSHCW8DvNaQZ1eZcoNRQX92R1M1gtUSLl+x0CbRJmPFkosAoFnCs5UQlG3zxVXrymEspNxW2qos/e3QgtevDkthcFraBeye1VX2Q+i9HOGRehewGhFYcYmoZJJSDJiIiv78NOuR8yl5uE6V0eXur7otlERrQZkF475qG2AJcczdpwjX60y2K8zh2zkHMMhTGvFmSAhQ==</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>wEpIdXKb7lKn26sXpXuywkhxGplTQXxROLmNRZBrAHVBf7546RNXZwA/bzDqsuWTuPSC4T+I4j/z9j5/WqPuUw7SpnEPqWXc2xu7eN8kVyQt5170xkK6KHT4vVEkIvayPtIMLl0SgSCOy/pN5DJCi5ha7FlI84F1Qi2GumR+wQgCwHCVmU8Fj6Ik+B6akISXGCwe6X3rQFQngRFWQ/IrSkOkAOfy0EfvV+nZUo+FcbWuCZ6cb4Eq5I1ws/rZSeuwAWeedZcNt0VlNbsn4AnxBYQX4sj0dlko7JD5fWqeqq3/HzUNbBmLp9qeCXV8XlACn9YVWv900F47z04kVwpyTw==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>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</X509Certificate><X509Certificate>MIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzQ==</X509Certificate><X509Certificate>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</X509Certificate></X509Data></KeyInfo><Object Id="ts-countersig"><X509Data><X509Certificate>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</X509Certificate><X509Certificate>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</X509Certificate></X509Data><CounterSignature ts-format="cms-timestamp-message" xmlns="http://schemas.microsoft.com/xmldsig/timestamp/2003">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</CounterSignature></Object></Signature></doc>
