/** * Semantic relationship discovery for CLEO tasks. * Discovers related tasks via shared labels, description keywords, files, and hierarchy. * Ported from lib/tasks/graph-rag.sh * * @epic T4454 * @task T4529 */ import type { Task } from '@cleocode/contracts'; import type { RelatesType } from './crossref-extract.js'; /** Discovery method. */ export type DiscoveryMethod = 'labels' | 'description' | 'files' | 'hierarchy' | 'auto'; /** A single discovery match. */ export interface DiscoveryMatch { taskId: string; type: RelatesType; reason: string; score: number; _hierarchyBoost?: number; _relationship?: string; } /** * Discover related tasks by shared labels. */ export declare function discoverByLabels(taskId: string, tasks: Task[]): DiscoveryMatch[]; /** * Discover related tasks by description similarity (keyword-based Jaccard). */ export declare function discoverByDescription(taskId: string, tasks: Task[]): DiscoveryMatch[]; /** * Discover related tasks by shared files. */ export declare function discoverByFiles(taskId: string, tasks: Task[]): DiscoveryMatch[]; /** * Discover related tasks by hierarchical proximity (siblings and cousins). */ export declare function discoverByHierarchy(taskId: string, tasks: Task[], options?: { siblingBoost?: number; cousinBoost?: number; }): DiscoveryMatch[]; /** * Discover related tasks using all methods combined. */ export declare function discoverRelatedTasks(taskId: string, tasks: Task[], method?: DiscoveryMethod): DiscoveryMatch[]; /** * Suggest relates entries filtered by threshold. */ export declare function suggestRelates(taskId: string, tasks: Task[], threshold?: number): DiscoveryMatch[]; //# sourceMappingURL=graph-rag.d.ts.map