Changelog
Published on July 26, 2025 by Dmitri Katz
## [0.5.x] - 2025-07-25
### Added
- `AudioFeedWorkerConfig` POST test via `/api/audio_feed_worker/` with full request/response validation
- New test fixture `async_client` using `httpx.AsyncClient` and `ASGITransport`
### Changed
- `api/main.py`: verified and updated router imports and app mounting
- `tests/api/test_audio_feed_worker_routes.py`: converted to async + working integration test
- `tests/conftest.py`: added reusable `async_client` fixture for FastAPI tests
- `.github/workflows/ci.yml`: CI minor config changes
- `api/settings.py`: config tweak
- `pyrightconfig.json`: updated paths or type-checking scope
- `docs/FILE_TREE.txt`: updated structure to match refactored layout
- `docs/architecture/a3cp_pipeline.drawio`: added architecture diagram: user_profile to speech_context_module lost in disaster.
### Removed
- `docs/modules/inputs_outputs_json.md`: obsolete, replaced by `architecture/inputs_outputs_json.md`
### Notes
- CI now passes with fully working import paths (`PYTHONPATH=.` from `.env`)
- `requirements.txt` updated — consider running `pip freeze > required.txt` if locked dependencies are needed
## [Unreleased] - 2025-07-25
### Fixed
- Resolved Pylance `reportCallIssue` error on `from api.main import app` by adding `extraPaths: ["."]` to `pyrightconfig.json`.
### Added
- Added `__init__.py` files to all subdirectories in `schemas/` to ensure consistent package recognition by Python and static analyzers.
### Changed
- Updated `.github/workflows/ci.yml` to explicitly set `PYTHONPATH` using `${{ github.workspace }}` for reliable module resolution during CI runs.
- Modified `docs/FILE_TREE.txt` to reflect addition of `__init__.py` files and confirm schema structure compliance.
- Edited `tests/api/test_audio_feed_worker_routes.py` to ensure import of `app` from `api.main` functions correctly in both runtime and static analysis environments.
====================================================================
CHANGELOG ENTRY – 2025-07-25
Category: Recreating Documentation, Schema, Module Integration after serious error
====================================================================
### Added
- Created route stubs for all 24 core A3CP modules:
- `audio_feed_worker`, `camera_feed_worker`, `clarification_planner`, `confidence_evaluator`
- `feedback_log`, `gesture_classifier`, `input_broker`, `landmark_extractor`
- `landmark_visualizer`, `llm_clarifier`, `memory_integrator`, `memory_interface`
- `model_registry`, `model_trainer`, `output_expander`, `output_planner`
- `retraining_scheduler`, `schema_recorder`, `session_manager`
- `sound_classifier`, `sound_playback`, `speech_context_classifier`, `speech_transcriber`
- `visual_environment_classifier`
- All routes are registered in `api/main.py` under `/api/<module_name>/`
### Removed
- Deprecated monolithic route handlers:
- `gesture_infer.py`, `sound_infer.py`, `streamer.py`, `inference.py`, and corresponding tests
### Changed
- Updated `docs/modules/inputs_outputs_json.md` and `a3cp_pipeline.drawio` to reflect modular architecture
- Finalized schema placement and naming for `speech_context_classifier`
### Notes
- Module route stubs currently raise `501 Not Implemented`; test coverage to follow
- Schema → Route → Test development workflow documented in `docs/dev/Schema → Route → Test Workflow.md`
Removed:
- Deprecated legacy schemas under `api/schemas/` after full migration to module-based schema structure.