# VerifyGroundednessCommand - File ID: file:2eckht:verifygroundednesscommand-cs - Path: NexusReader.Application/Commands/AI/VerifyGroundednessCommand.cs - Role: handler - Layer: application ## Purpose Defines a MediatR command and its handler that delegates verification of an answer's groundedness to the application's IKnowledgeService. ## Key Details This file is a thin MediatR command handler that forwards the request to IKnowledgeService.VerifyGroundednessAsync without additional logic or validation. GroundednessResult is returned inside a FluentResults.Result wrapper. ## Symbols - VerifyGroundednessCommandHandler: Defines a MediatR command and its handler that delegates verification of an answer's groundedness to the application's IKnowledgeService. - VerifyGroundednessCommandHandler(): Constructor that receives and stores the IKnowledgeService dependency via DI. - Handle(): Handles the VerifyGroundednessCommand by calling the knowledge service to verify groundedness and returning the service result. - VerifyGroundednessCommand: Command DTO carrying an answer, context, and tenant id to be verified for groundedness. ## Dependencies - No resolved dependencies. ## Calls - No resolved calls. ## Unresolved References - dependency-target: NexusReader.Application.Abstractions.Services (IKnowledgeService) - dependency-target: FluentResults (Result<>) - dependency-target: MediatR (IRequestHandler/IRequest) - call-target: unknown - interaction-target: await _knowledgeService.VerifyGroundednessAsync(...) and return its Result ## Coverage - Symbols: 4 - Executable symbols: 2 - Executable symbols with control flow: 2 - Grounded edges: 4 - Unresolved references: 5 - Control-flow fragments: 2 - Unresolved jumps: 1 - Unsupported constructs: 0 - Control-flow coverage: 100% - Required diagrams: 2 - Generated diagrams: 3 ## Control Flow Fragments - VerifyGroundednessCommandHandler: 3 nodes, 2 edges, 0 jumps, 0 unsupported constructs - Handle: 7 nodes, 6 edges, 1 jumps, 0 unsupported constructs ## Diagrams ### VerifyGroundednessCommand Neighborhood ```mermaid flowchart LR class_109ebx2_verifygroundednesscommandhandler("VerifyGroundednessCommandHandler") file_2eckht_verifygroundednesscommand_cs("VerifyGroundednessCommand") method_10jkor8_verifygroundednesscommandhandler[["VerifyGroundednessCommandHandler()"]] method_1fl6nt2_handle[["Handle()"]] type_6i8iop_verifygroundednesscommand[/"VerifyGroundednessCommand"/] ``` ### VerifyGroundednessCommand Execution Overview ```mermaid flowchart TD class_109ebx2_verifygroundednesscommandhandler("VerifyGroundednessCommandHandler") method_10jkor8_verifygroundednesscommandhandler[["VerifyGroundednessCommandHandler()"]] method_1fl6nt2_handle[["Handle()"]] unresolved_unresolved_1d98nmq_interaction_target{"Unresolved: await _knowledgeService.VerifyGroundednessAsync(...) and return its Result"} unresolved_unresolved_1x6qoip_call_target{"Unresolved: VerifyGroundednessAsync"} class_109ebx2_verifygroundednesscommandhandler -->|contains| method_10jkor8_verifygroundednesscommandhandler class_109ebx2_verifygroundednesscommandhandler -->|contains| method_1fl6nt2_handle class_109ebx2_verifygroundednesscommandhandler -->|unresolved interaction| unresolved_unresolved_1d98nmq_interaction_target method_1fl6nt2_handle -->|unresolved call| unresolved_unresolved_1x6qoip_call_target ``` ### Handle() Control Flow ```mermaid flowchart TD method_1fl6nt2_handle__call_20_VerifyGroundednessAsync[["VerifyGroundednessAsync"]] method_1fl6nt2_handle__action_20_async_return_20__linear("Return result from external service") method_1fl6nt2_handle__action_20_handle_await_20_0__await[["Waits for async work"]] method_1fl6nt2_handle__entry(["Handle entry"]) method_1fl6nt2_handle__action_20_external_call_20__linear("Delegate groundedness verification to knowledge service") method_1fl6nt2_handle__action_20_handle_return_20_1__return(["Returns result"]) method_1fl6nt2_handle__implicit_return(["return"]) method_1fl6nt2_handle__action_20_async_return_20__linear -->|next| method_1fl6nt2_handle__action_20_external_call_20__linear method_1fl6nt2_handle__action_20_external_call_20__linear -->|request.Answer, request.Context, request.TenantId, cancellationToken| method_1fl6nt2_handle__call_20_VerifyGroundednessAsync method_1fl6nt2_handle__action_20_handle_await_20_0__await -->|return| method_1fl6nt2_handle__action_20_handle_return_20_1__return method_1fl6nt2_handle__action_20_handle_return_20_1__return -->|next| method_1fl6nt2_handle__action_20_async_return_20__linear method_1fl6nt2_handle__call_20_VerifyGroundednessAsync -->|return| method_1fl6nt2_handle__implicit_return method_1fl6nt2_handle__entry -->|next| method_1fl6nt2_handle__action_20_handle_await_20_0__await ``` ## Diagram Validation - Status: warn - Warning: Control-flow extraction left 1 unresolved jumps.