- Added python-dotenv to --extra-packages in production-tests.yml venv setup
- Added PYTHONUNBUFFERED=1 to agent coordinator uvicorn startup for immediate log output
- Added startup validation check after 2-second sleep to detect early coordinator exits
- Display coordinator logs and fail job if process exits during startup
- Added setup-job-logging.sh initialization step to production-tests.yml, all staking-tests.yml jobs, and systemd-sync.yml
- Removed redundant agent-coordinator package installation from production-tests.yml (already included in extra-packages)
- Fixed systemd-sync.yml to use relative paths (scripts/utils/link-systemd.sh) instead of absolute paths (/opt/aitbc/scripts/utils/link-systemd.sh)
Added `rm -rf venv` (and `venv-build` where applicable) before venv setup in all CI workflows to ensure clean installations and prevent cache corruption issues. Removed redundant venv corruption detection and rebuild logic from package-tests.yml since explicit cleanup makes it unnecessary.
- Added explicit service start/stop steps in api-endpoint-tests.yml
- Start coordinator-api, exchange-api, wallet, and blockchain-rpc services before tests
- Stop all started services in cleanup step
- Fixed venv activation in package-tests.yml
- Changed from `source venv/bin/activate` to direct venv/bin/pip and venv/bin/python calls
- Applied same pattern to venv-build for package building
- Fixed venv activation in production-tests.
Replaced manual venv creation and pip install commands with calls to scripts/ci/setup-python-venv.sh across all CI workflows. The script provides consistent venv setup with configurable options for requirements installation, copy mode, and extra packages.
- Changed from manual `python3 -m venv` + `pip install` to setup-python-venv.sh in all workflows
- Added --skip-requirements flag where workflows don't need requirements
Changed uvicorn application path from src.app.main:app to app.main:app in both
startup and cleanup steps to match the actual module structure where src is
already in PYTHONPATH.
- Added Redis server installation step in production-tests.yml workflow
- Checks if Redis binaries are already available before installing
- Installs redis-server package if needed
- Improved aitbc_crypto mocking in conftest.py
- Try importing real aitbc_crypto module first before mocking
- Only mock functions if they don't already exist
- Prevents overriding real implementations when aitbc_crypto is available
- Add multi-candidate host discovery (localhost, host.docker.internal, gateway) in api-endpoint-tests
- Pass discovered service host via AITBC_API_HOST environment variable to test script
- Update test_api_endpoints.py to use AITBC_API_HOST for all service URLs
- Add validate-policies-strict job to docs-validation workflow for policy Markdown files
- Add job names to package-tests matrix for better CI output clarity
- Add --import