Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PersistEvalSignals ¶
PersistEvalSignals lands evaluator output on the unified, graph-attached signal model (the infra contract) under the Quality dimension. Previously quality lived only as a Python/JSONL EvalReport with no Go-side table; this makes quality a first-class citizen of the same `signals` store that security and cost use, keyed to the same causality graph.
Each signal is idempotent on (source_table, source_id) so re-importing the same evaluator output does not duplicate rows. Returns how many new rows were recorded.
Types ¶
type BatchImportReport ¶
type BatchImportReport struct {
SchemaVersion string `json:"schema_version"`
Engine string `json:"engine"`
ReportCount int `json:"report_count"`
RunCount int `json:"run_count"`
SignalCount int `json:"signal_count"`
Failed int `json:"failed"`
ResultSetID string `json:"result_set_id"`
PageHash string `json:"page_hash"`
Runs []EvalReport `json:"runs"`
Errors []string `json:"errors,omitempty"`
}
func ImportBatchReports ¶
func ImportBatchReports(engine string, reports []EvalReport) (BatchImportReport, error)
type Context ¶
type Context struct {
DB *sql.DB
RunID string
Trajectories provenance.TrajectoryManifest
Risks []security.RiskSignalRecord
Responses []security.ResponseActionRecord
}
type EvalContext ¶
type EvalContext struct {
SchemaVersion string `json:"schema_version"`
RunID string `json:"run_id"`
Trajectories provenance.TrajectoryManifest `json:"trajectories"`
Risks []security.RiskSignalRecord `json:"risks"`
Responses []security.ResponseActionRecord `json:"responses"`
RuntimeEvents []provenance.ReplayEvent `json:"runtime_events"`
FileChanges []provenance.TrajectoryFileChange `json:"file_changes"`
}
func BuildEvalContext ¶
func BuildEvalContext(db *sql.DB, runID string) (EvalContext, error)
type EvalReport ¶
type EvalReport struct {
SchemaVersion string `json:"schema_version"`
RunID string `json:"run_id"`
Engine string `json:"engine"`
DecisionOwner string `json:"decision_owner"`
SignalCount int `json:"signal_count"`
ResultSetID string `json:"result_set_id"`
PageHash string `json:"page_hash"`
Signals []EvalSignal `json:"signals"`
}
func BuildBuiltinReportFromContext ¶
func BuildBuiltinReportFromContext(evalCtx EvalContext) (EvalReport, error)
func BuildRunReport ¶
func BuildRunReport(db *sql.DB, runID string) (EvalReport, error)
func ImportSignals ¶
func ImportSignals(runID, engine string, signals []EvalSignal) (EvalReport, error)
func RunExternal ¶
func RunExternal(command string, evalCtx EvalContext) (EvalReport, error)
type EvalSignal ¶
type EvalSignal struct {
ID string `json:"id"`
Name string `json:"name"`
Kind Kind `json:"kind"`
RunID string `json:"run_id"`
AttemptID string `json:"attempt_id,omitempty"`
ToolCallID string `json:"tool_call_id,omitempty"`
Score float64 `json:"score"`
Label string `json:"label,omitempty"`
Reason string `json:"reason"`
Evidence map[string]any `json:"evidence,omitempty"`
}
type Evaluator ¶
type Evaluator func(Context) ([]EvalSignal, error)
type ExternalEvalOutput ¶
type ExternalEvalOutput struct {
Signals []EvalSignal `json:"signals"`
}
Click to show internal directories.
Click to hide internal directories.