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