Update blockchain-sync-wrapper.py to use 127.0.0.1 as default for SYNC_LEADER_HOST, SYNC_SOURCE_HOST, and SYNC_IMPORT_HOST instead of hardcoded 10.1.223.40. Replace UnsetEnvironment directive with explicit enable_block_production=false in blockchain-rpc.service to ensure block production is disabled.
Add daily 2 AM cron schedule for node failover simulation workflow. Relax AITBC address validation to support variable-length addresses. Add missing logging import to chain_sync. Make coordinator database initialization non-fatal to allow startup even if init_db fails. Replace Ethereum address validation with AITBC-specific format checks in multisig transactions. Standardize PYTHONPATH across all systemd services to include
Add all documentation subdirectories to the curated markdown linting targets, replacing the previous exclusion-based approach with comprehensive coverage. Update validation to check for required README files across all hubs and verify priority documentation metadata markers. Implement lazy loading for optional dependencies (numpy, redis, bcrypt, jwt, websockets) in agent-coordinator and related modules to improve startup
The wrapper was using src.app.main:app which expects 'src' to be a top-level
module, but with PYTHONPATH set to apps/agent-coordinator/src, the correct
import target is app.main:app.
The wrapper was inserting /opt/aitbc/aitbc to sys.path, which is incorrect.
The aitbc package is at /opt/aitbc/aitbc/__init__.py, so the path should be
/opt/aitbc, not /opt/aitbc/aitbc.
The wrapper scripts were setting PYTHONPATH to only the app's src directory,
causing ModuleNotFoundError when trying to import from the aitbc package.
Added REPO_DIR to PYTHONPATH to ensure aitbc module can be imported.
The wrapper scripts were setting PYTHONPATH to only the app's src directory,
causing 'ModuleNotFoundError: No module named aitbc' when services tried
to import from the aitbc package. Added REPO_DIR to PYTHONPATH in
coordinator-api, agent-coordinator, and explorer wrappers to allow aitbc imports.