Files
aitbc/apps/governance-service
aitbc 852f2e5a8a
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Documentation Validation / validate-docs (push) Has been cancelled
Documentation Validation / validate-policies-strict (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
CLI Tests / test-cli (push) Has been cancelled
Blockchain Synchronization Verification / sync-verification (push) Successful in 11s
Contract Performance Benchmarks / benchmark-gas-usage (push) Successful in 1m36s
Contract Performance Benchmarks / benchmark-execution-time (push) Successful in 1m24s
Contract Performance Benchmarks / benchmark-throughput (push) Successful in 1m25s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Successful in 2s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 5s
Cross-Chain Functionality Tests / test-cross-chain-bridge (push) Has been skipped
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Successful in 3s
Cross-Chain Functionality Tests / aggregate-results (push) Has been skipped
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Successful in 2s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 3s
P2P Network Verification / p2p-verification (push) Successful in 2s
Smart Contract Tests / test-solidity (map[name:aitbc-contracts path:contracts]) (push) Failing after 1m28s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 21s
Smart Contract Tests / test-foundry (push) Failing after 20s
Smart Contract Tests / lint-solidity (push) Successful in 30s
Smart Contract Tests / deploy-contracts (push) Successful in 1m40s
Systemd Sync / sync-systemd (push) Successful in 26s
Contract Performance Benchmarks / compare-benchmarks (push) Successful in 4s
Rename openclaw to hermes across documentation and workflows
- Update workflow paths from docs/openclaw to docs/hermes
- Rename skill prefixes from openclaw-* to hermes-*
- Update agent skill references in refactoring and analysis docs
- Rename OPENCLAW_AITBC_MASTERY_PLAN.md to reflect hermes branding
- Update CLI examples and command references throughout documentation
2026-05-07 11:42:06 +02:00
..

AITBC Governance Service

Manages governance operations.

Installation

cd /opt/aitbc
poetry install --with governance-service

Database Setup

Create a separate database for the governance service:

sudo -u postgres psql -f apps/governance-service/scripts/setup-database.sql

Or manually:

CREATE DATABASE aitbc_governance;
CREATE USER aitbc_governance WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE aitbc_governance TO aitbc_governance;

Running

# Development
python -m governance_service.main

# Production (systemd)
sudo systemctl start governance-service
sudo systemctl enable governance-service

Endpoints

  • GET /health - Health check
  • GET /governance/status - Get governance status
  • GET /v1/governance/profiles - Get governance profiles
  • GET /v1/governance/profiles/{profile_id} - Get specific profile
  • POST /v1/governance/profiles - Create new profile
  • GET /v1/governance/proposals - Get proposals
  • GET /v1/governance/proposals/{proposal_id} - Get specific proposal
  • POST /v1/governance/proposals - Create new proposal
  • GET /v1/governance/votes - Get votes
  • POST /v1/governance/votes - Create new vote
  • GET /v1/governance/treasury - Get DAO treasury
  • GET /v1/governance/analytics - Get governance analytics

Testing

Prerequisites

  • PostgreSQL running and aitbc_governance database created
  • Poetry dependencies installed

Database Setup

sudo -u postgres psql -f scripts/setup-database.sql

Start Service (Development)

python -m governance_service.main

Health Check

curl http://localhost:8105/health

Expected response:

{"status": "healthy", "service": "governance-service"}

Governance Status

curl http://localhost:8105/governance/status

Expected response:

{
  "status": "operational",
  "service": "governance-service",
  "message": "Governance service is running"
}

Get Governance Proposals

curl http://localhost:8105/v1/governance/proposals

Expected response:

[]

Create Governance Proposal

curl -X POST http://localhost:8105/v1/governance/proposals \
  -H "Content-Type: application/json" \
  -d '{
    "proposer_id": "test_proposer",
    "title": "Test Proposal",
    "description": "Test description",
    "category": "general",
    "voting_starts": "2026-05-01T00:00:00Z",
    "voting_ends": "2026-05-08T00:00:00Z"
  }'

Test Through Gateway

  1. Start the API gateway:

    python -m api_gateway.main
    
  2. Test governance endpoints through the gateway:

    curl http://localhost:8080/governance/health
    curl http://localhost:8080/governance/v1/governance/proposals
    

For comprehensive testing procedures, see MICROSERVICES_TESTING_GUIDE.md.

Service Configuration

  • Port: 8105
  • Database: aitbc_governance
  • Gateway route: /governance/*

Migration Status

Completed:

  • Extracted governance domain models (GovernanceProfile, Proposal, Vote, DaoTreasury, TransparencyReport)
  • Extracted governance services (GovernanceService with CRUD operations)
  • Set up database session management
  • Extracted governance router endpoints
  • Created systemd service configuration
  • Created database setup script

Remaining:

  • Remove governance routers from coordinator-api
  • Remove governance services from coordinator-api
  • Remove governance domain models from coordinator-api
  • Run database migration script to create aitbc_governance database
  • Install and enable systemd service
  • End-to-end testing with gateway

Note: The governance service is ~50K lines, so full removal from coordinator-api requires careful coordination to avoid breaking existing functionality. The foundation is in place for gradual migration.