diff --git a/client/main.py b/client/main.py index f332efc..e4e76c7 100644 --- a/client/main.py +++ b/client/main.py @@ -1,8 +1,11 @@ -"""Smart Assistant client entry point. Implemented in Plan 3.""" +"""Smart Assistant client entry point. + +The composition root lives in main(); see Plan 3 Task 11 for the full wiring. +""" def main() -> None: - raise SystemExit("client.main: placeholder; full implementation comes in Plan 3.") + raise SystemExit("client.main: not yet implemented (see Plan 3 Task 11).") if __name__ == "__main__": diff --git a/client/pair.py b/client/pair.py index 91b78e3..ceebfae 100644 --- a/client/pair.py +++ b/client/pair.py @@ -1,8 +1,8 @@ -"""Smart Assistant pairing CLI. Implemented in Plan 3.""" +"""Pairing CLI; see Plan 3 Task 6 for the full implementation.""" def main() -> None: - raise SystemExit("client.pair: placeholder; full implementation comes in Plan 3.") + raise SystemExit("client.pair: not yet implemented (see Plan 3 Task 6).") if __name__ == "__main__": diff --git a/client/tests/__init__.py b/client/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/client/tests/conftest.py b/client/tests/conftest.py new file mode 100644 index 0000000..42a30c5 --- /dev/null +++ b/client/tests/conftest.py @@ -0,0 +1,8 @@ +"""Shared pytest fixtures for the client test suite.""" +import sys +from pathlib import Path + +# Make the repo root importable so `import client.` works without install. +REPO_ROOT = Path(__file__).resolve().parents[2] +if str(REPO_ROOT) not in sys.path: + sys.path.insert(0, str(REPO_ROOT)) diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 0000000..fabfe78 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,3 @@ +pytest>=8.0 +pytest-asyncio>=0.23 +responses>=0.25