## Turn 1

*   Context: A FastAPI app has a bug where user emails are normalized (stripped and lowercased) during storage but not during retrieval/login.
    *   `store.py`: `save_user` uses `.strip().lower()`, but `get_user` does not.
    *   `routes.py`: `login` calls `get_user` with the raw input.
    *   Goal: Fix the inconsistency and provide a regression test.

    *   Option A: Normalize in `save_user` and `get_user` (redundant but safe).
    *   Option B: Normalize in `get_user` (cleaner, ensures consistency).
    *   Option C: Normalize in `login` (bad practice, logic should be in the data layer).

    *Decision:* Normalize in `get_user` to ensure that any lookup (login, registration check, etc.) behaves consistently with the storage logic.

    *   `store.py`: Update `get_user` to apply `.strip().lower()`.
    *   `routes.py`: No changes needed if `get_user` is fixed.

    *   Test case: Input " User@Example.com " should match "user@example.com".

    *   *Patch Plan:*
        *   `store.py`: Modify `get_user` to normalize the input email.
    *   *Regression Test:*
        *   Input: `login("  User@Example.com  ", "hash")`
        *   Expected: `True` (assuming user was saved as `user@example.com`).

    *   `store.py`:
        ```python
        def get_user(email):
            return USERS.get(email.strip().lower())
        ```
    *   `routes.py`: No change.

    *   Concise patch plan? Yes.
    *   Exact file/function edits? Yes.
    *   One regression test? Yes.