Files
aitbc/apps/aitbc-edge
aitbc 573aae065b
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
feat: complete codebase remediation with all phases
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
2026-05-24 20:21:23 +02:00
..

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 check
  • GET /ready - Readiness check

Island Operations (Phase 2)

  • POST /v1/islands/join - Join an island
  • POST /v1/islands/leave - Leave an island
  • GET /v1/islands - List all islands
  • GET /v1/islands/{island_id} - Get island details
  • POST /v1/islands/bridge - Request bridge

GPU Operations (Phase 3)

  • POST /v1/gpu/listings - List GPU on island
  • GET /v1/gpu/listings - Get GPU listings
  • DELETE /v1/gpu/listings/{listing_id} - Remove GPU listing
  • GET /v1/gpu/scan - Scan GPUs

Edge Database Operations (Phase 4)

  • POST /v1/database/init - Initialize edge database
  • GET /v1/database - Get edge database status
  • DELETE /v1/database - Delete edge database
  • POST /v1/database/sync - Sync edge database

Edge Serve Operations (Phase 5)

  • POST /v1/serve/start - Start serving
  • POST /v1/serve/stop - Stop serving
  • GET /v1/serve/status - Get serve status
  • GET /v1/serve/requests - Get pending requests
  • POST /v1/serve/requests/{request_id}/complete - Complete request

Edge Metrics (Phase 6)

  • GET /v1/metrics - Get edge metrics
  • GET /v1/metrics/gpu - Get GPU metrics
  • GET /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 joinPOST /v1/islands/join
  • aitbc gpu list-islandPOST /v1/gpu/listings
  • aitbc database init-edgePOST /v1/database/init
  • aitbc edge servePOST /v1/serve/start
  • aitbc edge metricsGET /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