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
AITBC Marketplace Service
Manages GPU marketplace operations.
Installation
cd /opt/aitbc
poetry install --with marketplace-service
Database Setup
Create a separate database for the marketplace service:
sudo -u postgres psql -f apps/marketplace-service/scripts/setup-database.sql
Or manually:
CREATE DATABASE aitbc_marketplace;
CREATE USER aitbc_marketplace WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE aitbc_marketplace TO aitbc_marketplace;
Running
# Development
python -m marketplace_service.main
# Production (systemd)
sudo systemctl start marketplace-service
sudo systemctl enable marketplace-service
Endpoints
GET /health- Health checkGET /marketplace/status- Get marketplace statusGET /v1/marketplace/offers- Get marketplace offersGET /v1/marketplace/offers/{offer_id}- Get specific offerPOST /v1/marketplace/offers- Create new offerGET /v1/marketplace/bids- Get marketplace bidsPOST /v1/marketplace/bids- Create new bidGET /v1/marketplace/analytics- Get marketplace analytics
Testing
Prerequisites
- PostgreSQL running and aitbc_marketplace database created
- Poetry dependencies installed
Database Setup
sudo -u postgres psql -f scripts/setup-database.sql
Start Service (Development)
python -m marketplace_service.main
Health Check
curl http://localhost:8102/health
Expected response:
{"status": "healthy", "service": "marketplace-service"}
Marketplace Status
curl http://localhost:8102/marketplace/status
Expected response:
{
"status": "operational",
"service": "marketplace-service",
"message": "Marketplace service is running"
}
Get Marketplace Offers
curl http://localhost:8102/v1/marketplace/offers
Expected response:
[]
Create Marketplace Offer
curl -X POST http://localhost:8102/v1/marketplace/offers \
-H "Content-Type: application/json" \
-d '{
"provider": "test_provider",
"capacity": 100,
"price": 0.5,
"gpu_model": "NVIDIA A100"
}'
Test Through Gateway
-
Start the API gateway:
python -m api_gateway.main -
Test marketplace endpoints through the gateway:
curl http://localhost:8080/marketplace/health curl http://localhost:8080/marketplace/v1/marketplace/offers
For comprehensive testing procedures, see MICROSERVICES_TESTING_GUIDE.md.
Service Configuration
- Port: 8102
- Database: aitbc_marketplace
- Gateway route: /marketplace/*
Migration Status
Completed:
- Extracted marketplace domain models (MarketplaceOffer, MarketplaceBid, GlobalMarketplaceOffer, GlobalMarketplaceTransaction, etc.)
- Extracted marketplace services (MarketplaceService with CRUD operations)
- Extracted marketplace data structures
- Set up database session management
- Extracted marketplace router endpoints
- Created systemd service configuration
- Created database setup script
Remaining:
- Remove marketplace routers from coordinator-api (marketplace, marketplace_gpu, marketplace_offers, global_marketplace, global_marketplace_integration)
- Remove marketplace services from coordinator-api
- Remove marketplace domain models from coordinator-api
- Run database migration script to create aitbc_marketplace database
- Install and enable systemd service
- End-to-end testing with gateway
Note: The marketplace service is very large (~130K lines), so full removal from coordinator-api requires careful coordination to avoid breaking existing functionality. The foundation is in place for gradual migration.