signal

package
v0.7.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PersistEvalSignals

func PersistEvalSignals(db *sql.DB, engine string, evals []EvalSignal) (int, error)

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

type Kind

type Kind string
const (
	KindRewardFeature Kind = "reward_feature"
	KindPenalty       Kind = "penalty"
	KindDatasetLabel  Kind = "dataset_label"
	KindQualitySignal Kind = "quality_signal"
)

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

func NewRegistry

func NewRegistry() Registry

func (Registry) Register

func (r Registry) Register(name string, evaluator Evaluator)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL