Some checks failed
AITBC CI/CD Pipeline / lint-and-test (3.11) (push) Has been cancelled
AITBC CI/CD Pipeline / lint-and-test (3.12) (push) Has been cancelled
AITBC CI/CD Pipeline / lint-and-test (3.13) (push) Has been cancelled
AITBC CI/CD Pipeline / test-cli (push) Has been cancelled
AITBC CI/CD Pipeline / test-services (push) Has been cancelled
AITBC CI/CD Pipeline / test-production-services (push) Has been cancelled
AITBC CI/CD Pipeline / security-scan (push) Has been cancelled
AITBC CI/CD Pipeline / build (push) Has been cancelled
AITBC CI/CD Pipeline / deploy-staging (push) Has been cancelled
AITBC CI/CD Pipeline / deploy-production (push) Has been cancelled
AITBC CI/CD Pipeline / performance-test (push) Has been cancelled
AITBC CI/CD Pipeline / docs (push) Has been cancelled
AITBC CI/CD Pipeline / release (push) Has been cancelled
AITBC CI/CD Pipeline / notify (push) Has been cancelled
Security Scanning / Bandit Security Scan (apps/coordinator-api/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (cli/aitbc_cli) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-core/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-crypto/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-sdk/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (tests) (push) Has been cancelled
Security Scanning / CodeQL Security Analysis (javascript) (push) Has been cancelled
Security Scanning / CodeQL Security Analysis (python) (push) Has been cancelled
Security Scanning / Dependency Security Scan (push) Has been cancelled
Security Scanning / Container Security Scan (push) Has been cancelled
Security Scanning / OSSF Scorecard (push) Has been cancelled
Security Scanning / Security Summary Report (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.11) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.12) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.13) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-summary (push) Has been cancelled
- Remove debugging service documentation (DEBUgging_SERVICES.md) - Remove development logs policy and quick reference guides - Remove E2E test creation summary - Remove gift certificate example file - Remove GitHub pull summary documentation
18 KiB
18 KiB
Agent Economics System Deployment Guide
Overview
This guide provides comprehensive instructions for deploying the OpenClaw Agent Economics Enhancement system, including all components: Reputation System, Performance-Based Reward Engine, P2P Trading Protocol, Marketplace Analytics Platform, and Certification & Partnership Programs.
System Architecture
Components Overview
┌─────────────────────────────────────────────────────────────┐
│ Agent Economics System │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Reputation │ │ Rewards │ │ P2P Trading │ │
│ │ System │ │ Engine │ │ Protocol │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Analytics │ │ Certification│ │ Integration & │ │
│ │ Platform │ │ & Partnerships│ │ Testing Layer │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Database Schema
The system uses SQLModel with PostgreSQL as the primary database:
- Reputation Tables:
agent_reputations,community_feedback,economic_profiles - Reward Tables:
reward_profiles,reward_calculations,reward_distributions - Trading Tables:
trade_requests,trade_matches,trade_negotiations,trade_agreements - Analytics Tables:
market_metrics,market_insights,analytics_reports - Certification Tables:
agent_certifications,partnership_programs,achievement_badges
Prerequisites
System Requirements
- Operating System: Linux (Ubuntu 20.04+ recommended)
- Python: 3.13.5+
- Database: PostgreSQL 14+
- Memory: Minimum 8GB RAM (16GB+ recommended)
- Storage: Minimum 50GB SSD (100GB+ recommended)
- Network: Stable internet connection for blockchain integration
Software Dependencies
# Python dependencies
pip install -r requirements.txt
# Database setup
sudo apt-get install postgresql postgresql-contrib
# Additional system packages
sudo apt-get install build-essential libpq-dev
Environment Configuration
Create .env file with the following variables:
# Database Configuration
DATABASE_URL=postgresql://username:password@localhost:5432/aitbc_economics
DATABASE_POOL_SIZE=20
DATABASE_MAX_OVERFLOW=30
# Redis Configuration (for caching)
REDIS_URL=redis://localhost:6379/0
REDIS_POOL_SIZE=10
# Blockchain Configuration
BLOCKCHAIN_RPC_URL=http://localhost:8545
BLOCKCHAIN_CONTRACT_ADDRESS=0x1234567890123456789012345678901234567890
BLOCKCHAIN_PRIVATE_KEY=your_private_key_here
# API Configuration
API_HOST=0.0.0.0
API_PORT=8000
API_WORKERS=4
API_TIMEOUT=30
# Analytics Configuration
ANALYTICS_BATCH_SIZE=1000
ANALYTICS_RETENTION_DAYS=90
ANALYTICS_REFRESH_INTERVAL=300
# Security Configuration
SECRET_KEY=your_secret_key_here
JWT_ALGORITHM=HS256
JWT_EXPIRE_MINUTES=1440
# Monitoring Configuration
LOG_LEVEL=INFO
LOG_FORMAT=json
METRICS_PORT=9090
Installation Steps
1. Database Setup
# Create database
sudo -u postgres createdb aitbc_economics
# Create user
sudo -u postgres createuser --interactive aitbc_user
# Grant privileges
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE aitbc_economics TO aitbc_user;"
2. Schema Migration
# Run database migrations
python -m alembic upgrade head
# Verify schema
python -m alembic current
3. Service Configuration
Create systemd service files for each component:
# /etc/systemd/system/aitbc-reputation.service
[Unit]
Description=AITBC Reputation System
After=network.target postgresql.service
[Service]
Type=exec
User=aitbc
Group=aitbc
WorkingDirectory=/opt/aitbc/apps/coordinator-api
Environment=PYTHONPATH=/opt/aitbc
ExecStart=/opt/aitbc/venv/bin/python -m uvicorn app.routers.reputation:router --host 0.0.0.0 --port 8001
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
# /etc/systemd/system/aitbc-rewards.service
[Unit]
Description=AITBC Reward Engine
After=network.target postgresql.service
[Service]
Type=exec
User=aitbc
Group=aitbc
WorkingDirectory=/opt/aitbc/apps/coordinator-api
Environment=PYTHONPATH=/opt/aitbc
ExecStart=/opt/aitbc/venv/bin/python -m uvicorn app.routers.rewards:router --host 0.0.0.0 --port 8002
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
4. Load Balancer Configuration
# /etc/nginx/sites-available/aitbc-economics
upstream economics_backend {
server 127.0.0.1:8001;
server 127.0.0.1:8002;
server 127.0.0.1:8003;
server 127.0.0.1:8004;
server 127.0.0.1:8005;
}
server {
listen 80;
server_name economics.aitbc.bubuit.net;
location / {
proxy_pass http://economics_backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Timeouts
proxy_connect_timeout 30s;
proxy_send_timeout 30s;
proxy_read_timeout 30s;
}
# Health check endpoint
location /health {
proxy_pass http://economics_backend/health;
access_log off;
}
}
5. Service Startup
# Enable and start services
systemctl enable aitbc-reputation
systemctl enable aitbc-rewards
systemctl enable aitbc-trading
systemctl enable aitbc-analytics
systemctl enable aitbc-certification
# Start services
systemctl start aitbc-reputation
systemctl start aitbc-rewards
systemctl start aitbc-trading
systemctl start aitbc-analytics
systemctl start aitbc-certification
# Check status
systemctl status aitbc-*
Configuration Details
Reputation System Configuration
# config/reputation.py
REPUTATION_CONFIG = {
"trust_score_weights": {
"performance": 0.35,
"reliability": 0.25,
"community": 0.20,
"economic": 0.15,
"temporal": 0.05
},
"reputation_levels": {
"beginner": {"min_score": 0, "max_score": 399},
"novice": {"min_score": 400, "max_score": 599},
"intermediate": {"min_score": 600, "max_score": 799},
"advanced": {"min_score": 800, "max_score": 949},
"master": {"min_score": 950, "max_score": 1000}
},
"update_frequency": 3600, # 1 hour
"batch_size": 100
}
Reward Engine Configuration
# config/rewards.py
REWARD_CONFIG = {
"tiers": {
"bronze": {"min_points": 0, "multiplier": 1.0},
"silver": {"min_points": 1000, "multiplier": 1.2},
"gold": {"min_points": 5000, "multiplier": 1.5},
"platinum": {"min_points": 15000, "multiplier": 2.0},
"diamond": {"min_points": 50000, "multiplier": 3.0}
},
"bonus_types": {
"performance": {"weight": 0.4, "max_multiplier": 2.0},
"loyalty": {"weight": 0.25, "max_multiplier": 1.5},
"referral": {"weight": 0.2, "max_multiplier": 1.3},
"milestone": {"weight": 0.15, "max_multiplier": 1.8}
},
"distribution_frequency": 86400, # 24 hours
"batch_processing_limit": 1000
}
Trading Protocol Configuration
# config/trading.py
TRADING_CONFIG = {
"matching_weights": {
"price": 0.25,
"specifications": 0.20,
"timing": 0.15,
"reputation": 0.15,
"geography": 0.10,
"availability": 0.10,
"service_level": 0.05
},
"settlement_types": {
"immediate": {"fee_rate": 0.01, "processing_time": 300},
"escrow": {"fee_rate": 0.02, "processing_time": 1800},
"milestone": {"fee_rate": 0.025, "processing_time": 3600},
"subscription": {"fee_rate": 0.015, "processing_time": 600}
},
"negotiation_strategies": {
"aggressive": {"concession_rate": 0.02, "tolerance": 0.05},
"balanced": {"concession_rate": 0.05, "tolerance": 0.10},
"cooperative": {"concession_rate": 0.08, "tolerance": 0.15}
}
}
Monitoring and Logging
Health Check Endpoints
# Health check implementation
@app.get("/health")
async def health_check():
return {
"status": "healthy",
"timestamp": datetime.utcnow().isoformat(),
"version": "1.0.0",
"services": {
"reputation": await check_reputation_health(),
"rewards": await check_rewards_health(),
"trading": await check_trading_health(),
"analytics": await check_analytics_health(),
"certification": await check_certification_health()
}
}
Metrics Collection
# Prometheus metrics setup
from prometheus_client import Counter, Histogram, Gauge
# Request metrics
REQUEST_COUNT = Counter('aitbc_requests_total', 'Total requests', ['method', 'endpoint'])
REQUEST_DURATION = Histogram('aitbc_request_duration_seconds', 'Request duration')
# Business metrics
ACTIVE_AGENTS = Gauge('aitbc_active_agents', 'Number of active agents')
TRANSACTION_VOLUME = Gauge('aitbc_transaction_volume', 'Total transaction volume')
REPUTATION_SCORES = Histogram('aitbc_reputation_scores', 'Reputation score distribution')
Log Configuration
# logging.yaml
version: 1
disable_existing_loggers: false
formatters:
json:
format: '%(asctime)s %(name)s %(levelname)s %(message)s'
class: pythonjsonlogger.jsonlogger.JsonFormatter
handlers:
console:
class: logging.StreamHandler
formatter: json
stream: ext://sys.stdout
file:
class: logging.handlers.RotatingFileHandler
formatter: json
filename: /var/log/aitbc/economics.log
maxBytes: 10485760 # 10MB
backupCount: 5
loggers:
aitbc:
level: INFO
handlers: [console, file]
propagate: false
root:
level: INFO
handlers: [console, file]
Testing and Validation
Pre-deployment Testing
# Run unit tests
pytest tests/unit/ -v --cov=app
# Run integration tests
pytest tests/integration/ -v --cov=app
# Run performance tests
pytest tests/performance/ -v --benchmark-only
# Run security tests
pytest tests/security/ -v
Load Testing
# Install k6 for load testing
curl https://github.com/grafana/k6/releases/download/v0.47.0/k6-v0.47.0-linux-amd64.tar.gz -L | tar xvz
# Run load test
k6 run tests/load/api_load_test.js
Data Validation
# Data validation script
def validate_system_data():
"""Validate system data integrity"""
validation_results = {
"reputation_data": validate_reputation_data(),
"reward_data": validate_reward_data(),
"trading_data": validate_trading_data(),
"analytics_data": validate_analytics_data(),
"certification_data": validate_certification_data()
}
return all(validation_results.values())
Security Considerations
API Security
# Security middleware
from fastapi.middleware.httpsredirect import HTTPSRedirectMiddleware
from fastapi.middleware.trustedhost import TrustedHostMiddleware
app.add_middleware(HTTPSRedirectMiddleware)
app.add_middleware(TrustedHostMiddleware, allowed_hosts=["*.aitbc.bubuit.net"])
# Rate limiting
from slowapi import Limiter, _rate_limit_exceeded_handler
from slowapi.util import get_remote_address
limiter = Limiter(key_func=get_remote_address)
app.state.limiter = limiter
app.add_exception_handler(429, _rate_limit_exceeded_handler)
@app.get("/api/v1/reputation/{agent_id}")
@limiter.limit("100/minute")
async def get_reputation(agent_id: str):
pass
Database Security
-- Database security setup
CREATE ROLE aitbc_app WITH LOGIN PASSWORD 'secure_password';
CREATE ROLE aitbc_readonly WITH LOGIN PASSWORD 'readonly_password';
-- Grant permissions
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO aitbc_app;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO aitbc_readonly;
-- Row level security
ALTER TABLE agent_reputations ENABLE ROW LEVEL SECURITY;
CREATE POLICY agent_reputation_policy ON agent_reputations
FOR ALL TO aitbc_app
USING (agent_id = current_setting('app.current_agent_id'));
Blockchain Security
# Blockchain security configuration
BLOCKCHAIN_CONFIG = {
"contract_address": os.getenv("BLOCKCHAIN_CONTRACT_ADDRESS"),
"private_key": os.getenv("BLOCKCHAIN_PRIVATE_KEY"),
"gas_limit": 300000,
"gas_price": 20, # gwei
"confirmations_required": 2,
"timeout_seconds": 300
}
Backup and Recovery
Database Backup
#!/bin/bash
# backup_database.sh
BACKUP_DIR="/var/backups/aitbc"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/economics_$DATE.sql"
# Create backup
pg_dump -h localhost -U aitbc_user -d aitbc_economics > $BACKUP_FILE
# Compress backup
gzip $BACKUP_FILE
# Remove old backups (keep last 7 days)
find $BACKUP_DIR -name "*.sql.gz" -mtime +7 -delete
echo "Backup completed: $BACKUP_FILE.gz"
Recovery Procedures
#!/bin/bash
# restore_database.sh
BACKUP_FILE=$1
RESTORE_DB="aitbc_economics_restore"
if [ -z "$BACKUP_FILE" ]; then
echo "Usage: $0 <backup_file>"
exit 1
fi
# Create restore database
createdb $RESTORE_DB
# Restore from backup
gunzip -c $BACKUP_FILE | psql -h localhost -U aitbc_user -d $RESTORE_DB
echo "Database restored to $RESTORE_DB"
Performance Optimization
Database Optimization
-- Database performance tuning
-- PostgreSQL configuration recommendations
-- Memory settings
shared_buffers = 256MB
effective_cache_size = 1GB
work_mem = 4MB
maintenance_work_mem = 64MB
-- Connection settings
max_connections = 200
shared_preload_libraries = 'pg_stat_statements'
-- Logging settings
log_min_duration_statement = 1000
log_checkpoints = on
log_connections = on
log_disconnections = on
Application Optimization
# Performance optimization settings
PERFORMANCE_CONFIG = {
"database_pool_size": 20,
"database_max_overflow": 30,
"cache_ttl": 3600,
"batch_size": 1000,
"async_tasks": True,
"connection_timeout": 30,
"query_timeout": 60
}
Caching Strategy
# Redis caching configuration
CACHE_CONFIG = {
"reputation_cache_ttl": 3600, # 1 hour
"reward_cache_ttl": 1800, # 30 minutes
"trading_cache_ttl": 300, # 5 minutes
"analytics_cache_ttl": 600, # 10 minutes
"certification_cache_ttl": 7200 # 2 hours
}
Troubleshooting
Common Issues
-
Database Connection Errors
# Check PostgreSQL status systemctl status postgresql # Check connection psql -h localhost -U aitbc_user -d aitbc_economics -
High Memory Usage
# Check memory usage free -h # Check process memory ps aux --sort=-%mem | head -10 -
Slow API Responses
# Check API response times curl -w "@curl-format.txt" -o /dev/null -s "http://localhost:8000/health"
Debug Mode
# Enable debug mode
DEBUG = os.getenv("DEBUG", "false").lower() == "true"
if DEBUG:
logging.basicConfig(level=logging.DEBUG)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
Maintenance
Regular Maintenance Tasks
#!/bin/bash
# maintenance.sh
# Database maintenance
psql -h localhost -U aitbc_user -d aitbc_economics -c "VACUUM ANALYZE;"
# Log rotation
logrotate -f /etc/logrotate.d/aitbc
# Cache cleanup
redis-cli FLUSHDB
# Health check
curl -f http://localhost:8000/health || echo "Health check failed"
Scheduled Tasks
# /etc/cron.d/aitbc-maintenance
# Daily maintenance at 2 AM
0 2 * * * aitbc /opt/aitbc/scripts/maintenance.sh
# Weekly backup on Sunday at 3 AM
0 3 * * 0 aitbc /opt/aitbc/scripts/backup_database.sh
# Monthly performance report
0 4 1 * * aitbc /opt/aitbc/scripts/generate_performance_report.sh
Rollback Procedures
Application Rollback
# Rollback to previous version
systemctl stop aitbc-*
git checkout previous_version_tag
pip install -r requirements.txt
systemctl start aitbc-*
Database Rollback
# Rollback database to previous backup
./restore_database.sh /var/backups/aitbc/economics_20260226_030000.sql.gz
Support and Contact
Support Channels
- Technical Support: support@aitbc.bubuit.net
- Documentation: https://docs.aitbc.bubuit.net
- Status Page: https://status.aitbc.bubuit.net
- Community Forum: https://community.aitbc.bubuit.net
Emergency Contacts
- Critical Issues: emergency@aitbc.bubuit.net
- Security Issues: security@aitbc.bubuit.net
- 24/7 Hotline: +1-555-123-4567
Version: 1.0.0
Last Updated: February 26, 2026
Next Review: March 26, 2026