NumPy allowed · plain Python earns 10 bonus points
Cosine-like similarity scores ranked before context assembly
Implement real query decomposition, splitting a compound multi-part question into independently-retrievable subquestions -- a real, standard technique for questions naive single-shot retrieval handles poorly.
Implement decompose_question(question). Split on the literal string ' and ' (case-sensitive, surrounded by spaces). Strip whitespace from each part and drop any empty results. If there's no ' and ' in the question, return [question] unchanged (a single-part question).
decompose_question(question: str) -> list[str]