[AEW E2E] Add case-insensitive task search - #3
Draft
chen-gdp wants to merge 2 commits into
Draft
Conversation
Add optional q query parameter to GET /tasks for case-insensitive substring matching on task titles. Composes with existing completed filter. Test tasks T001-T006 and implementation tasks T007-T010 complete.
chen-gdp
commented
Jul 26, 2026
chen-gdp
left a comment
Owner
Author
There was a problem hiding this comment.
Review Summary — ✅ Approved
@chen-gdp Implementation is clean, correct, well-tested, and fully aligned with the approved spec.
Reviewed: c41857c39787f992e015e130f764924037d6db72 against main
Notes
- ✅ 10/10 tests passing (4 existing + 6 new)
- ✅ Backward compatible — existing tests pass without modification
- ✅ All 6 spec coverage categories are matched by dedicated test cases
- ✅ No scope expansion, no security concerns, minimal diff
Validation
- ✅
uv run --extra test pytest— 10/10 passed - ✅ Spec alignment confirmed — implementation matches
spec.mddesign exactly
Owner
Author
@chen-gdp implementation PR ready for human review
This implementation delivers case-insensitive task search as specified in the approved spec. Please review at your convenience. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add an optional
qquery parameter toGET /tasksfor case-insensitive substring matching on task titles. Composes with the existingcompletedfilter.Spec Source:
specs/issue/1-aew-e2e-add-case-insensitive-task-search/spec.mdKey Changes
q: str | None = Query(default=None)parameter to thelist_tasksendpointq; blank or whitespace-onlyqpreserves current behaviorq.lower() in task.title.lower()qfilter conjunctively with existingcompletedfiltercompletedsrc/task_api/main.py:48—list_taskssignature + filter logictests/test_api.py— 6 new test functionsHow to Test
uv run --extra test pytest -vuv run --extra test pytest -v -k "test_search_q"q-related tests passuv run --extra test python -c "from fastapi.testclient import TestClient; from task_api.main import create_app; api = TestClient(create_app()); api.post('/tasks', json={'title': 'Test item'}); r = api.get('/tasks', params={'q': 'test'}); assert len(r.json()) == 1; print('Manual check OK')"Related Issues
Closes #1
Author Checklist
mainbranchAdditional Notes
qdefaults toNone, existing callers unaffected.