import { type GitCommandRunner } from './git.js'; /** * Store identity (FR-24, AD-10). * * One store per repository, addressed by a hash of the absolute realpath of * `git rev-parse --git-common-dir`. Every worktree of a repository resolves to * the same store — worktree partitioning is already handled inside the store by * `scope_key`, not by file layout — while two clones resolve to two stores. * * The realpath is not decoration. Measured on win32: `path.resolve` preserves * `c:\repo` as typed while the canonical path is `C:\repo`, and it resolves a * junction to the link rather than its target. Either one splits a single * repository across two stores, silently, with memory divided between them. */ /** Hex characters kept from the sha256. Matches `hookTemplateDigest`. */ export declare const STORE_ID_LENGTH = 16; /** Directory under the user's home when `CORTEX_HOME` is unset. */ export declare const DEFAULT_HOME_DIR_NAME = ".cortex"; /** Store filename inside its per-project directory. */ export declare const STORE_FILENAME = "cortex.db"; /** The pre-relocation filename, still read for migration and still ignored by git. */ export declare const LEGACY_STORE_FILENAME = ".cortex.db"; export interface StoreIdentity { /** Hash of the absolute realpath of the git common dir, or of cwd when degraded. */ storeId: string; /** `/projects/