Files
Nexus.Reader/src/.documentation/published/v5/files/NexusReader.Application/Commands/AI/VerifyGroundednessCommand.md
T
2026-05-25 14:02:56 +02:00

4.9 KiB

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

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

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<GroundednessResult>"}
    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

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.