trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
35 lines • 1.4 kB
TypeScript
/**
* Lane coherence / domain-spread signal (TRL-117 AC5).
*
* Reuses Idea Garden context-switch affinity (directory overlap) applied live
* to a single lane journal. When spread > 1 domain, suggest `lane split`.
*/
import type { LaneMeta } from './lane.js';
import type { VcsOp } from './types.js';
export interface LaneDomain {
/** Stable label for display (dir affinity, issue, or lane name). */
label: string;
/** Files in this affinity group. */
files: string[];
/** How the domain was derived. */
source: 'affinity' | 'issue' | 'name' | 'intent';
}
export interface LaneCoherence {
domainCount: number;
domains: LaneDomain[];
repoCount: number;
repos: string[];
/** True when more than one domain affinity group is present. */
suggestSplit: boolean;
reason?: string;
}
/** Partition consecutive file ops into directory-affinity groups (Garden heuristic). */
export declare function partitionFileOpsByAffinity(ops: VcsOp[]): VcsOp[][];
/** Infer repo roots touched by relative / absolute / parent paths. */
export declare function inferReposFromPaths(filePaths: string[]): string[];
/**
* Live coherence report for one lane.
* Domain spread > 1 → suggest `trellis lane split`.
*/
export declare function analyzeLaneCoherence(meta: LaneMeta, ops: VcsOp[], filePaths: string[]): LaneCoherence;
//# sourceMappingURL=lane-coherence.d.ts.map