type SafeExecFn = typeof import('@mmnto/totem').safeExec; interface PrGitResolution { baseSha: string; headSha: string; diff: string; } /** * Resolve a squash-merged PR's base/head/diff off the lc clone (fail-loud). * head = the squash merge commit (already a 40-hex SHA from `enumeratePrMetas`); * base = its first parent; diff = base..head. Rejects an empty diff — every * corpus PR is code-touching by construction, so an empty diff means a wrong ref * or a silent git fault, not a real no-op (fold-3 no-silent-empty). */ export declare function resolvePrGit(lcDir: string, mergeCommit: string, safeExec: SafeExecFn): PrGitResolution; export interface MaterializeOptions { lcDir?: string; manifestPath: string; /** Override the gate-1 output dir (default: dirname of the seed's canonicalPath, under the repo root). */ outDir?: string; /** Working dir the repo root + manifest path resolve from (default: `process.cwd()`; injected for tests). */ cwd?: string; } /** * Materialize the cert-run scoring corpus (the producer slice of strategy#709). * Two-phase lock: this writes the lock WITHOUT `llmReplaySha` (the producer can't * know it — `record` runs after); `freeze` stamps + seals it (panel OQ-seq). */ export declare function materializeCommand(opts: MaterializeOptions): Promise; export {}; //# sourceMappingURL=spine-cert-materialize.d.ts.map