Skip to main content

resolve_transcript_path

Function resolve_transcript_path 

Source
pub fn resolve_transcript_path(
    requested: &str,
    roots: &IngestRoots,
) -> Result<String, MemoryError>
Expand description

Resolve a compile_transcript transcript’s path field (V2b-2): the same ordered security pipeline as resolve_fragments’s path handling (steps 4 through 8 below), but with MAX_TRANSCRIPT_BYTES in place of MAX_INGEST_FILE_BYTES — a transcript is the one caller-facing shape allowed to read past the ordinary 1 MiB fragment ceiling, because super::segment::segment_transcript segments it into sub-1-MiB pieces immediately after this read, never compiling it as one oversized fragment. roots must already be checked enabled by the caller (the MCP adapter mirrors resolve_fragments’s step 2 before calling this).

§Errors

MemoryError::IngestPath for a relative path, an unreadable path, a non-plain-file, or non-UTF-8 content; MemoryError::IngestOutsideRoots when the canonicalized path escapes every root; MemoryError::ContextOverLimit when the file exceeds MAX_TRANSCRIPT_BYTES.

pub, not pub(crate) — like resolve_fragments, part of the public context::ingest surface (the mcp adapter is its first caller, but the module itself only requires context; a build with context and no mcp would otherwise flag this crate-internal-only function dead code).