package ports import ( "context" "git.cin.su/m/Assistant/contracts/capability" "git.cin.su/m/Assistant/contracts/identity" ) type Repository interface { SaveHealth(context.Context, capability.Health) error LoadHealth(context.Context, capability.CapabilityID) (capability.Health, error) RebuildHealthProjection(context.Context) (int64, error) SaveBinding(context.Context, capability.Binding) error LoadBinding(context.Context, capability.CapabilityBindingID, int64) (capability.Binding, error) LoadActiveBinding(context.Context, capability.CapabilityID, identity.PrincipalID) (capability.Binding, error) SaveProviderInstance(context.Context, capability.ProviderInstance) error SaveModelDescriptor(context.Context, capability.ModelDescriptor) error SaveCognitiveBinding(context.Context, capability.CognitiveBinding) error LoadCognitiveCandidates(context.Context, capability.CapabilityID, identity.PrincipalID) ([]capability.ResolvedCognitiveBinding, error) LoadCognitiveCandidate(context.Context, capability.CapabilityBindingID, int64) (capability.ResolvedCognitiveBinding, error) SaveCognitiveCanaryPromotion(context.Context, capability.CognitiveCanaryPromotion) error SaveCognitiveActivationPromotion(context.Context, capability.CognitiveActivationPromotion) error SaveCognitiveUsageObservation(context.Context, capability.CognitiveUsageObservation) error SaveCognitiveDiscovery(context.Context, capability.CognitiveDiscoveryRegistration) error SaveEvaluatedCapability(context.Context, capability.EvaluatedCapability) error SavePerformanceEvidence(context.Context, capability.PerformanceEvidence) error }