Skip to content

Revision · Project 2 — AskDocs

AskDocs forced a chain of decisions that a “chat with your files” demo often hides.

  • A chunk owns its text and source identity; citations are not reconstructed after generation.
  • An Embedder trait lets deterministic, hosted, and local embeddings share one consumer.
  • Borrowed Scored<'_> results avoid cloning text and make the store lifetime explicit.
  • Similarity ranks candidates; it does not prove support, authorization, diversity, or freshness.
  • A context manifest records exactly what the model could see.
  • Streaming parsers operate on buffered bytes, not assumed message boundaries.
  • Retrieval, answer quality, citation accuracy, abstention, latency, and cost are separate measures.

Draw the pipeline from file to cited answer. For each arrow, name:

  1. the Rust input and output types;
  2. the failure that can occur;
  3. the artifact or test that exposes it.

You are ready for multimodal work when an incorrect answer no longer produces the diagnosis “the model hallucinated.” You should be able to identify the earliest responsible stage.

Next project: Signal Room — reconstruct an incident from mixed evidence →.