"""Lab 03 practice: split text and test answer completeness.

The Slack answer is from the invented guide in the chunking video. These
functions test text boundaries; real retrieval still needs embedding search.
"""

SLACK_ANSWER = "The Slack integration posts task updates to a channel you choose."


def fixed_chunks(text: str, size: int, overlap: int = 0) -> list[str]:
    """TODO 1: Slice every size characters; move forward by size - overlap.

    Match the lab: strip whitespace around each piece. Reject size <= 0 or
    overlap < 0 or overlap >= size with ValueError.
    """
    return []


def answer_exists(chunks: list[str], answer: str) -> bool:
    """TODO 2: Does ANY stored chunk contain the full answer sentence?"""
    return False


def whole_answer_first(results: list[dict], answer: str) -> bool:
    """TODO 3: Does the FIRST retrieved result's text contain the full answer?

    Each result has 'source' and 'text'. An empty list must return False.
    """
    return False
