Documentation
¶
Overview ¶
Package combine provides functionality for combining multiple evaluations into a single report, with DAG-based ordering.
Index ¶
- func AggregateResults(results []AgentResult, project, version, phase string) *summary.SummaryReport
- func AggregateWithDAG(results []AgentResult, dag []TeamDependency, project, version, phase string) *summary.SummaryReport
- func SortByDAG(teams []summary.TeamSection) []summary.TeamSection
- func SortReportByDAG(report *summary.SummaryReport)
- type AgentResult
- type TeamDependency
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AggregateResults ¶
func AggregateResults(results []AgentResult, project, version, phase string) *summary.SummaryReport
AggregateResults combines multiple agent results into a summary report.
func AggregateWithDAG ¶
func AggregateWithDAG(results []AgentResult, dag []TeamDependency, project, version, phase string) *summary.SummaryReport
AggregateWithDAG combines results and sorts by DAG order.
func SortByDAG ¶
func SortByDAG(teams []summary.TeamSection) []summary.TeamSection
SortByDAG sorts teams in topological order based on their dependencies. Uses Kahn's algorithm. Teams at the same level are sorted alphabetically for deterministic output.
func SortReportByDAG ¶
func SortReportByDAG(report *summary.SummaryReport)
SortReportByDAG sorts the teams in a summary report by DAG order.
Types ¶
type AgentResult ¶
type AgentResult struct {
// Schema is the JSON Schema URL.
Schema string `json:"$schema,omitempty"`
// AgentID identifies the agent.
AgentID string `json:"agent_id"`
// StepID is the workflow step this agent executed.
StepID string `json:"step_id"`
// Inputs provided to the agent.
Inputs map[string]any `json:"inputs,omitempty"`
// Outputs produced by the agent.
Outputs map[string]any `json:"outputs,omitempty"`
// Tasks are the individual task results.
Tasks []summary.TaskResult `json:"tasks"`
// Status is the overall status.
Status summary.Status `json:"status"`
// ExecutedAt is when the agent ran.
ExecutedAt time.Time `json:"executed_at"`
// AgentModel is the LLM model used.
AgentModel string `json:"agent_model,omitempty"`
// Duration is the execution time.
Duration string `json:"duration,omitempty"`
// Error contains any error message.
Error string `json:"error,omitempty"`
}
AgentResult represents the output from a single agent execution. This is the intermediate format agents produce before aggregation.
func (*AgentResult) ComputeStatus ¶
func (a *AgentResult) ComputeStatus() summary.Status
ComputeStatus calculates the status from tasks.
func (*AgentResult) ToTeamSection ¶
func (a *AgentResult) ToTeamSection() summary.TeamSection
ToTeamSection converts an AgentResult to a TeamSection.
type TeamDependency ¶
TeamDependency defines dependencies for a team in the DAG.