/** * Curation Service Interface. * * Defines the contract for curating memory facts — marking them as * authoritative, draft, deprecated, or needing review. Also provides * quality scoring to rank facts by reliability. * * Part of Phase 5C: Curation & Compaction. */ import type { IMemoryItem } from './types'; /** * Curation mark for a memory fact. */ export type CurationMark = 'authoritative' | 'draft' | 'deprecated' | 'needs-review'; /** * All valid curation marks. */ export declare const CURATION_MARK_VALUES: readonly CurationMark[]; /** * Check if a string is a valid CurationMark. * * @param value - The string to check * @returns true if valid curation mark */ export declare function isValidCurationMark(value: string): value is CurationMark; /** * Resolve a curation mark to its corresponding tag string. * * @param mark - The curation mark * @returns Tag string, e.g. 'curated:authoritative' */ export declare function resolveCurationTag(mark: CurationMark): string; /** * Parse the curation mark from a tag array. * Looks for tags matching 'curated:'. * * @param tags - Array of tags to search * @returns The curation mark found, or null if none present */ export declare function parseCurationTag(tags: readonly string[]): CurationMark | null; /** * Curation service interface. * * Provides operations for curating facts (marking quality) * and computing quality scores for ranking. * * Note: Group IDs are no longer used - the git repo provides scoping via git-mem. */ export interface ICurationService { /** * Mark a fact with a curation status. * * Side effects by mark: * - `deprecated`: Also expires the fact * - `authoritative`: Promotes confidence to `verified` * * @param uuid - UUID of the fact to mark * @param mark - The curation mark to apply */ markFact(uuid: string, mark: CurationMark): Promise; /** * Compute a quality score for a memory item. * * Formula: confidenceScore × sourceWeight × recencyBonus * - confidenceScore: from CONFIDENCE_SCORES (0.1–1.0) * - sourceWeight: varies by source type (0.3–1.0) * - recencyBonus: 1.0 for <7 days, decays linearly to 0.5 at 90 days * * @param item - The memory item to score * @returns Quality score between 0.0 and 1.0 */ computeQualityScore(item: IMemoryItem): number; /** * Sort memory items by quality score descending. * Returns a new sorted array (immutable). * * @param items - Items to rank * @returns New array sorted by quality score descending */ rankByQuality(items: readonly IMemoryItem[]): readonly IMemoryItem[]; } //# sourceMappingURL=ICurationService.d.ts.map