Added initial integration test suite structure for engine/app.py covering:
- main() entry point preset loading
- run_pipeline_mode() pipeline setup
- Content fetching for different sources
- Display initialization
- CLI flag overrides
STATUS: Tests are currently failing because imports in run_pipeline_mode()
are internal to the function, making them difficult to patch. This requires:
1. Refactoring imports to module level, OR
2. Using more sophisticated patching strategies (patch at import time)
This provides a foundation for Phase 2. Tests will be fixed in next iteration.
PHASE 2 TASKS:
- Fix app.py test patching issues
- Add data source tests (currently 34% coverage)
- Expand adapter tests (currently 50% coverage)
- Target: 70% coverage on critical paths
- Remove ~700 lines of legacy code from app.py (run_demo_mode, run_pipeline_demo,
run_preset_mode, font picker, effects picker)
- HUD now reads metrics from pipeline context (first-class citizen) with fallback
to global monitor for backwards compatibility
- Add validate_signal_flow() for PureData-style type validation in presets
- Update MicSensor documentation (self-contained, doesn't use MicMonitor)
- Delete test_app.py (was testing removed legacy code)
- Update AGENTS.md with pipeline architecture documentation