- Pin starlette to >=0.37.2,<0.38 to retain Broadcast module
- Add redis dependency for Broadcast transport
- Configure node to use broadcast gossip backend via Redis
- Update .env: gossip_backend=broadcast, gossip_broadcast_url=redis://localhost:6379
- Restarted node with clean DB; RPC on port 8005
- Fixed CLI blockchain_rpc_url via env
- Minted test funds via faucet
Closes #debug-services
- Install blockchain-node package
- Configure node with .env for RPC 8005
- Start node and RPC server manually
- Create wallet aitbc1_simple (address aitbc1aitbc1_simple_simple)
- Adjust brother chain YAML address to match actual wallet
- Document status and blockers
Closes #debug-services
- Drop tables before create in development
- Catch OperationalError for duplicate indexes
- Add logging for errors
This allows the Coordinator API to start cleanly with SQLite even if previous runs left residual schema.
Also adds debugging status document for aitbc1 branch.
Fixes startup failure on fresh deployment.
- Created genesis_brother_chain_*.yaml with 500 AITBC allocation to aitbc1aitbc1_simple
- Private topic chain with PoA consensus
- Pre-allocated genesis wallet for aitbc1 invitation
- Companion wallet files created in .aitbc/wallets/ (not tracked)
- See AITBC_INVITATION.md for coordination details
- Replace hardcoded absolute paths with project-relative resolution
- Add AITBC_SERVICES_PATH environment variable override
- Wrap service imports in try/except with graceful degradation
- Add aiohttp to CLI requirements
- Create missing README.md for aitbc-agent-sdk to fix poetry build
- Make run_all_tests.sh portable with PROJECT_ROOT calculation
- Fix enterprise_integration.py path handling
CLI now loads successfully even when coordinator-api services
are not installed. Advanced commands fail with helpful hints
instead of crashing the entire CLI.
- Add multi-chain support with ait-devnet, ait-testnet, ait-mainnet
- Add chain selector dropdown in explorer UI
- Add /api/chains endpoint to list supported chains
- Update all API endpoints to accept optional chain_id parameter
- Update RPC URL configuration to support multiple chains per network
- Change default port from 3001 to 8016 (enhanced services range)
- Update coordinator database path to ./
- Remove excessive completion checkmarks and status markers throughout document
- Consolidate redundant sections on completed features
- Streamline executive summary and current status sections
- Focus content on upcoming quick wins and active tasks
- Remove duplicate phase completion listings
- Clean up success metrics and KPI sections
- Maintain essential planning information while reducing noise
chore(gitignore): add development log file patterns
- Add patterns for .log, .out, and .err files
- Add wget-log and download.log patterns
- Organize under new "Development Logs" section
```
- Add GET /state endpoint to blockchain RPC router for chain state information
- Add GET /rpc/getBalance/{address} endpoint for account balance queries
- Add GET /rpc/head endpoint to retrieve current chain head block
- Add GET /rpc/transactions endpoint for latest transaction listing
- Add chain-specific wallet balance endpoint to wallet daemon
- Add blockchain state CLI command with --all-chains flag for multi-chain queries
- Add CLI interface functions to enterprise_integration.py: create_tenant, get_tenant_info, generate_api_key, register_integration, get_system_status, list_tenants, list_integrations
- Replace direct service imports with importlib-based module loading to avoid naming conflicts
- Refactor start_gateway command to create_tenant_cmd with name and domain parameters
- Update integration test success rate from
- Move /api/chains endpoint definition before BLOCKCHAIN_RPC_URLS configuration
- Remove duplicate async version of list_chains endpoint
- Change blockchain explorer version from 2.0.0 to 0.1.0
- Update default explorer IP from 10.1.223.93 to 10.1.223.1
- Remove warning messages from enterprise integration import errors
- Add multi-chain configuration with devnet, testnet, and mainnet RPC URLs
- Add chain selector dropdown in explorer UI for network switching
- Add chain_id parameter to all API endpoints (chain/head, blocks, transactions, search)
- Add /api/chains endpoint to list supported blockchain networks
- Update blockchain explorer port from 3001 to 8016
- Update devnet RPC port from 8080 to 8026
- Add GPU reviews table
- Replace SessionDep type alias with explicit Annotated[Session, Depends(get_session)]
- Add missing imports for Session, Annotated, and Depends types
- Update all endpoint function signatures to use explicit dependency annotation
- Remove redundant `= Depends()` default values from session parameters
- Update docstrings and comments to reference new annotation pattern
- Apply changes consistently across all router
- Replace SessionDep type alias with explicit Annotated[Session, Depends(get_session)]
- Add missing imports for Session and Annotated types
- Update all endpoint function signatures to use explicit dependency annotation
- Apply changes consistently across all router files (admin, agent, marketplace, etc.)
- Add marketplace_gpu router to main.py router includes
- Add POST /marketplace/gpu/{gpu_id}/confirm endpoint for client booking acknowledgment
- Add POST /tasks/ollama endpoint for Ollama task submission with model and prompt parameters
- Add POST /payments/send endpoint as stub for blockchain payment processing
- Add GPUConfirmRequest, OllamaTaskRequest, and PaymentRequest models
- Add CLI commands: confirm, ollama-task, and pay for new endpoints
- Include validation
- Change from in-memory database to file-based SQLite at coordinator.db
- Remove create_db_and_tables() call as tables already exist
- Use same database path as coordinator-api for consistency
- Apply database path fix to both cleanup_fake_gpus() and show_remaining_gpus()
- Add validation for negative and zero booking hours
- Add maximum booking duration limit (8760 hours = 1 year)
- Add validation to ensure booking end time is in future
- Prevent negative costs and invalid booking periods
- Improve error messages with detailed validation feedback
Fixes edge cases where users could book GPUs with invalid parameters
leading to negative costs and impossible booking periods.
- Auto-detect GPU hardware using nvidia-smi
- Validate GPU name and memory against detected hardware
- Prevent fake GPU registrations (RTX 4080 on RTX 4060 Ti system)
- Add --force flag for emergency override situations
- Ensure only real hardware can be registered
Fixes issue where fake GPUs could be registered on systems with different hardware.
- Change database from in-memory to file-based SQLite at aitbc_coordinator.db
- Add status="active" to GPU booking creation
- Allow GPU release even when not properly booked (cleanup case)
- Add error handling for missing booking attributes during refund calculation
- Fix get_gpu_reviews query to use scalars() for proper result handling
- Rename metadata to user_metadata in TenantUser model
- Rename metadata to usage_metadata in UsageRecord model
- Rename metadata to invoice_metadata in Invoice model
- Rename metadata to event_metadata in TenantAuditLog model
- Update TenantManagementService to use event_metadata parameter name