33 lines
899 B
Go
33 lines
899 B
Go
package work
|
|
|
|
type PerspectiveID string
|
|
type PerspectiveSpec struct {
|
|
ID PerspectiveID
|
|
ObjectiveLens string
|
|
FocusRef string
|
|
RetrievalProfileRef string
|
|
SkillRefs []string
|
|
ToolRefs []string
|
|
EvaluationCriteria []string
|
|
CapabilityRequirements []string
|
|
ExpectedOutputShape string
|
|
Critic bool
|
|
}
|
|
type SpecialistAssignment struct {
|
|
Perspective PerspectiveSpec
|
|
SubtaskRef string
|
|
FocusRef string
|
|
SkillRefs []string
|
|
ToolRefs []string
|
|
EvidenceRefs []EvidenceRef
|
|
}
|
|
type TeamDecision struct {
|
|
UseTeam bool
|
|
Reason string
|
|
Assignments []SpecialistAssignment
|
|
}
|
|
|
|
func (p PerspectiveSpec) Valid() bool {
|
|
return p.ID != "" && p.ObjectiveLens != "" && p.FocusRef != "" && len(p.SkillRefs) > 0 && len(p.ToolRefs) > 0 && len(p.EvaluationCriteria) > 0 && p.ExpectedOutputShape != ""
|
|
}
|