Some checks failed
API Endpoint Tests / test-api-endpoints (push) Successful in 56s
Blockchain Synchronization Verification / sync-verification (push) Failing after 3s
CLI Tests / test-cli (push) Failing after 5s
Coverage Phase 1 (70% Target) / test-coverage-70 (push) Failing after 19s
Coverage Phase 2 (85% Target) / test-coverage-85 (push) Failing after 18s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Successful in 3s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 4s
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Successful in 5s
Deploy to Testnet / deploy-testnet (push) Failing after 21s
Documentation Validation / validate-docs (push) Failing after 13s
Documentation Validation / validate-policies-strict (push) Successful in 4s
Integration Tests / test-service-integration (push) Failing after 2s
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Successful in 4s
Multi-Node Blockchain Health Monitoring / health-check (push) Failing after 14s
Node Failover Simulation / failover-test (push) Successful in 9s
P2P Network Verification / p2p-verification (push) Successful in 5s
Package Tests / Python package - aitbc-agent-sdk (push) Successful in 51s
Package Tests / Python package - aitbc-core (push) Failing after 3s
Package Tests / Python package - aitbc-crypto (push) Successful in 22s
Package Tests / Python package - aitbc-sdk (push) Successful in 16s
Package Tests / JavaScript package - aitbc-sdk-js (push) Successful in 21s
Package Tests / JavaScript package - aitbc-token (push) Failing after 18s
Production Tests / Production Integration Tests (push) Failing after 1m9s
Python Tests / test-python (push) Failing after 3s
Security Scanning / security-scan (push) Failing after 41s
Smart Contract Tests / test-solidity (map[name:aitbc-contracts path:contracts]) (push) Failing after 6s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Failing after 7s
Smart Contract Tests / test-foundry (push) Failing after 20s
Smart Contract Tests / lint-solidity (push) Failing after 4s
Smart Contract Tests / deploy-contracts (push) Failing after 5s
Cross-Chain Functionality Tests / aggregate-results (push) Successful in 2s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Cross-Node Transaction Testing / transaction-test (push) Successful in 3s
Phase 1: Security fixes - Added CORSMiddleware to marketplace-service with specific origins - Fixed blockchain-node auth to fail closed on JWT errors - Added security regression tests (test_cors_configuration.py, test_dispute_auth.py) Phase 2: Repository cleanup - Removed 51 fix/backup/legacy files - Deleted marketplace-service-debug directory Phase 3.1: Python version constraints - Updated aitbc-crypto and aitbc-sdk with requires-python >=3.13 - Added explicit [tool.poetry].packages declarations Phase 3.2: Agent service DI architecture - Created aitbc-agent-core package with protocols and shared service - Implemented adapters for agent-management and coordinator-api - Created factory functions for gradual migration - Added migration comments to existing integration files Phase 4.1: Auth/utils extraction - Created auth.py module with JWT validation and security utilities - Created utils.py module with common helpers Phase 4.2: Router decomposition - Decomposed router.py into 10 domain modules (58 endpoints) - Created route table snapshot for verification - Preserved router_old.py as reference Phase 5: App shell classification - Documented app shell patterns across services Phase 6: Quality gates - Verified mypy type checking (75% error reduction) - Analyzed logging inconsistencies with structlog migration plan - Removed unused orjson dependency Documentation: - Created comprehensive remediation report - Added architecture documentation for DI pattern - Added quality analysis documents
Edge API Service
REST API for AITBC island and edge operations, providing HTTP equivalents for CLI commands.
Overview
The Edge API Service exposes island and edge operations via REST API, following the coordinator-api pattern. It integrates with the existing GPU service and blockchain node RPC.
Architecture
- Port: 8103
- Database: PostgreSQL (aitbc_edge)
- Communication:
- Blockchain node RPC: localhost:8006
- GPU service: localhost:8101
- Authentication: JWT tokens (same as coordinator-api)
Installation
cd /opt/aitbc/apps/edge-api
pip install -e .
Database Setup
Create PostgreSQL database and user:
sudo -u postgres psql
CREATE DATABASE aitbc_edge;
CREATE USER aitbc_edge WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE aitbc_edge TO aitbc_edge;
\q
Running
Development
cd /opt/aitbc/apps/edge-api
python -m edge_api.main
Production (systemd)
# Install service
sudo cp edge-api.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable edge-api
sudo systemctl start edge-api
API Endpoints
Health Checks
GET /health- Health checkGET /ready- Readiness check
Island Operations (Phase 2)
POST /v1/islands/join- Join an islandPOST /v1/islands/leave- Leave an islandGET /v1/islands- List all islandsGET /v1/islands/{island_id}- Get island detailsPOST /v1/islands/bridge- Request bridge
GPU Operations (Phase 3)
POST /v1/gpu/listings- List GPU on islandGET /v1/gpu/listings- Get GPU listingsDELETE /v1/gpu/listings/{listing_id}- Remove GPU listingGET /v1/gpu/scan- Scan GPUs
Edge Database Operations (Phase 4)
POST /v1/database/init- Initialize edge databaseGET /v1/database- Get edge database statusDELETE /v1/database- Delete edge databasePOST /v1/database/sync- Sync edge database
Edge Serve Operations (Phase 5)
POST /v1/serve/start- Start servingPOST /v1/serve/stop- Stop servingGET /v1/serve/status- Get serve statusGET /v1/serve/requests- Get pending requestsPOST /v1/serve/requests/{request_id}/complete- Complete request
Edge Metrics (Phase 6)
GET /v1/metrics- Get edge metricsGET /v1/metrics/gpu- Get GPU metricsGET /v1/metrics/database- Get database metrics
Implementation Status
Phase 1: Foundation ✅
- Service structure
- FastAPI application
- Database configuration
- Basic stub endpoints
Phase 2: Island Operations ⏳
- Island join/leave endpoints
- Blockchain RPC integration
- Island listing
Phase 3: GPU Operations ⏳
- GPU listing endpoints
- GPU service integration
- GPU metrics
Phase 4: Edge Database ⏳
- Database initialization
- Database sync
- Database management
Phase 5: Edge Serve ⏳
- Serve start/stop
- Request queue
- Request processing
Phase 6: Metrics ⏳
- Metrics collection
- Metrics endpoints
- Performance monitoring
CLI Integration
CLI commands will be updated to use REST API instead of placeholder implementations:
aitbc island join→POST /v1/islands/joinaitbc gpu list-island→POST /v1/gpu/listingsaitbc database init-edge→POST /v1/database/initaitbc edge serve→POST /v1/serve/startaitbc edge metrics→GET /v1/metrics
Agent SDK Integration
Agent SDK will be updated to use REST API for island and edge operations.
Dependencies
- FastAPI
- SQLAlchemy + SQLModel
- PostgreSQL
- httpx
- PyJWT
- uvicorn