This commit is contained in:
2026-05-25 14:02:56 +02:00
parent 29bd42e52e
commit 758b152a0c
1798 changed files with 1991205 additions and 481068 deletions
@@ -0,0 +1,108 @@
# 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<GroundednessResult>
## 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<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
```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.