- 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 click package to --extra-packages in both staking service tests and integration tests jobs to ensure CLI functionality is available during test execution.
- Changed all Python/pip commands to use `venv/bin/python -m` pattern instead of direct tool invocation or source activation
- package-tests.yml: pip, mypy, black, pytest now use `venv/bin/python -m`
- python-tests.yml: ruff, pip, pytest now use `venv/bin/python -m` or `venv/bin/pytest`
- staking-tests.yml: pytest now uses `venv/bin/pytest` instead of `python3 -m pytest`
- Added missing dependencies to workflow
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.
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
- Remove `|| echo "⚠️ ..."` fallbacks that masked failures
- Add explicit `exit 1` on port readiness failures and missing test directories
- Track port_ready flag in health check loops to fail if services don't start
- Replace warning emoji (⚠️) with error emoji (❌) for actual failures
- Fix docs-validation to use curated Markdown target list excluding high-noise directories
- Update rust-zk-tests paths from gpu_acceleration/research to dev
- Remove duplicate `/marketplace/gpu/{gpu_id}` endpoint from marketplace_gpu.py
- Remove marketplace_gpu router inclusion from main.py (already included elsewhere)
- Fix staking service staker_count logic to check existing stakes before increment/decrement
- Add minimum stake amount validation (100 AITBC)
- Add proper error handling for stake not found cases
- Fix staking pool update to commit and refresh after modifications
- Update CLI send_transaction to use chain