feat: F019 AI monitoring layer — output transparency & governance workspace

Full 2-panel workspace at /ops/ai-monitoring: metrics strip (total, failed,
pending, approval rate, top prompt version, active model), filterable output
table by type/status/error, and detail panel with output preview, prompt
versioning, error details, and role-aware review actions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Sutter
2026-05-17 13:11:35 +02:00
parent 5d3323617c
commit 71f4b1eeb6
16 changed files with 1164 additions and 265 deletions
+24
View File
@@ -0,0 +1,24 @@
import { MockupAIMonitoringProvider } from '../provider/MockupAIMonitoringProvider'
import type { AIMonitoringFilters } from '../provider/IAIMonitoringProvider'
import type { AIOutput } from '../domain/aiOutput'
import type { ReviewStatus } from '../domain/enums'
import type { ListResponse, ItemResponse } from './types'
const provider = MockupAIMonitoringProvider
export const aiMonitoringService = {
async getOutputs(filters?: AIMonitoringFilters): Promise<ListResponse<AIOutput>> {
const data = await provider.getOutputs(filters)
return { data, meta: { total: data.length, page: 1, pageSize: data.length, hasMore: false } }
},
async getOutput(id: string): Promise<ItemResponse<AIOutput | null>> {
const data = await provider.getOutput(id)
return { data }
},
async updateReviewStatus(id: string, status: ReviewStatus): Promise<ItemResponse<AIOutput>> {
const data = await provider.updateReviewStatus(id, status)
return { data }
},
}