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 SaveCognitiveUsageObservation(context.Context, capability.CognitiveUsageObservation) error SaveCognitiveDiscovery(context.Context, capability.CognitiveDiscoveryRegistration) error SaveEvaluatedCapability(context.Context, capability.EvaluatedCapability) error SavePerformanceEvidence(context.Context, capability.PerformanceEvidence) error }