Add version two LLM reports and safe execution diagnostics

This commit is contained in:
2026-09-24 02:31:37 +00:00
parent 4bfc5f3456
commit 9561e80efb
16 changed files with 428 additions and 40 deletions

View File

@@ -0,0 +1,58 @@
package reporting
// TokenMetric distinguishes measured zero from unavailable provider usage.
type TokenMetric struct {
Value int `json:"value"`
Known bool `json:"known"`
Complete bool `json:"complete"`
}
type LLMUsage struct {
Prompt TokenMetric `json:"prompt"`
Completion TokenMetric `json:"completion"`
Total TokenMetric `json:"total"`
Cached TokenMetric `json:"cached"`
CacheWrite TokenMetric `json:"cache_write"`
}
type LLMSummary struct {
LogicalCalls uint64 `json:"logical_calls"`
ProviderAttempts uint64 `json:"provider_attempts"`
TransientRetries uint64 `json:"transient_retries"`
StructuralRepairs uint64 `json:"structural_repairs"`
Usage LLMUsage `json:"usage"`
}
type BackendUtilization struct {
Concurrency int `json:"concurrency"`
QueueCapacity int `json:"queue_capacity"`
LLMSummary
CapacityWaitMS int64 `json:"capacity_wait_ms"`
GenerationMS int64 `json:"generation_ms"`
RetryDelayMS int64 `json:"retry_delay_ms"`
LogicalWallMS int64 `json:"logical_wall_ms"`
}
type UtilizationDiagnostics struct {
Backends map[string]BackendUtilization `json:"backends"`
RunWallTimeMS int64 `json:"run_wall_time_ms"`
Modules []ModuleUtilization `json:"modules,omitempty"`
Validators []ValidatorUtilization `json:"validators,omitempty"`
}
type ModuleUtilization struct {
ModuleKey string `json:"module_key"`
ModuleInstance string `json:"module_instance"`
ProposalLLMCalls uint64 `json:"proposal_llm_calls"`
ValidationLLMCalls uint64 `json:"validation_llm_calls"`
ModuleWallTimeMS int64 `json:"module_wall_time_ms"`
}
type ValidatorUtilization struct {
ModuleKey string `json:"module_key"`
ModuleInstance string `json:"module_instance"`
ValidatorKey string `json:"validator_key"`
LLMBacked bool `json:"llm_backed"`
Calls int `json:"calls"`
ElapsedMS int64 `json:"elapsed_ms"`
}

View File

@@ -30,13 +30,14 @@ type ProcessReport struct {
NormalizationSkipped NormalizationSkipped `json:"normalization_skipped,omitempty"`
Chunking *ChunkingSummary `json:"chunking,omitempty"`
Diagnostics *DiagnosticsMetadata `json:"diagnostics,omitempty"`
LLMSummary *LLMSummary `json:"llm_summary,omitempty"`
ModulesSummary *ModulesSummary `json:"modules_summary,omitempty"`
ModuleResults []ModuleReport `json:"module_results,omitempty"`
}
const (
DefaultProcessReportSchemaName = "audita-process-report"
DefaultProcessReportSchemaVersion = "v1"
DefaultProcessReportSchemaVersion = "v2"
)
type ReportMetadata struct {
@@ -98,6 +99,8 @@ type DiagnosticsMetadata struct {
NormalizationSummaryPath string `json:"normalization_summary_path,omitempty"`
ChunkingSummaryPath string `json:"chunking_summary_path,omitempty"`
UtilizationSummaryPath string `json:"utilization_summary_path,omitempty"`
LLMExecutionPath string `json:"llm_execution_path,omitempty"`
SelectedProfilesPath string `json:"selected_profiles_path,omitempty"`
CorrectionLedgerPath string `json:"correction_ledger_path,omitempty"`
InvocationMetadataPath string `json:"invocation_metadata_path,omitempty"`
RedactedEffectiveConfigPath string `json:"redacted_effective_config_path,omitempty"`