23 lines
647 B
Go
23 lines
647 B
Go
package domain
|
|
|
|
import (
|
|
"fmt"
|
|
"git.cin.su/m/Assistant/contracts/capability"
|
|
)
|
|
|
|
func ValidateReflexRevision(v capability.ReflexRevision) error {
|
|
if v.ReflexID == "" || v.SourceSkillRevision < 1 || v.Kind == "" || v.ImplementationRef == "" || v.Lifecycle == "" || v.RecordedAt < 1 {
|
|
return fmt.Errorf("invalid reflex revision")
|
|
}
|
|
if v.Lifecycle == capability.ReflexActive && len(v.ValidationEvidenceRefs) == 0 {
|
|
return fmt.Errorf("active reflex requires evidence")
|
|
}
|
|
return nil
|
|
}
|
|
func ReflexFallback(d capability.FastPathDecision) string {
|
|
if d.Decision == capability.FastPathApplied {
|
|
return "reflex"
|
|
}
|
|
return "skill->reasoning"
|
|
}
|