- Add role detection to command groups (admin, client, miner, blockchain)
- Load role-specific config files (~/.aitbc/{role}-config.yaml)
- Add role field to Config class with environment variable support
- Implement automatic role detection from invoked subcommand
- Add development mode API key bypass for testing (APP_ENV=dev)
- Update CLI checklist with role-based configuration documentation
- Add configuration override priority and
- Add debug print statements to _validate_api_key and require_admin_key for troubleshooting
- Add /admin/debug-settings and /admin/test-key endpoints for API key validation testing
- Bypass require_admin_key dependency in /admin/stats endpoint for direct validation
- Fix database warmup to properly handle session generator lifecycle
- Re-enable all previously disabled routers in main.py
- Add custom OpenAPI security scheme
- Comment out most routers in main.py to isolate Pydantic issue
- Keep only blockchain router enabled for testing
- Fix database warmup to use get_session() instead of SessionDep()
- Add blockchain router to __init__.py exports
- Add test endpoint to agent_router for verification
- Duplicate agent network and execution receipt endpoints in client and exchange routers as temporary workaround
- Add /v1/admin/status endpoint for system status
- Add /v1/blockchain/status endpoint for blockchain status
- Add /v1/blockchain/sync-status endpoint for sync status
- Add /v1/monitor/dashboard endpoint for monitoring dashboard
- Fix router imports and missing dependencies
- Handle optional dependencies gracefully (torch, tenseal)
- Update admin router with comprehensive system status endpoint
- Fix blockchain router endpoint paths
- Improve error handling in monitoring dashboard
These endpoints resolve CLI 404/405 errors reported in testing.
- Add get_miner_id() dependency to extract miner ID from X-Miner-ID header
- Update miner register and heartbeat endpoints to require both X-Miner-ID and X-Api-Key headers
- Remove miner_id from query parameters in favor of header-based extraction
- Fix miner heartbeat CLI to send proper JSON payload with inflight, status, and metadata fields
- Fix typo in MinerService: extra_metadata → extra_meta_data
- Add POST /api/v1/miners/{miner_id}/jobs endpoint for listing miner-assigned jobs with filtering
- Add POST /api/v1/miners/{miner_id}/earnings endpoint for miner earnings tracking (mock implementation)
- Add PUT /api/v1/miners/{miner_id}/capabilities endpoint for updating miner capabilities
- Add DELETE /api/v1/miners/{miner_id} endpoint for miner deregistration (sets OFFLINE status)
- Add JobService.fail_job()
- Add /rpc/info endpoint to blockchain node for comprehensive chain information
- Add /rpc/supply endpoint for token supply metrics with genesis parameters
- Add /rpc/validators endpoint to list PoA validators and consensus info
- Add /api/v1/agents/networks endpoint for creating collaborative agent networks
- Add /api/v1/agents/executions/{id}/receipt endpoint for verifiable execution receipts
- Add /api/v1/jobs and /api/v1/jobs/
- Update requirements.txt to make concrete-ml optional with clear comment
- Enhance FHE service warning message to include Python version info
- Remove concrete-ml from mandatory dependencies due to Python 3.13 incompatibility
- Maintain full functionality with TenSEAL provider as default
This resolves the 'Concrete ML not installed' warning by providing clear
information about the version compatibility issue while preserving all
FHE functionality through the TenSEAL provider.
- Update CORS allow_origins in blockchain-node app.py and gossip relay.py to use new port logic (8000-8016)
- Update coordinator-api config.py and config_pg.py with standardized port ranges and service labels
- Update coordinator-api health check script from port 18000 to 8000
- Update geo_load_balancer.py to use configurable host/port (default 0.0.0.0:8017)
- Update agent_security.py sandbox
- Convert _propose_block, _ensure_genesis_block to async methods in PoAProposer
- Add await to gossip_broker.publish calls in block broadcasting
- Add await to _ensure_genesis_block and _propose_block method calls
- Update coordinator-api Python version constraint to >=3.13,<3.15
- Add torch ^2.10.0 dependency to coordinator-api
- Add make_asgi_app import to prometheus_client in main.py
- Export new routers: global
- Update Q3 2026 from "CURRENT PHASE" to "COMPLETED PHASE" with all weeks 13-24 marked complete
- Mark Q4 2026 as "NEXT PHASE" with weeks 25-28 Global Expansion APIs as 🔄 NEXT
- Update priority focus areas from "Next Phase" to "Current Phase" with global expansion emphasis
- Mark Enterprise Integration APIs and Scalability Optimization as ✅ COMPLETE
- Update Phase 4-6 success metrics to ✅ ACHIEVED
- Add PyTorch neural network implementations for PPO, SAC, and Rainbow DQN agents with GPU acceleration
- Implement PPOAgent with actor-critic architecture, clip ratio, and entropy regularization
- Implement SACAgent with separate actor and dual Q-function networks for continuous action spaces
- Implement RainbowDQNAgent with dueling architecture and distributional RL (51 atoms
- Add developer_platform and governance_enhanced router imports to coordinator-api main.py
- Include developer_platform and governance_enhanced routers with /v1 prefix
- Refactor governance_service.py delegation logic to use delegatee_id directly and add logging
- Remove redundant session.add() calls, rely on session.refresh() after commit
- Update governance service docstring to reflect multi
- Add DynamicPricingEngine and MarketDataCollector dependencies to GPU marketplace endpoints
- Implement dynamic pricing calculation for GPU registration with market_balance strategy
- Calculate real-time dynamic prices at booking time with confidence scores and pricing factors
- Enhance /marketplace/pricing/{model} endpoint with comprehensive dynamic pricing analysis
- Add static vs dynamic price
- Import HTTPException from fastapi for proper exception handling in endpoints
- Prepare for enhanced error responses in blockchain explorer API routes
- Fix CSS animation syntax in HTML template by escaping curly braces for proper f-string formatting
- Replace .format() with .replace() for node_url substitution to avoid KeyError with unescaped braces
- Add blockchain node connectivity test to health check with 5s timeout
- Return degraded status when node is unreachable instead of error
- Add node_status field and API endpoints documentation to health response
- Add cached decorator to admin stats, job status, payment status, and marketplace stats endpoints
- Configure cache TTLs using get_cache_config for different endpoint types (1min job_list, 30s user_balance, marketplace_stats)
- Import cache_management router and include it in main app with /v1 prefix
- Fix blockchain-explorer formatTimestamp to handle both ISO string and Unix numeric timestamps with type
- Add database connection warmup during startup with connectivity test
- Expand startup logging with comprehensive configuration summary including all rate limits
- Implement graceful shutdown sequence with in-flight request handling and resource cleanup
- Add Prometheus metrics for rate limiting (hits counter and response time histogram)
- Create dedicated /rate-limit-metrics endpoint for rate limit monitoring
- Record
- Replace `import logging` with `from aitbc.logging import get_logger` across blockchain-node scripts and coordinator-api modules
- Update logger initialization from `logging.getLogger(__name__)` to `get_logger(__name__)` in 30+ files
- Add production configuration validators for API keys, HMAC secret, and JWT secret in coordinator config
- Enhance coordinator startup with comprehensive initialization logging
- Upgrade SQLAlchemy to 2.0.47 with asyncio extras in blockchain-node and coordinator-api
- Add asyncpg >=0.29.0 for PostgreSQL async support
- Remove uvloop as optional dependency, make it required >=0.22.0
- Delete duplicate logger.py from blockchain-node (117 lines)
- Refactor coordinator-api logging to use shared aitbc.logging from aitbc-core package
- Add aitbc-core package dependency to coordinator
- Change coordinator database from /opt/data/coordinator.db to ./data/coordinator.db
- Update config.py to use relative path consistent with blockchain-node
- Update deployment scripts to use /opt/coordinator-api/data/coordinator.db
- Add data directory creation in init_db() for consistency
- Update .env.example files to reflect new standard
- Maintain backward compatibility for production deployment