- Add currency field (AIT) to all pricing parameters (market_gpu_register, market_bid, market_sell)
- Fix market_bid to reference gpu_id instead of listing_id (GPU-specific)
- Fix market_buy to reference gpu_id instead of listing_id for consistency
- Add market_my-listings operation to check seller's own listings
- Add economics_model operation for price prediction (model_type, features)
- Add wallet_balance check at beginning of marketplace operations
- Add stage4_marketplace_economics to depends_on (AI operations need GPU listings from marketplace)
- Make ai_training_agent operation optional (gpu_listing may not exist)
- Add resource_depends field to training_schema.json for cross-stage resource dependencies
- Add ai_jobs check after ai_submit to verify job appears in listing
- Add finetune_status polling after finetune_submit for job monitoring
- Add depends_on validation documentation to training_schema.json (verify prerequisite stages mastered)
- Add performance validation to network_ping (max_latency_ms: 100)
- Add wallet_balance check after wallet_send to verify transaction deduction
- Add mining_rewards verification after mining_stop to confirm rewards collected
- Move wallet_delete to end of operations array to prevent subsequent operations from failing
- Add curriculum fields to stages 7, 8, 9 (difficulty, skill_level, depends_on, skills, objectives)
- Add missing agent types to README (specialized, architect)
- Fix schema inconsistency in ENVIRONMENT_SETUP.md - update example to use official training_schema.json format
- Fix Stage 1 integration test - remove wallet_fund from operations, use existing operations
- Make messaging_send operation optional in Stage 1 (messaging configuration is optional per ENVIRONMENT_SETUP.md)
- Update scenario references in all stage files to point to correct directory (/docs/scenarios/)
- Add agent type definitions section to README.md (coordinator, genesis, follower, wallet, general)
- Clarify setup_method in Training Schema section - stages use Python-based setup system (aitbc.training_setup module) rather than individual shell scripts
- Fix Python version requirement from 3.10+ to 3.13.5 in Prerequisites
- Add skills field to training schema
- Add skill_level field to training schema (novice/apprentice/practitioner/expert/master)
- Add objectives field to training schema
- Add certifications field to training schema
- Add curriculum fields to stage1_foundation.json (skills, skill_level, objectives, certification)
- Add curriculum fields to stage2_operations_mastery.json (skills, skill_level, objectives, certification)
- Add curriculum fields to stage3_ai_operations.json (skills, skill_level, objectives)
- Add curriculum fields to stage4_marketplace_economics.json (skills, skill_level, objectives)
- Add curriculum fields to stage5_expert_operations.json (skills, skill_level, objectives)
- Add curriculum fields to stage6_agent_identity_sdk.json (skills, skill_level, objectives)
- Add integration_tests field to validation section
- Add coverage_target field for test coverage percentage
- Add coverage_report field for coverage reporting
- Add mock_data section with wallets, addresses, transactions
- Add integration test example to stage1_foundation.json
- Add coverage target and report to stage1_foundation.json
- Add mock data example to stage1_foundation.json
- Add examples field to operation schema (CLI command examples)
- Add errors field to operation schema (expected errors and resolution)
- Add verify field to operation schema (verification commands)
- Add resources field to operation schema (learning resource links)
- Add documentation examples to wallet_create operation in stage1_foundation.json
- Add idempotent field to operation schema
- Add check_exists field for resource existence validation
- Add verify_on_chain flag for transaction verification
- Add confirmations_required field for block confirmations
- Add timeout_seconds field for on-chain verification timeout
- Add retry configuration (max_attempts, backoff_seconds, retryable_errors)
- Add max_memory_mb to performance metrics
- Add validation examples to wallet_create operation (idempotent, check_exists, performance)
- Add validation examples to transaction_send operation (verify_on_chain, retry, performance)
- Add depends_on field to training schema for stage dependencies
- Add difficulty field to training schema (beginner/intermediate/advanced/expert)
- Add estimated_time_minutes field to training schema
- Add structural fields to stage1_foundation.json (beginner, 30min, no dependencies)
- Add structural fields to stage2_operations_mastery.json (beginner, 45min, depends on stage1)
- Add structural fields to stage3_ai_operations.json (intermediate, 60min, depends on stage2)
- Add structural fields to stage4_marketplace_economics.json (intermediate, 60min, depends on stage2)
- Add structural fields to stage5_expert_operations.json (advanced, 90min, depends on stage3, stage4)
- Add structural fields to stage6_agent_identity_sdk.json (advanced, 75min, depends on stage5)
- Create HERMES_LEARNING_PROMPT.md with comprehensive learning instructions
- Update README.md with Hermes-specific learning instructions
- Add interactive prompts for Hermes to provide debug messages and suggestions
- Structure learning process across 9 training stages with feedback protocol
- Add aitbc2 blockchain node access documentation via gitea-runner SSH
- Fix wallet send command syntax to use proper --wallet-name flag format
- Update stage1 training commands to include --fee and --password parameters
- Switch from faucet wallet to proposer wallet for funding
- Proposer is the current PoA proposer and valid signer
- Send 1M AIT from genesis to proposer first
- Send 100 AIT from proposer to training-w1
- Increased sleep times to 15s for transaction confirmation
Replaced direct AITBC CLI command execution with OpenClaw agent-based execution that respects the allowlist:
- Changed openclaw_training_operations to execute commands via `openclaw agent --message` instead of direct CLI calls
- Removed operation-specific command building logic (wallet_create, genesis_init, etc.)
- Simplified execution flow to single OpenClaw agent invocation with prompt message
- Added prerequisites
Added comprehensive agent training functionality that executes actual AITBC CLI commands:
- Renamed openclaw_operations to openclaw_training_operations in aitbc_cli.py
- Added train action with agent/validate/certify subcommands to openclaw_operations
- Implemented agent training that loads JSON training data and executes real CLI commands
- Added operation mapping for wallet, blockchain, messaging, and system commands
- Skip
Added stub data returns and error handling across multiple CLI handlers to prevent
training script failures when services are unavailable:
- AI handlers: Return stub job data instead of sys.exit on errors, fix coordinator_url
parameter handling, wrap task_data in proper structure for job submission
- Agent SDK: Add complete stub implementation for create/register/list/status/capabilities
- System handlers: Add graceful fall
- Update plan file to mark all implementations as completed
- Update blockchain-node.md to document HMAC-SHA256 MAC computation in keystore
- Add Agent Integration Service section to coordinator-api.md documenting:
- Systemd-based deployment
- Health checks with systemd + HTTP monitoring
- Instance lifecycle management (deployment, removal, rollback)
- Metrics collection with database fallback
- Configurable alerting rules
Added comprehensive documentation for the three newly implemented routers:
- Blockchain Router: RPC proxy endpoints for blockchain data integration
- Edge GPU Router: GPU management using nvidia-smi discovery
- Multi-modal RL Router: AI service proxy for job management
Includes endpoint descriptions, proxy behavior, and error handling details.
- Remove conditional checks for settings.enforce_state_root_validation
- Always enforce state root validation (no warning-only path)
- Simplify error handling to always reject on mismatch
- Update genesis metadata validation to always enforce
- State root validation is now mandatory across all nodes
- Add SQLCipher encryption for ait-mainnet database with configurable flag
- Add db_encryption_enabled and db_encryption_key_path config settings
- Implement encryption key loading and PRAGMA key setup via connection events
- Add shutdown_db function for proper database cleanup
- Export middleware classes in aitbc/__init__.py
- Fix import path in sync.py for settings
- Remove duplicate agent documentation from docs
- Changed datetime.UTC to timezone.utc in advanced_ai.py
- Changed datetime.UTC to timezone.utc in realtime_learning.py
- Changed datetime.UTC to timezone.utc in jwt_handler.py
- Changed datetime.UTC to timezone.utc in distributed_consensus.py
- Changed datetime.UTC to timezone.utc in exceptions.py
- Changed datetime.UTC to timezone.utc in alerting.py
- Changed datetime.UTC to timezone.utc in communication.py
- Changed datetime.UTC to timezone.utc in message_types.py
- Updated imports from `datetime import
- Added multimodal health endpoints to AI Service (/multimodal/health, /multimodal/health/deep)
- Added optimization endpoints to AI Service (/optimization/tune, /optimization/predict, /optimization/agents, /optimization/health)
- Updated migration status to reflect completion of Phases 26-29 (OpenClaw, Plugin, Multimodal, Optimization migrations)
- Updated migration summary to show 100% completion of all coordinator
- Convert api-gateway pyproject.toml to old Poetry format for workspace compatibility
- Add routing configuration for AI service (port 8106)
- Add routing configuration for Monitoring service (port 8107)
- Add routing configuration for OpenClaw service (port 8108)
- Add routing configuration for Plugin service (port 8109)
- Remove duplicate middleware implementations from coordinator-api (app_logging.py, error
- Created RequestValidationMiddleware for request/response size validation
- Created ErrorHandlerMiddleware for standardized error responses
- Added both middlewares to FastAPI app
- Created validation patterns documentation
- Configured 10MB default size limits for requests and responses
This completes Phase 6: Request Validation Middleware
- Created analysis document identifying 9 bounded contexts
- Proposed 7-phase breakup strategy over 8 weeks
- Defined shared utilities to extract to aitbc-core
- Outlined API gateway and database considerations
- Defined success metrics
This starts Phase 4: Coordinator-API Monolith Breakup
Deleted .bak, .backup, and .orig files:
- 2 .orig files from blockchain-node
- 9 .bak files from cli commands
- 1 .bak file from dev scripts
- 1 .backup file from docs
- 1 .bak file from scripts
These files add noise and should not be tracked in git.
- Replace all 2,087 uses of datetime.utcnow() across 294 files
- Add UTC import to datetime statements where needed
- Addresses Python 3.12+ deprecation warning (report item #3)
- Documented that chain-sync should only run on follower nodes
- Explained why chain-sync on leader causes hash conflict warnings
- Added configuration instructions for enabling/disabling on different node types
- Updated network configuration to reflect current setup (aitbc as leader)
- Added RELEASE_v0.3.3.md with blockchain sync fix and security vulnerability resolution
- Updated releases README.md with v0.3.3
- Updated pyproject.toml version to v0.3.3