- Add deployment script for integrated blockchain node with mempool support
- Create comprehensive setup documentation from scratch
- Add agent workflow for automated deployment
- Support both bare metal and container deployments
- Include verification steps and troubleshooting guide
- Provide configuration templates for hub and follower nodes
- Added ns3 node documentation with IP 95.216.198.140
- Updated multi-node operations to include ns3
- Added ns3-specific command examples for environment checks
- Added /v1 prefix to all business logic routers in coordinator-api (analytics, portfolio, reputation, rewards, staking)
- Updated agent-coordinator to include /v1 prefix for all routers
- Changed agent-management API prefix from /api/v1 to /v1
- Updated api-gateway service prefixes to include /v1 for all proxied services
- Fixed coordinator-api routers to use correct service imports (AgentServiceMarketplace instead
- Add error handling to list_profiles, list_metrics, and seed_profiles methods
- Add logger and GPURegistry imports to edge_gpu_service.py
- Fix discover_and_register_edge_gpus to query GPURegistry instead of returning empty placeholder
- Make all EdgeGPUService methods async to match AsyncSession
- Add await to edge GPU endpoint calls in main.py
- Remove User=aitbc directive from gpu-service.service (user doesn't exist)
- Install and enable gpu-service as systemd service
All edge GPU endpoints now return proper responses instead of 500 errors:
- /v1/marketplace/edge-gpu/profiles - returns profiles or empty array
- /v1/marketplace/edge-gpu/scan/{miner_id} - returns registered GPUs from GPURegistry
- /v1/marketplace/edge-gpu/metrics/{gpu_id} - returns metrics or empty array
- Added WORKSPACE env variable to all workflow jobs
- Changed hardcoded workspace paths to use ${{ env.WORKSPACE }}
- Updated paths in api-endpoint-tests.yml, build-miner-binary.yml, cli-level1-tests.yml, contract-benchmarks.yml, cross-node-transaction-testing.yml, and deployment-tests.yml
- Standardized workspace path references across all workflow files
- Added WORKSPACE env variable to all workflow jobs
- Changed hardcoded workspace paths to use ${{ env.WORKSPACE }}
- Added pull_request path filters to blockchain-sync-verification.yml
- Updated cross-chain-tests.yml path filters to apps/blockchain-node/** and scripts/multi-node/**
- Removed ait-devnet from default chains in cross-chain-tests.yml
- Disabled test-cross-chain-bridge job (test file not implemented)
- Removed test-cross-chain-bridge from aggregate
- Changed from cross-platform testing to Debian stable only
- Updated prerequisites to Debian stable test environment
- Renamed section from Cross-Platform Compatibility to Debian Stable Compatibility
- Removed Windows, macOS, CentOS, and Ubuntu references
- Removed AMD ROCm and Apple Silicon GPU support
- Removed browser compatibility testing
- Updated CI/CD workflow paths from .github to .gitea
- Updated verification checklist and troubleshooting section
- Changed GitHub Actions references to Gitea Actions
- Updated repository secrets references from GitHub to Gitea
- Updated workflow file paths from .github/workflows/ to .gitea/workflows/
- Updated all automated publishing references to use Gitea Actions
- Changed from cross-platform (Linux, Windows, macOS) to Debian stable only
- Updated prerequisites to Debian stable build machine
- Updated build environment to Debian stable (bookworm)
- Removed Windows and macOS build steps
- Updated CI/CD to single platform build
- Updated installation guides to Debian only
- Updated ROADMAP.md to reflect Debian stable miner binary
- Moved 6 workflow plans from .windsurf/workflows/ to .windsurf/plans/
- Maintains git history with git mv
- Organizes plans in dedicated plans directory
- Add new section 2.1 "Genesis Block Mismatch Issues" to troubleshooting documentation
- Document symptoms: "Unhandled import case" errors, sync failures, different genesis hashes
- Add diagnostic commands to check genesis block hashes across nodes and verify RPC bootstrap
- Provide step-by-step solution to force RPC bootstrap by deleting genesis block
- Explain how RPC bootstrap works and its configuration requirements
- Update configuration
- Add block_production_chains and enable_block_production to node-specific configuration list
- Clarify that block production settings belong in node.env, not blockchain.env
- Update example configurations for aitbc, aitbc1, and gitea-runner to show proper file separation
- Move block production settings from blockchain.env examples to node.env examples
- Update documentation to reflect consolidation of production.env into blockchain.env
- Change file references in configuration management, agent training, and release docs
- Update troubleshooting and setup instructions to use blockchain.env
- Remove references to deprecated 3-file structure (blockchain.env, node.env, production.env)
- Document completed consolidation benefits and migration steps
- Add curl example for localhost RPC endpoint (127.0.0.1:8006/rpc/head)
- Add RPC access examples for aitbc1 (localhost and aitbc hostname)
- Create Important Notes section with SSH best practices
- Document localhost command execution (no SSH needed)
- Add guidance on proper quoting and connectivity testing
- Move 6 OpenClaw skills to .windsurf/skills/archive/ (legacy, moved to hermes agent)
- Update service port 8000 to 8011 in aitbc-basic-operations-skill.md
- Update service port 8000 to 8011 in blockchain-troubleshoot-recovery.md
- Coordinator API now on port 8011 (not 8000)
- Partial audit of windsurf AITBC skills for codebase accuracy
- Create aitbc-cli-operations.md in .windsurf/skills/
- Format for windsurf/Cascade agent system (YAML frontmatter, purpose, activation, input/output schemas)
- Document all AITBC CLI operations: wallet management, transactions, blockchain analytics, marketplace, AI jobs, mining, agent operations, simulations
- Include default configuration, authentication, common errors
- Similar to Hermes skill but formatted for windsurf agent system
- Add handle_ai_distribution_stats() to query task distribution statistics from coordinator
- Update handle_agent_sdk_action() register to call /agents/register endpoint with full registration data
- Update handle_agent_sdk_action() list to call /agents/discover endpoint with filtering
- Update handle_agent_sdk_action() status to call /agents/{agent_id} endpoint
- Add handle_agent_sdk_action() update-status to call /agents/{agent_id}/status endpoint
- Add CLI
- 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
- Add aitbc2 blockchain node access documentation via gitea-runner SSH
- Fix wallet send command syntax to use proper --wallet-name flag format
- Update stage1 training commands to include --fee and --password parameters
Replaced direct AITBC CLI command execution with OpenClaw agent-based execution that respects the allowlist:
- Changed openclaw_training_operations to execute commands via `openclaw agent --message` instead of direct CLI calls
- Removed operation-specific command building logic (wallet_create, genesis_init, etc.)
- Simplified execution flow to single OpenClaw agent invocation with prompt message
- Added prerequisites
Updated training plan to reflect recent codebase changes:
- Added Coordinator API (8011) to service endpoints
- Added Gitea-Runner node to architecture (3-node setup)
- Added Section 2.5: Keystore Security and MAC Computation
- HMAC-SHA256 MAC computation for password validation
- Web3 keystore format verification
- Password validation testing
- Added Section 2.6: Agent SDK Signature Verification
- ed25519 signature generation and verification
- Coordinator API public key fetch
- Signature verification flow
- Added Section 5.5: Agent Integration Service Management
- Systemd-based agent deployment
- Health checks (systemd + HTTP)
- Metrics collection (CPU, memory, error rate, response time)
- Alerting rules configuration
- Lifecycle management (deploy, rollback, remove)
- Updated service health monitoring to include all three nodes
- Updated environment variables to include COORDINATOR_API_URL
- Updated service dependencies to include Coordinator API
- Updated version to 2.2
- Add comprehensive workflow for checking logfiles and journalctl across all 3 nodes
- Include SystemD service status, application logs, journal logs checks
- Add error pattern search, P2P network health, resource checks
- Include CI log check for gitea-runner
- Provide quick check commands for single and multi-node scenarios
- Simplify root README to focus on implemented features and quick navigation
- Replace verbose project structure with concise feature list
- Remove recent achievements section (moved to release notes)
- Add direct links to master index and main documentation
- Update MASTER_INDEX.md to focus on documentation catalog
- Remove project completion status (moved to release notes)
- Remove learning path sections (kept in individual path
- Added gitea-runner node to all verification steps
- Added Section 8: Push to GitHub (Milestone Only) as final step
- Updated Quick Commands to include gitea-runner sync
- Updated Milestone Push Workflow with 3-node verification
- Updated Troubleshooting section to handle gitea-runner sync issues
- Add status fields to Receipt model (status, claimed_at, claimed_by)
- Add RECEIPT_CLAIM handling to state_transition.py with validation and reward minting
- Add type field to Transaction model for reliable transaction type storage
- Update router to use TransactionRequest model to preserve type field
- Update poa.py to extract type from mempool transaction content and store only original payload
- Add RECEIPT_CLAIM to GasType enum with gas schedule
- Change SQLite journal mode from DELETE to WAL for better concurrency
- Add chattr +C to /var/lib/aitbc in setup.sh to disable Btrfs Copy-on-Write
- Add fallback logging when chattr is unavailable or fails
- Prevent SQLite corruption on Btrfs filesystems by ensuring overwrite-in-place behavior
- Documented Gitea remote setup with HTTP token authentication
- Added credential storage and authentication method documentation
- Used placeholder variables instead of actual tokens
- Added security notes about token management
- Never commit actual tokens to version control
- Updated Gitea domain from gitea.keisanki.net to gitea.bubuit.net
- Fixed GitHub remote to remove exposed token from URL
- Updated Gitea remote to use SSH instead of HTTP with token
- Updated all web interface URLs to use correct domain
- Clarified authentication methods for both remotes
- Added ripgrep (rg) usage notes and preference over grep for targeted searches
- Updated log discovery examples to use rg with --fixed-strings for workflow/job name searches
- Added failure-marker search pattern (❌|Traceback|FAILED|etc.) for quick issue identification
- Replaced grep with rg in runner health checks (dmesg, journalctl)
- Added failure marker search to quick-start one-liner
- Preserved awk usage for tab
Added comprehensive documentation for autonomous investigation of failed Gitea Actions runs via SSH access to gitea-runner host. Includes log location mapping, classification heuristics for distinguishing workflow/dependency/application/service/infrastructure failures, and evidence-based debug suggestion templates. Provides read-only investigation sequences with safety constraints to prevent conflating application failures with runner inst