# AITBC Development Roadmap This roadmap aggregates high-priority tasks derived from the bootstrap specifications in `docs/bootstrap/` and tracks progress across the monorepo. Update this document as milestones evolve. ## Stage 1 — Upcoming Focus Areas [COMPLETED: 2025-12-22] - **Blockchain Node Foundations** - ✅ Bootstrap module layout in `apps/blockchain-node/src/`. - ✅ Implement SQLModel schemas and RPC stubs aligned with historical/attested receipts. - **Explorer Web Enablement** - ✅ Finish mock integration across all pages and polish styling + mock/live toggle. - ✅ Begin wiring coordinator endpoints (e.g., `/v1/jobs/{job_id}/receipts`). - **Marketplace Web Scaffolding** - ✅ Scaffold Vite/vanilla frontends consuming coordinator receipt history endpoints and SDK examples. - **Pool Hub Services** - ✅ Initialize FastAPI project, scoring registry, and telemetry ingestion hooks leveraging coordinator/miner metrics. - **CI Enhancements** - ✅ Add blockchain-node tests once available and frontend build/lint checks to `.github/workflows/python-tests.yml` or follow-on workflows. - ✅ Provide systemd unit + installer scripts under `scripts/` for streamlined deployment. ## Stage 2 — Core Services (MVP) [COMPLETED: 2025-12-22] - **Coordinator API** - ✅ Scaffold FastAPI project (`apps/coordinator-api/src/app/`). - ✅ Implement job submission, status, result endpoints. - ✅ Add miner registration, heartbeat, poll, result routes. - ✅ Wire SQLite persistence for jobs, miners, receipts (historical `JobReceipt` table). - ✅ Provide `.env.example`, `pyproject.toml`, and run scripts. - ✅ Deploy minimal version in container with nginx proxy - **Miner Node** - ✅ Implement capability probe and control loop (register → heartbeat → fetch jobs). - ✅ Build CLI and Python runners with sandboxed work dirs (result reporting stubbed to coordinator). - **Blockchain Node** - ✅ Define SQLModel schema for blocks, transactions, accounts, receipts (`apps/blockchain-node/src/aitbc_chain/models.py`). - ✅ Harden schema parity across runtime + storage: - Alembic baseline + follow-on migrations in `apps/blockchain-node/migrations/` now track the SQLModel schema (blocks, transactions, receipts, accounts). - Added `Relationship` + `ForeignKey` wiring in `apps/blockchain-node/src/aitbc_chain/models.py` for block ↔ transaction ↔ receipt joins. - Introduced hex/enum validation hooks via Pydantic validators to ensure hash integrity and safe persistence. - ✅ Implement PoA proposer loop with block assembly (`apps/blockchain-node/src/aitbc_chain/consensus/poa.py`). - ✅ Expose REST RPC endpoints for tx submission, balances, receipts (`apps/blockchain-node/src/aitbc_chain/rpc/router.py`). - ✅ Deliver WebSocket RPC + P2P gossip layer: - ✅ Stand up WebSocket subscription endpoints (`apps/blockchain-node/src/aitbc_chain/rpc/websocket.py`) mirroring REST payloads. - ✅ Implement pub/sub transport for block + transaction gossip backed by an in-memory broker (Starlette `Broadcast` or Redis) with configurable fan-out. - ✅ Add integration tests and load-test harness ensuring gossip convergence and back-pressure handling. - ✅ Ship devnet scripts (`apps/blockchain-node/scripts/`). - ✅ Add observability hooks (JSON logging, Prometheus metrics) and integrate coordinator mock into devnet tooling. - ✅ Expand observability dashboards + miner mock integration: - Build Grafana dashboards for consensus health (block intervals, proposer rotation) and RPC latency (`apps/blockchain-node/observability/`). - Expose miner mock telemetry (job throughput, error rates) via shared Prometheus registry and ingest into blockchain-node dashboards. - Add alerting rules (Prometheus `Alertmanager`) for stalled proposers, queue saturation, and miner mock disconnects. - Wire coordinator mock into devnet tooling to simulate real-world load and validate observability hooks. - **Receipt Schema** - ✅ Finalize canonical JSON receipt format under `protocols/receipts/` (includes sample signed receipts). - ✅ Implement signing/verification helpers in `packages/py/aitbc-crypto` (JS SDK pending). - ✅ Translate `docs/bootstrap/aitbc_tech_plan.md` contract skeleton into Solidity project (`packages/solidity/aitbc-token/`). - ✅ Add deployment/test scripts and document minting flow (`packages/solidity/aitbc-token/scripts/` and `docs/run.md`). - **Wallet Daemon** - ✅ Implement encrypted keystore (Argon2id + XChaCha20-Poly1305) via `KeystoreService`. - ✅ Provide REST and JSON-RPC endpoints for wallet management and signing (`api_rest.py`, `api_jsonrpc.py`). - ✅ Add mock ledger adapter with SQLite backend powering event history (`ledger_mock/`). - ✅ Integrate Python receipt verification helpers (`aitbc_sdk`) and expose API/service utilities validating miner + coordinator signatures. - ✅ Harden REST API workflows (create/list/unlock/sign) with structured password policy enforcement and deterministic pytest coverage in `apps/wallet-daemon/tests/test_wallet_api.py`. - ✅ Implement Wallet SDK receipt ingestion + attestation surfacing: - Added `/v1/jobs/{job_id}/receipts` client helpers with cursor pagination, retry/backoff, and summary reporting (`packages/py/aitbc-sdk/src/receipts.py`). - Reused crypto helpers to validate miner and coordinator signatures, capturing per-key failure reasons for downstream UX. - Surfaced aggregated attestation status (`ReceiptStatus`) and failure diagnostics for SDK + UI consumers; JS helper parity still planned. ## Stage 3 — Pool Hub & Marketplace [COMPLETED: 2025-12-22] - **Pool Hub** - ✅ Implement miner registry, scoring engine, and `/v1/match` API with Redis/PostgreSQL backing stores. - ✅ Add observability endpoints (`/v1/health`, `/v1/metrics`) plus Prometheus instrumentation and integration tests. - **Marketplace Web** - ✅ Initialize Vite project with vanilla TypeScript (`apps/marketplace-web/`). - ✅ Build offer list, bid form, and stats cards powered by mock data fixtures (`public/mock/`). - ✅ Provide API abstraction toggling mock/live mode (`src/lib/api.ts`) and wire coordinator endpoints. - ✅ Validate live mode against coordinator `/v1/marketplace/*` responses and add auth feature flags for rollout. - ✅ Deploy to production at https://aitbc.bubuit.net/marketplace/ - **Explorer Web** - ✅ Initialize Vite + TypeScript project scaffold (`apps/explorer-web/`). - ✅ Add routed pages for overview, blocks, transactions, addresses, receipts. - ✅ Seed mock datasets (`public/mock/`) and fetch helpers powering overview + blocks tables. - ✅ Extend mock integrations to transactions, addresses, and receipts pages. - ✅ Implement styling system, mock/live data toggle, and coordinator API wiring scaffold. - ✅ Render overview stats from mock block/transaction/receipt summaries with graceful empty-state fallbacks. - ✅ Validate live mode + responsive polish: - Hit live coordinator endpoints via nginx (`/api/explorer/blocks`, `/api/explorer/transactions`, `/api/explorer/addresses`, `/api/explorer/receipts`) via `getDataMode() === "live"` and reconcile payloads with UI models. - Add fallbacks + error surfacing for partial/failed live responses (toast + console diagnostics). - Audit responsive breakpoints (`public/css/layout.css`) and adjust grid/typography for tablet + mobile; add regression checks in Percy/Playwright snapshots. - ✅ Deploy to production at https://aitbc.bubuit.net/explorer/ with genesis block display ## Stage 4 — Observability & Production Polish - **Observability & Telemetry** - ✅ Build Grafana dashboards for PoA consensus health (block intervals, proposer rotation cadence) leveraging `poa_last_block_interval_seconds`, `poa_proposer_rotations_total`, and per-proposer counters. - ✅ Surface RPC latency histograms/summaries for critical endpoints (`rpc_get_head`, `rpc_send_tx`, `rpc_submit_receipt`) and add Grafana panels with SLO thresholds. - ✅ Ingest miner mock telemetry (job throughput, failure rate) into the shared Prometheus registry and wire panels/alerts that correlate miner health with consensus metrics. - **Explorer Web (Live Mode)** - ✅ Finalize live `getDataMode() === "live"` workflow: align API payload contracts, render loading/error states, and persist mock/live toggle preference. - ✅ Expand responsive testing (tablet/mobile) and add automated visual regression snapshots prior to launch. - ✅ Integrate Playwright smoke tests covering overview, blocks, and transactions pages in live mode. - **Marketplace Web (Launch Readiness)** - ✅ Connect mock listings/bids to coordinator data sources and provide feature flags for live mode rollout. - ✅ Implement auth/session scaffolding for marketplace actions and document API assumptions in `apps/marketplace-web/README.md`. - ✅ Add Grafana panels monitoring marketplace API throughput and error rates once endpoints are live. - **Operational Hardening** - ✅ Extend Alertmanager rules to cover RPC error spikes, proposer stalls, and miner disconnects using the new metrics. - ✅ Document dashboard import + alert deployment steps in `docs/run.md` for operators. - ✅ Prepare Stage 3 release checklist linking dashboards, alerts, and smoke tests prior to production cutover. - ✅ Enable host GPU miner with coordinator proxy routing and systemd-backed coordinator service; add proxy health timer. ## Stage 5 — Scaling & Release Readiness - **Infrastructure Scaling** - ✅ Benchmark blockchain node throughput under sustained load; capture CPU/memory targets and suggest horizontal scaling thresholds. - ✅ Build Terraform/Helm templates for dev/staging/prod environments, including Prometheus/Grafana bundles. - ✅ Implement autoscaling policies for coordinator, miners, and marketplace services with synthetic traffic tests. - **Reliability & Compliance** - ✅ Formalize backup/restore procedures for PostgreSQL, Redis, and ledger storage with scheduled jobs. - ✅ Complete security hardening review (TLS termination, API auth, secrets management) and document mitigations in `docs/security.md`. - ✅ Add chaos testing scripts (network partition, coordinator outage) and track mean-time-to-recovery metrics. - **Product Launch Checklist** - ✅ Finalize public documentation (API references, onboarding guides) and publish to the docs portal. - ✅ Coordinate beta release timeline, including user acceptance testing of explorer/marketplace live modes. - ✅ Establish post-launch monitoring playbooks and on-call rotations. ## Stage 6 — Ecosystem Expansion - **Cross-Chain & Interop** - ✅ Prototype cross-chain settlement hooks leveraging external bridges; document integration patterns. - ✅ Extend SDKs (Python/JS) with pluggable transport abstractions for multi-network support. - 🔄 Evaluate third-party explorer/analytics integrations and publish partner onboarding guides. - **Marketplace Growth** - 🔄 Launch incentive programs (staking, liquidity mining) and expose telemetry dashboards tracking campaign performance. - 🔄 Implement governance module (proposal voting, parameter changes) and add API/UX flows to explorer/marketplace. - 🔄 Provide SLA-backed coordinator/pool hubs with capacity planning and billing instrumentation. - **Developer Experience** - ✅ Publish advanced tutorials (custom proposers, marketplace extensions) and maintain versioned API docs. - 🔄 Integrate CI/CD pipelines with canary deployments and blue/green release automation. - 🔄 Host quarterly architecture reviews capturing lessons learned and feeding into roadmap revisions. ## Stage 7 — Innovation & Ecosystem Services - **GPU Service Expansion** - ✅ Implement dynamic service registry framework for 30+ GPU-accelerated services - ✅ Create service definitions for AI/ML (LLM inference, image/video generation, speech recognition, computer vision, recommendation systems) - ✅ Create service definitions for Media Processing (video transcoding, streaming, 3D rendering, image/audio processing) - ✅ Create service definitions for Scientific Computing (molecular dynamics, weather modeling, financial modeling, physics simulation, bioinformatics) - ✅ Create service definitions for Data Analytics (big data processing, real-time analytics, graph analytics, time series analysis) - ✅ Create service definitions for Gaming & Entertainment (cloud gaming, asset baking, physics simulation, VR/AR rendering) - ✅ Create service definitions for Development Tools (GPU compilation, model training, data processing, simulation testing, code generation) - ✅ Deploy service provider configuration UI with dynamic service selection - ✅ Implement service-specific validation and hardware requirement checking - **Advanced Cryptography & Privacy** - ✅ Research zk-proof-based receipt attestation and prototype a privacy-preserving settlement flow. - ✅ Add confidential transaction support with opt-in ciphertext storage and HSM-backed key management. - ✅ Publish threat modeling updates and share mitigations with ecosystem partners. - **Enterprise Integrations** - ✅ Deliver reference connectors for ERP/payment systems and document SLA expectations. - ✅ Stand up multi-tenant coordinator infrastructure with per-tenant isolation and billing metrics. - ✅ Launch ecosystem certification program (SDK conformance, security best practices) with public registry. - **Community & Governance** - ✅ Establish open RFC process, publish governance website, and schedule regular community calls. - ✅ Sponsor hackathons/accelerators and provide grants for marketplace extensions and analytics tooling. - ✅ Track ecosystem KPIs (active marketplaces, cross-chain volume) and feed them into quarterly strategy reviews. ## Stage 8 — Frontier R&D & Global Expansion [COMPLETED: 2025-12-28] - **Protocol Evolution** - ✅ Launch research consortium exploring next-gen consensus (hybrid PoA/PoS) and finalize whitepapers. - 🔄 Prototype sharding or rollup architectures to scale throughput beyond current limits. - 🔄 Standardize interoperability specs with industry bodies and submit proposals for adoption. - **Global Rollout** - 🔄 Establish regional infrastructure hubs (multi-cloud) with localized compliance and data residency guarantees. - 🔄 Partner with regulators/enterprises to pilot regulated marketplaces and publish compliance playbooks. - 🔄 Expand localization (UI, documentation, support) covering top target markets. - **Long-Term Sustainability** - 🔄 Create sustainability fund for ecosystem maintenance, bug bounties, and community stewardship. - 🔄 Define succession planning for core teams, including training programs and contributor pathways. - 🔄 Publish bi-annual roadmap retrospectives assessing KPI alignment and revising long-term goals. ## Stage 9 — Moonshot Initiatives [COMPLETED: 2025-12-28] - **Decentralized Infrastructure** - 🔄 Transition coordinator/miner roles toward community-governed validator sets with incentive alignment. - 🔄 Explore decentralized storage/backbone options (IPFS/Filecoin) for ledger and marketplace artifacts. - 🔄 Prototype fully trustless marketplace settlement leveraging zero-knowledge rollups. - **AI & Automation** - 🔄 Integrate AI-driven monitoring/anomaly detection for proposer health, market liquidity, and fraud detection. - 🔄 Automate incident response playbooks with ChatOps and policy engines. - 🔄 Launch research into autonomous agent participation (AI agents bidding/offering in the marketplace) and governance implications. - **Global Standards Leadership** - 🔄 Chair industry working groups defining receipt/marketplace interoperability standards. - 🔄 Publish annual transparency reports and sustainability metrics for stakeholders. - 🔄 Engage with academia and open-source foundations to steward long-term protocol evolution. ### Stage 10 — Stewardship & Legacy Planning [COMPLETED: 2025-12-28] - **Open Governance Maturity** - 🔄 Transition roadmap ownership to community-elected councils with transparent voting and treasury controls. - 🔄 Codify constitutional documents (mission, values, conflict resolution) and publish public charters. - 🔄 Implement on-chain governance modules for protocol upgrades and ecosystem-wide decisions. - **Educational & Outreach Programs** - 🔄 Fund university partnerships, research chairs, and developer fellowships focused on decentralized marketplace tech. - 🔄 Create certification tracks and mentorship programs for new validator/operators. - 🔄 Launch annual global summit and publish proceedings to share best practices across partners. - **Long-Term Preservation** - 🔄 Archive protocol specs, governance records, and cultural artifacts in decentralized storage with redundancy. - 🔄 Establish legal/organizational frameworks to ensure continuity across jurisdictions. - 🔄 Develop end-of-life/transition plans for legacy components, documenting deprecation strategies and migration tooling. ## Shared Libraries & Examples ## Stage 11 — Trade Exchange & Token Economy [COMPLETED: 2025-12-28] - **Bitcoin Wallet Integration** - ✅ Implement Bitcoin payment gateway for AITBC token purchases - ✅ Create payment request API with unique payment addresses - ✅ Add QR code generation for mobile payments - ✅ Implement real-time payment monitoring with blockchain API - ✅ Configure exchange rate: 1 BTC = 100,000 AITBC - **User Management System** - ✅ Implement wallet-based authentication with session management - ✅ Create individual user accounts with unique wallets - ✅ Add user profile pages with transaction history - ✅ Implement secure session tokens with 24-hour expiry - ✅ Add login/logout functionality across all pages - **Trade Exchange Platform** - ✅ Build responsive trading interface with real-time price updates - ✅ Integrate Bitcoin payment flow with QR code display - ✅ Add payment status monitoring and confirmation handling - ✅ Implement AITBC token minting upon payment confirmation - ✅ Deploy to production at https://aitbc.bubuit.net/Exchange/ - **API Infrastructure** - ✅ Add user management endpoints (/api/users/*) - ✅ Implement exchange payment endpoints (/api/exchange/*) - ✅ Add session-based authentication for protected routes - ✅ Create transaction history and balance tracking APIs - ✅ Fix all import and syntax errors in coordinator API ## Stage 13 — Explorer Live API & Reverse Proxy Fixes [COMPLETED: 2025-12-28] - **Explorer Live API** - ✅ Enable coordinator explorer routes at `/v1/explorer/*`. - ✅ Expose nginx explorer proxy at `/api/explorer/*` (maps to backend `/v1/explorer/*`). - ✅ Fix response schema mismatches (e.g., receipts response uses `jobId`). - **Coordinator API Users/Login** - ✅ Ensure `/v1/users/login` is registered and working. - ✅ Fix missing SQLModel tables by initializing DB on startup (wallet/user tables created). - **nginx Reverse Proxy Hardening** - ✅ Fix `/api/v1/*` routing to avoid double `/v1` prefix. - ✅ Add compatibility proxy for Exchange: `/api/users/*` → backend `/v1/users/*`. ## Stage 12 — Zero-Knowledge Proof Implementation [COMPLETED: 2025-12-28] - **Circom Compiler Setup** - ✅ Install Circom compiler v2.2.3 on production server - ✅ Configure Node.js environment for ZK circuit compilation - ✅ Install circomlib and required dependencies - **ZK Circuit Development** - ✅ Create receipt attestation circuit (receipt_simple.circom) - ✅ Implement membership proof circuit template - ✅ Implement bid range proof circuit template - ✅ Compile circuits to R1CS, WASM, and symbolic files - **Trusted Setup Ceremony** - ✅ Perform Powers of Tau setup ceremony (2^12) - ✅ Generate proving keys (zkey) for Groth16 - ✅ Export verification keys for on-chain verification - ✅ Complete phase 2 preparation with contributions - **ZK Applications API** - ✅ Implement identity commitment endpoints - ✅ Create stealth address generation service - ✅ Add private receipt attestation API - ✅ Implement group membership proof verification - ✅ Add private bidding functionality - ✅ Create computation proof verification - ✅ Deploy to production at /api/zk/ endpoints - **Integration & Deployment** - ✅ Integrate ZK proof service with coordinator API - ✅ Configure circuit files in production environment - ✅ Enable ZK proof generation in coordinator service - ✅ Update documentation with ZK capabilities ## Stage 14 — Explorer JavaScript Error Fixes [COMPLETED: 2025-12-30] - **JavaScript Error Resolution** - ✅ Fixed "can't access property 'length', t is undefined" error on Explorer page load - ✅ Updated fetchMock function in mockData.ts to return correct structure with 'items' property - ✅ Added defensive null checks in all page init functions (overview, blocks, transactions, addresses, receipts) - ✅ Fixed TypeScript errors for null checks and missing properties - ✅ Deployed fixes to production server (/var/www/aitbc.bubuit.net/explorer/) - ✅ Configured mock data serving from correct path (/explorer/mock/) ## Stage 15 — Cascade Skills Framework [COMPLETED: 2025-01-19] - **Skills Infrastructure** - ✅ Implement Cascade skills framework for complex workflow automation - ✅ Create skills directory structure at `.windsurf/skills/` - ✅ Define skill metadata format with YAML frontmatter - ✅ Add progressive disclosure for intelligent skill invocation - **Deploy-Production Skill** - ✅ Create comprehensive deployment workflow skill - ✅ Implement pre-deployment validation script (disk, memory, services, SSL) - ✅ Add environment template with all production variables - ✅ Create rollback procedures with emergency steps - ✅ Build health check script for post-deployment verification - **Blockchain-Operations Skill** - ✅ Create node health monitoring with peer analysis and sync status - ✅ Implement transaction tracer for debugging and gas optimization - ✅ Build GPU mining optimization script for NVIDIA/AMD cards - ✅ Add real-time sync monitor with visual progress bar - ✅ Create network diagnostics tool with connectivity analysis - **Skills Integration** - ✅ Enable automatic skill invocation based on context - ✅ Add manual skill triggering with keyword detection - ✅ Implement error handling and logging in all skills - ✅ Create comprehensive documentation and usage examples ## Stage 16 — Service Maintenance & Optimization [COMPLETED: 2026-01-21] - **Service Recovery** - ✅ Diagnose and fix all failing AITBC container services - ✅ Resolve duplicate service conflicts causing port binding errors - ✅ Fix marketplace service implementation (missing server.py) - ✅ Disable redundant services to prevent resource conflicts - **System Administration** - ✅ Configure passwordless SSH access for automation - ✅ Create dedicated SSH keys for secure service management - ✅ Document service dependencies and port mappings - ✅ Establish service monitoring procedures - **Service Status Verification** - ✅ Verify all 7 core services running correctly - ✅ Confirm proper nginx reverse proxy configuration - ✅ Validate API endpoints accessibility - ✅ Test service recovery procedures ## Stage 17 — Ollama GPU Inference & CLI Tooling [COMPLETED: 2026-01-24] - **End-to-End Ollama Testing** - ✅ Verify complete GPU inference workflow from job submission to receipt generation - ✅ Test Ollama integration with multiple models (llama3.2, mistral, deepseek, etc.) - ✅ Validate job lifecycle: QUEUED → RUNNING → COMPLETED - ✅ Confirm receipt generation with accurate payment calculations - ✅ Record transactions on blockchain with proper metadata - **Coordinator API Bug Fixes** - ✅ Fix missing `_coerce_float()` helper function causing 500 errors - ✅ Deploy fix to production incus container via SSH - ✅ Verify result submission returns 200 OK with valid receipts - ✅ Validate receipt payload structure and signature generation - **Miner Configuration & Optimization** - ✅ Fix miner ID mismatch (host-gpu-miner → ${MINER_API_KEY}) - ✅ Enhance logging with explicit flush handlers for systemd journal - ✅ Configure unbuffered Python logging environment variables - ✅ Create systemd service unit with proper environment configuration - **CLI Tooling Development** - ✅ Create unified bash CLI wrapper (`scripts/aitbc-cli.sh`) - ✅ Implement commands: submit, status, browser, blocks, receipts, cancel - ✅ Add admin commands: admin-miners, admin-jobs, admin-stats - ✅ Support environment variable overrides for URL and API keys - ✅ Make script executable and document usage patterns - **Blockchain-Operations Skill Enhancement** - ✅ Add comprehensive Ollama testing scenarios to skill - ✅ Create detailed test documentation (`ollama-test-scenario.md`) - ✅ Document common issues and troubleshooting procedures - ✅ Add performance metrics and expected results - ✅ Include end-to-end automation script template - **Documentation Updates** - ✅ Update localhost testing scenario with CLI wrapper usage - ✅ Convert examples to use localhost URLs (127.0.0.1) - ✅ Add host user paths and quick start commands - ✅ Document complete workflow from setup to verification - ✅ Update skill documentation with testing scenarios ## Stage 18 — Repository Reorganization & CSS Consolidation [COMPLETED: 2026-01-24] - **Root Level Cleanup** - ✅ Move 60+ loose files from root to proper directories - ✅ Organize deployment scripts into `scripts/deploy/` - ✅ Organize GPU miner files into `scripts/gpu/` - ✅ Organize test/verify files into `scripts/test/` - ✅ Organize service management scripts into `scripts/service/` - ✅ Move systemd services to `systemd/` - ✅ Move nginx configs to `infra/nginx/` - ✅ Move dashboards to `website/dashboards/` - **Website/Docs Folder Structure** - ✅ Establish `/website/docs/` as source for HTML documentation - ✅ Create shared CSS file (`css/docs.css`) with 1232 lines - ✅ Create theme toggle JavaScript (`js/theme.js`) - ✅ Migrate all HTML files to use external CSS (45-66% size reduction) - ✅ Clean `/docs/` folder to only contain mkdocs markdown files - **Documentation Styling Fixes** - ✅ Fix dark theme background consistency across all docs pages - ✅ Add dark theme support to `full-documentation.html` - ✅ Fix Quick Start section cascade styling in docs-miners.html - ✅ Fix SDK Examples cascade indentation in docs-clients.html - ✅ Fix malformed `` tags across all docs - ✅ Update API endpoint example to use Python/FastAPI - **Path Reference Updates** - ✅ Update systemd service file with new `scripts/gpu/gpu_miner_host.py` path - ✅ Update skill documentation with new file locations - ✅ Update localhost-testing-scenario.md with correct paths - ✅ Update gpu_miner_host_wrapper.sh with new path - **Repository Maintenance** - ✅ Expand .gitignore from 39 to 145 lines with organized sections - ✅ Add project-specific ignore rules for coordinator, explorer, GPU miner - ✅ Document final folder structure in done.md - ✅ Create `docs/files.md` file audit with whitelist/greylist/blacklist - ✅ Remove 35 abandoned/duplicate folders and files - ✅ Reorganize `docs/` folder - root contains only done.md, files.md, roadmap.md - ✅ Move 25 doc files to appropriate subfolders (components, deployment, migration, etc.) ## Stage 19 — Placeholder Content Development [PLANNED] Fill the intentional placeholder folders with actual content. Priority order based on user impact. ### Phase 1: Documentation (High Priority) - **User Guides** (`docs/user/guides/`) ✅ COMPLETE - [x] Bitcoin wallet setup (`BITCOIN-WALLET-SETUP.md`) - [x] User interface guide (`USER-INTERFACE-GUIDE.md`) - [x] User management setup (`USER-MANAGEMENT-SETUP.md`) - [x] Local assets summary (`LOCAL_ASSETS_SUMMARY.md`) - [x] Getting started guide (`getting-started.md`) - [x] Job submission workflow (`job-submission.md`) - [x] Payment and receipt understanding (`payments-receipts.md`) - [x] Troubleshooting common issues (`troubleshooting.md`) - **Developer Tutorials** (`docs/developer/tutorials/`) ✅ COMPLETE - [x] Building a custom miner (`building-custom-miner.md`) - [x] Integrating with Coordinator API (`coordinator-api-integration.md`) - [x] Creating marketplace extensions (`marketplace-extensions.md`) - [x] Working with ZK proofs (`zk-proofs.md`) - [x] SDK usage examples (`sdk-examples.md`) - **Reference Specs** (`docs/reference/specs/`) ✅ COMPLETE - [x] Receipt JSON schema specification (`receipt-spec.md`) - [x] API endpoint reference (`api-reference.md`) - [x] Protocol message formats (`protocol-messages.md`) - [x] Error codes and handling (`error-codes.md`) ### Phase 2: Infrastructure (Medium Priority) ✅ COMPLETE - **Terraform Environments** (`infra/terraform/environments/`) - [x] `staging/main.tf` - Staging environment config - [x] `prod/main.tf` - Production environment config - [x] `variables.tf` - Shared variables - [x] `secrets.tf` - Secrets management (AWS Secrets Manager) - [x] `backend.tf` - State backend configuration (S3 + DynamoDB) - **Helm Chart Values** (`infra/helm/values/`) - [x] `coordinator.yaml` - Coordinator service configuration - [x] `blockchain.yaml` - Blockchain node configuration - [x] `wallet.yaml` - Wallet daemon configuration - [x] `marketplace.yaml` - Marketplace service configuration ### Phase 3: Missing Integrations (High Priority) - **Wallet-Coordinator Integration** [NEW] - [ ] Add payment endpoints to coordinator API for job payments - [ ] Implement escrow service for holding payments during job execution - [ ] Integrate wallet daemon with coordinator for payment processing - [ ] Add payment status tracking to job lifecycle - [ ] Implement refund mechanism for failed jobs - [ ] Add payment receipt generation and verification - [ ] Update integration tests to use real payment flow ### Phase 4: Integration Test Improvements ✅ COMPLETE 2026-01-26 - **Security Integration Tests** ✅ COMPLETE - [x] Updated to use real ZK proof features instead of mocks - [x] Test confidential job creation with `require_zk_proof: True` - [x] Verify secure job retrieval with tenant isolation - **Marketplace Integration Tests** ✅ COMPLETE - [x] Updated to connect to live marketplace at https://aitbc.bubuit.net/marketplace - [x] Test marketplace accessibility and service integration - [x] Flexible API endpoint handling - **Performance Tests** ❌ REMOVED - [x] Removed high throughput and load tests (too early for implementation) - [ ] Can be added back when performance thresholds are defined - **Test Infrastructure** ✅ COMPLETE - [x] All tests work with both real client and mock fallback - [x] Fixed termination issues in Windsorf environment - [x] Current status: 6 tests passing, 1 skipped (wallet integration) ### Phase 3: Application Components (Lower Priority) ✅ COMPLETE - **Pool Hub Service** (`apps/pool-hub/src/app/`) - [x] `routers/` - API route handlers (miners.py, pools.py, jobs.py, health.py) - [x] `registry/` - Miner registry implementation (miner_registry.py) - [x] `scoring/` - Scoring engine logic (scoring_engine.py) - **Coordinator Migrations** (`apps/coordinator-api/migrations/`) - [x] `001_initial_schema.sql` - Initial schema migration - [x] `002_indexes.sql` - Index optimizations - [x] `003_data_migration.py` - Data migration scripts - [x] `README.md` - Migration documentation ### Placeholder Filling Schedule | Folder | Target Date | Owner | Status | |--------|-------------|-------|--------| | `docs/user/guides/` | Q1 2026 | Documentation | ✅ Complete (2026-01-24) | | `docs/developer/tutorials/` | Q1 2026 | Documentation | ✅ Complete (2026-01-24) | | `docs/reference/specs/` | Q1 2026 | Documentation | ✅ Complete (2026-01-24) | | `infra/terraform/environments/` | Q2 2026 | DevOps | ✅ Complete (2026-01-24) | | `infra/helm/values/` | Q2 2026 | DevOps | ✅ Complete (2026-01-24) | | `apps/pool-hub/src/app/` | Q2 2026 | Backend | ✅ Complete (2026-01-24) | | `apps/coordinator-api/migrations/` | As needed | Backend | ✅ Complete (2026-01-24) | ## Stage 21 — Transaction-Dependent Block Creation [COMPLETED: 2026-01-28] - **PoA Consensus Enhancement** - ✅ Modify PoA proposer to only create blocks when mempool has pending transactions - ✅ Implement HTTP polling mechanism to check RPC mempool size - ✅ Add transaction storage in block data with tx_count field - ✅ Remove processed transactions from mempool after block creation - ✅ Fix syntax errors and import issues in consensus/poa.py - **Architecture Implementation** - ✅ RPC Service: Receives transactions and maintains in-memory mempool - ✅ Metrics Endpoint: Exposes mempool_size for node polling - ✅ Node Process: Polls metrics every 2 seconds, creates blocks only when needed - ✅ Eliminates empty blocks from blockchain - ✅ Maintains block integrity with proper transaction inclusion - **Testing and Validation** - ✅ Deploy changes to both Node 1 and Node 2 - ✅ Verify proposer skips block creation when no transactions - ✅ Confirm blocks are created when transactions are submitted - ✅ Fix gossip broker integration issues - ✅ Implement message passing solution for transaction synchronization ## Stage 22 — Future Enhancements [PLANNED] - **Shared Mempool Implementation** - [ ] Implement database-backed mempool for true sharing between services - [ ] Add Redis-based pub/sub for real-time transaction propagation - [ ] Optimize polling mechanism with webhooks or server-sent events - **Advanced Block Production** - [ ] Implement block size limits and gas optimization - [ ] Add transaction prioritization based on fees - [ ] Implement batch transaction processing - [ ] Add block production metrics and monitoring - **Production Hardening** - [ ] Add comprehensive error handling for network failures - [ ] Implement graceful degradation when RPC service unavailable - [ ] Add circuit breaker pattern for mempool polling - [ ] Create operational runbooks for block production issues ## Stage 21 — Cross-Site Synchronization [COMPLETED: 2026-01-29] Enable blockchain nodes to synchronize across different sites via RPC. ### Multi-Site Architecture - **Site A (localhost)**: 2 nodes (ports 8081, 8082) - **Site B (remote host)**: ns3 server (95.216.198.140) - **Site C (remote container)**: 1 node (port 8082) - **Network**: Cross-site RPC synchronization enabled ### Implementation - **Synchronization Module** ✅ COMPLETE - [x] Create `/src/aitbc_chain/cross_site.py` module - [x] Implement remote endpoint polling (10-second interval) - [x] Add transaction propagation between sites - [x] Detect height differences between nodes - [x] Integrate into node lifecycle (start/stop) - **Configuration** ✅ COMPLETE - [x] Add `cross_site_sync_enabled` to ChainSettings - [x] Add `cross_site_remote_endpoints` list - [x] Add `cross_site_poll_interval` setting - [x] Configure endpoints for all 3 nodes - **Deployment** ✅ COMPLETE - [x] Deploy to all 3 nodes - [x] Fix Python compatibility issues - [x] Fix RPC endpoint URL paths - [x] Verify network connectivity ### Current Status - All nodes running with cross-site sync enabled - Transaction propagation working - ✅ Block sync fully implemented with transaction support - ✅ Transaction data properly saved during block import - Nodes maintain independent chains (PoA design) - Nginx routing fixed to port 8081 for blockchain-rpc-2 ### Future Enhancements - [x] ✅ Block import endpoint fully implemented with transactions - [ ] Implement conflict resolution for divergent chains - [ ] Add sync metrics and monitoring - [ ] Add proposer signature validation for imported blocks ## Stage 20 — Technical Debt Remediation [PLANNED] Address known issues in existing components that are blocking production use. ### Blockchain Node (`apps/blockchain-node/`) Current Status: SQLModel schema fixed, relationships working, tests passing. - **SQLModel Compatibility** ✅ COMPLETE - [x] Audit current SQLModel schema definitions in `models.py` - [x] Fix relationship and foreign key wiring issues - [x] Add explicit `__tablename__` to all models - [x] Add `sa_relationship_kwargs` for lazy loading - [x] Document SQLModel validator limitation (table=True bypasses validators) - [x] Integration tests passing (2 passed, 1 skipped) - [x] Schema documentation (`docs/SCHEMA.md`) - **Production Readiness** (Future) - [ ] Fix PoA consensus loop stability - [ ] Harden RPC endpoints for production load - [ ] Add proper error handling and logging - [ ] Create deployment documentation ### Solidity Token (`packages/solidity/aitbc-token/`) Current Status: Contracts reviewed, tests expanded, deployment documented. - **Contract Audit** ✅ COMPLETE - [x] Review AIToken.sol and AITokenRegistry.sol - [x] Add comprehensive test coverage (17 tests passing) - [x] Test edge cases: zero address, zero units, non-coordinator, replay - [ ] Run security analysis (Slither, Mythril) - Future - [ ] External audit - Future - **Deployment Preparation** ✅ COMPLETE - [x] Deployment script exists (`scripts/deploy.ts`) - [x] Mint script exists (`scripts/mintWithReceipt.ts`) - [x] Deployment documentation (`docs/DEPLOYMENT.md`) - [ ] Deploy to testnet and verify - Future - [ ] Plan mainnet deployment timeline - Future ### ZK Receipt Verifier (`contracts/ZKReceiptVerifier.sol`) Current Status: Contract updated to match circuit, documentation complete. - **Integration with ZK Circuits** ✅ COMPLETE - [x] Verify compatibility with `receipt_simple` circuit (1 public signal) - [x] Fix contract to use `uint[1]` for publicSignals - [x] Fix authorization checks (`require(authorizedVerifiers[msg.sender])`) - [x] Add `verifyReceiptProof()` for view-only verification - [x] Update `verifyAndRecord()` with separate settlementAmount param - **Documentation** ✅ COMPLETE - [x] On-chain verification flow (`contracts/docs/ZK-VERIFICATION.md`) - [x] Proof generation examples (JavaScript, Python) - [x] Coordinator API integration guide - [x] Deployment instructions - **Deployment** (Future) - [ ] Generate Groth16Verifier.sol from circuit - [ ] Deploy to testnet with ZK circuits - [ ] Integration test with Coordinator API ### Receipt Specification (`docs/reference/specs/receipt-spec.md`) Current Status: Canonical receipt schema specification moved from `protocols/receipts/`. - **Specification Finalization** - [x] Core schema defined (version 1.0) - [x] Signature format specified (Ed25519) - [x] Validation rules documented - [ ] Add multi-signature receipt format - [ ] Document ZK-proof metadata extension - [ ] Add Merkle proof anchoring spec ### Technical Debt Schedule | Component | Priority | Target | Status | |-----------|----------|--------|--------| | `apps/blockchain-node/` SQLModel fixes | Medium | Q2 2026 | ✅ Complete (2026-01-24) | | `packages/solidity/aitbc-token/` audit | Low | Q3 2026 | ✅ Complete (2026-01-24) | | `packages/solidity/aitbc-token/` testnet | Low | Q3 2026 | 🔄 Pending deployment | | `contracts/ZKReceiptVerifier.sol` deploy | Low | Q3 2026 | ✅ Code ready (2026-01-24) | | `docs/reference/specs/receipt-spec.md` finalize | Low | Q2 2026 | 🔄 Pending extensions | | Cross-site synchronization | High | Q1 2026 | ✅ Complete (2026-01-29) | ## Recent Progress (2026-02-11) ### Git & Repository Hygiene ✅ COMPLETE - Renamed local `master` branch to `main` and set tracking to `github/main` - Deleted remote `master` branch from GitHub (was recreated on each push) - Removed stale `origin` remote (Gitea — repo not found) - Set `git config --global init.defaultBranch main` - Removed `.github/` directory (legacy RFC PR template, no active workflows) - Single remote: `github` → `https://github.com/oib/AITBC.git`, branch: `main` ## Recent Progress (2026-01-29) ### Testing Infrastructure - **Ollama GPU Provider Test Workflow** ✅ COMPLETE - End-to-end test from client submission to blockchain recording - Payment processing verified (0.05206 AITBC for inference job) - Created comprehensive test script and workflow documentation ### Code Quality - **Pytest Warning Fixes** ✅ COMPLETE - Fixed all pytest warnings (`PytestReturnNotNoneWarning`, `PydanticDeprecatedSince20`, `PytestUnknownMarkWarning`) - Migrated Pydantic validators to V2 style - Moved `pytest.ini` to project root with proper marker configuration ### Project Organization - **Directory Cleanup** ✅ COMPLETE - Reorganized root files into logical directories - Created `docs/guides/`, `docs/reports/`, `scripts/testing/`, `dev-utils/` - Updated documentation to reflect new structure - Fixed GPU miner systemd service path the canonical checklist during implementation. Mark completed tasks with ✅ and add dates or links to relevant PRs as development progresses.