@blundergoat/goat-flow
Version:
AI coding agent harness and local dashboard for Claude Code, OpenAI Codex, Google Antigravity, and GitHub Copilot - setup audits, guardrails, structured skills, deny hooks, and persistent learning loops.
25 lines • 1.15 kB
TypeScript
import { type IndexBucket } from "../learning-loop-index/parse-bucket.js";
import type { ReadonlyFS } from "../types.js";
/**
* Freshness verdict for one bucket index: `fresh` (on-disk matches regeneration), `stale`
* (content drift - blocking), `missing` (bucket exists, INDEX.md absent - advisory), or
* `no-bucket` (directory absent - skipped entirely).
*/
type IndexFreshnessState = "fresh" | "stale" | "missing" | "no-bucket";
/** One bucket's index-freshness result consumed by `checkStats` and the stats renderers. */
export interface IndexFreshness {
bucket: IndexBucket;
dirPath: string;
indexPath: string;
state: IndexFreshnessState;
}
/**
* Compute index freshness for all four learning-loop buckets.
*
* @param fs - read-only filesystem adapter rooted at the target project
* @param paths - bucket-keyed directory paths, normally from `resolveIndexBucketPaths`
* @returns one freshness record per bucket in stable INDEX_BUCKETS order
*/
export declare function collectIndexFreshness(fs: ReadonlyFS, paths: Record<IndexBucket, string>): IndexFreshness[];
export {};
//# sourceMappingURL=index-freshness.d.ts.map