/** * The canonical capsule path for ONE SLICE, relative to the project root. * * per SESSION (`prd/handoff.md`), so the second slice's handoff silently * overwrote the first slice's — and `AUDIT_REQUIRES_HANDOFF` stayed green * because it never checked WHOSE rid the file named. Measured on * `2026-09-13-session-21878f`: a four-slice job passed that prerequisite on a * capsule left by a different line of work. * * This is the WRITE target, so it always carries the rid — a consumer-side * which is the defect shape this slice exists to remove. Readers that must */ export declare function handoffRelativePath(sessionId: string, requestId: string): string; /** * when neither exists. * * Three sessions on disk still hold only the bare file * `2026-09-13-session-21878f`), so the legacy tier has to keep resolving for * the gate and for every reader below. * * `requestId` is optional because the detect-only audit surface reaches its * service without one. Such a caller can name only the bare path: a session * among its siblings' capsules, which would re-open the cross-slice mix-up * this scoping exists to close (fail closed, not "some capsule is there"). */ export declare function resolveHandoffPath(opts: { projectRoot: string; sessionId: string; requestId?: string; }): string | null;