The first thing every RAG pipeline does, and the thing most of them never revisit. Start here, then look at the structure-aware chunker in this track to see what this version costs you.
Write chunk_fixed_size(text, size, overlap) returning a list of strings.
Split text on whitespace into tokens, then emit windows of at most size tokens, each starting size - overlap tokens after the last. Join each window back with single spaces.
The overlap is why this is not just text.split(): a sentence that straddles a boundary is unretrievable if neither chunk contains all of it, and repeating the last few tokens is the cheap fix.
Careful: if overlap >= size the step becomes zero or negative and the loop never advances. Guard it.
Build the architecture on a canvas: place the components, configure them, connect them into a data flow, and write a short reason for each one. The AI reviewer grades your design against a rubric written specifically for this problem.
Minimum 5 components · needs a wide desktop screen