Files
aitbc/docs/roadmap.md
oib b9688dacf3 docs: enhance Ollama GPU test workflow, reorganize project structure, and fix pytest warnings
- Upgrade ollama-gpu-provider skill to v2.0 with complete test workflow documentation
- Add comprehensive troubleshooting, monitoring commands, and CI/CD integration examples
- Update client.py default coordinator port from 8000 to 18000
- Clear currentissue.md and add usage guidelines for issue tracking
- Create dev-utils/ directory and move aitbc-pythonpath.pth from root
- Create docs/guides/ and docs
2026-01-29 13:20:09 +01:00

757 lines
40 KiB
Markdown

# 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 → REDACTED_MINER_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 `</code-block>` 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-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.