/** * Reading the knowledge graph from the proxy, without making the proxy depend * on it. * * WHY THIS IS A SEPARATE FILE AND NOT AN IMPORT. `hooks-core` is plain ESM * resolved by path at call time -- the runtime directory it lives in can be * replaced under a running process, which is a failure this package has * already had (`Cannot find module .../hooks-core/wiki.mjs` from every wiki * call for the rest of a session's life). The compression engines are * synchronous pure functions and must not acquire a filesystem dependency, so * the graph is read HERE, once, and handed to the strategy as plain data. * * FAIL SILENT, NOT FAIL LOUD. Every branch that cannot read the graph returns * an empty list. The knowledge block is an optimisation on top of a working * proxy: a project with no graph, a pruned runtime, a permissions error and a * corrupt line all mean the same thing here -- no findings this session, carry * on compressing. */ import type { Finding } from '../compress/knowledge.js'; /** * Findings plus whether the graph they came from is shared across projects. * * The flag travels WITH the findings because it qualifies them: on a shared * graph a `project` claim is a fact about some tree, and nothing downstream can * say which. Returning the two separately invites a caller to use one without * the other, which is how `scope` came to be dropped here in the first place. */ export interface LoadedFindings { readonly findings: Finding[]; readonly sharedGraph: boolean; } export declare function loadFindings(root: string): Promise; /** * Loads active findings for one project. * * Called at proxy startup and then again on a throttled background refresh -- * never on the request path, which is synchronous. A block that changes * mid-conversation cannot sit in a cached prefix, so the refresh does not * serve the conversation it runs during; it serves the next one, which is what * makes a finding written today reach tomorrow without a restart. */ export declare function loadFindingsFrom(root: string): Promise; //# sourceMappingURL=findings.d.ts.map