/** * PRI-917 Slice 1 โ€” read-only reuse retrieval over the existing Principle * Ledger. * * Reuses `loadLedger` (the single ledger authority) and the existing * principle-kind guard. Creates no repository, no database, no index, no * vector store, and no embedding service. It never writes: `derivedFromPainIds`, * the ledger schema, and `activation_decisions` are all untouched. * * @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2) */ import type { ReuseCandidateInput, ReusablePrinciple, ReuseShortlist, ReuseShortlistOptions } from './reuse-domain.js'; /** * Statuses a Principle may be reused into (SPEC ยง15). * * `active` and `candidate`/`probation` are included because that is where real * reusable knowledge lives โ€” excluding `candidate` would leave almost nothing, * as the live ledger is overwhelmingly `candidate`. `archived` and `deprecated` * are excluded: reusing into a retired Principle would revive withdrawn * knowledge. Any unrecognised status is excluded fail-closed. */ export declare const REUSABLE_PRINCIPLE_STATUSES: ReadonlySet; export declare function isReusablePrincipleStatus(status: unknown): boolean; export declare function readReusablePrinciples(stateDir: string): ReusablePrinciple[]; /** * Build the reuse shortlist for a candidate, from the canonical ledger. * * `recommendationKind` is checked with the SAME guard the intake write boundary * uses, so a non-principle candidate can never reach the reuse path (SPEC T6 โ€” * the #1851 refusal semantics stay exactly as they are; this only makes the * reuse path refuse them too). */ export declare function buildReuseShortlist(input: ReuseCandidateInput, stateDir: string, options?: ReuseShortlistOptions & { recommendationKind?: unknown; }): ReuseShortlist; //# sourceMappingURL=reuse-retrieval.d.ts.map