• v2.3.0 4d10840685

    mik-tf released this 2026-04-08 21:18:03 +00:00 | 6 commits to development since this release

    What's New

    The farmer→user economic loop is now complete. Farmers can register nodes, nodes appear on the marketplace via hero_ledger, users can rent and pay with SPORE, and VMs deploy on the farmer's specific hardware.

    Farmer→User Loop (mycelium_code/home#67)

    • Farmer listing write path: When a farmer adds a node in the dashboard, a listing is created on hero_ledger automatically via marketplace_create_listing()
    • farmer_id in product catalog: Product attributes now include farmer_id so SPORE transfers reach the correct farmer
    • Node identity mapping: ledger_listing_id → OSIS Node → compute_node_sid resolves which hero_compute node to deploy on
    • Account provisioning: Registration calls account_activate() on hero_ledger to create NEAR accounts
    • Schema update: Node type now has ledger_listing_id, compute_node_sid, ledger_account_id optional fields

    Test Suite Updates

    • New: farmer_integration.sh — 27 tests covering the complete farmer→user flow
    • Fixed: Playwright SPA E2E assertions updated for 0 MC starting balance (hero_ledger backend)
    • Fixed: Service worker tests accept missing SW on WASM SPA
    • Updated: Visual regression snapshots refreshed

    Test Results: 354/354 PASS

    Suite Count
    Unit tests 25
    API (smoke+integration+provider+msg+rental+pool) 155
    Farmer Integration (NEW) 27
    Admin Smoke (RPC) 25
    Playwright SPA E2E 48
    Playwright Admin E2E 41
    Content Regression 33

    Repos Tagged

    Repo Tag
    projectmycelium_marketplace_backend v2.3.0
    projectmycelium_marketplace_frontend v2.3.0
    projectmycelium_marketplace_admin v2.3.0
    projectmycelium_marketplace_deploy v2.3.0

    Container Images

    • forge.ourworld.tf/mycelium_code/projectmycelium_marketplace:development

    Known Limitations

    • hero_compute node 0001 = dev VM itself (need dedicated PM nodes for production)
    • hero_compute heartbeat expires — node goes offline until manual heartbeat
    • Frontend missing: VM deployment status page, rental management page (backend exists)
    • Pre-seeded ledger listings (ledger_3 through ledger_9) don't have OSIS node mapping — only new listings created via dashboard get mapped
    Downloads
  • v2.2.0 b074c2e1ca

    mik-tf released this 2026-04-03 17:24:45 +00:00 | 15 commits to development since this release

    v2.2.0 — MCP-Ready Marketplace

    AI agents can now interact with the marketplace via MCP (Model Context Protocol). hero_inspector auto-discovers the marketplace and exposes 125 RPC methods as MCP tools.

    New Features

    • API key authenticationPOST/GET/DELETE /api/auth/api-keys, Bearer mk_* token middleware
    • Unix socket for hero_inspector — dual-protocol (HTTP + raw JSON-RPC) at ~/hero/var/sockets/marketplace_openrpc.sock
    • MCP via hero_inspectortools/list returns 125 tools, tools/call proxies to marketplace
    • OpenRPC enrichment — ~10 priority methods with LLM-friendly descriptions
    • API key rate limiting — 60 req/min per key, in-memory sliding window
    • heroservice.jsonGET /.well-known/heroservice.json service metadata endpoint

    Bug Fixes

    • RPC endpoint 404 under base path — AxumRpcServer now respects APP_BASE_PATH
    • hero-osis sidecar removed — legacy container no longer needed (OSIS embedded since Phase 1)
    • Test coverage gap — 5 missing test suites added to make test-all

    Architecture

    AI Agent (Claude Code / MCP client)
      → MCP protocol (JSON-RPC)
        → hero_inspector (:8802)
          → Unix socket (marketplace_openrpc.sock)
            → Marketplace (125 RPC methods)
              → OSIS + hero_ledger (10k SPORE) + hero_compute
    

    Testing

    379 automated tests across 13 suites, 0 flaky:

    Suite Count
    API Smoke 30
    API Integration 74
    Provider Integration 54
    Messaging & SSH 19
    Rental Integration 17
    Functional Smoke 17
    MCP Integration 17
    Ledger Integration 11
    Admin Smoke 8
    Load 7
    Pool Integration 6
    Visual Parity 6
    Playwright SPA E2E 38
    Playwright Admin E2E 41
    Content Regression 34
    Total 379

    Container Images

    • forge.ourworld.tf/mycelium_code/projectmycelium_marketplace:v2.2.0
    • forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_backend:v2.2.0

    Frontend and admin unchanged from v2.1.0.

    Repos

    Repo Tag Changes
    projectmycelium_marketplace_backend v2.2.0 9 commits (MCP, socket, rate limit, RPC fix)
    projectmycelium_marketplace_deploy v2.2.0 5 commits (MCP tests, socket mount, test-all)
    projectmycelium_marketplace_frontend v2.1.0 unchanged
    projectmycelium_marketplace_admin v2.1.0 unchanged
    Downloads
  • v2.1.0 600d45900e

    mik-tf released this 2026-04-01 20:02:51 +00:00 | 20 commits to development since this release

    What's New

    Layer 5b: Content Regression Tests (#57)

    • 53 new Playwright tests crawling all 44 SPA routes
    • Checks: no raw JSON, no snake_case labels, no placeholders, no undefined/NaN
    • Product detail specs verified to show values not structs
    • Empty states for cart, orders, messaging verified
    • 404 and edge case handling

    UI Fixes (#58, #59)

    • 404 page now renders inside MainLayout with navbar and footer
    • Removed placeholder "will appear here" text from product detail

    SPA UX (from v2.1.0-dev)

    • Zero full-page reloads — all navigation via router
    • Toast notifications replace alert() dialogs
    • Payment gateway opens in new tab to preserve SPA state
    • Product detail specs show human-readable labels and values

    Test Results: 318 tests

    Suite Result
    API Smoke 27/27
    API Integration 65/65
    Provider Integration 34/34
    Messaging & SSH 13/13
    Rental Integration 12/12
    Pool Integration 5/5
    Playwright SPA E2E 47/48 (1 pre-existing flaky)
    Playwright Admin E2E 41/41 (prev session)
    Content Regression (NEW) 53/53
    Load 7/7 (prev session)

    Container Images

    Image Tags
    forge.ourworld.tf/mycelium_code/projectmycelium_marketplace v2.1.0, latest
    forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_frontend v2.1.0, latest
    forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_backend v2.1.0, latest

    Live URLs

    Repos Tagged

    • projectmycelium_marketplace_backend v2.1.0
    • projectmycelium_marketplace_frontend v2.1.0
    • projectmycelium_marketplace_admin v2.1.0
    • projectmycelium_marketplace_deploy v2.1.0
    Downloads
  • v2.1.0-dev 96be24060f

    mik-tf released this 2026-03-28 05:59:40 +00:00 | 21 commits to development since this release

    Summary

    Industry-standard SPA UX: zero full-page reloads, in-app toast notifications, payment gateway opens in new tab. Hero ledger account mapping fixed, catalog caching added, compute client hardened with timeouts. Product detail specs now render values correctly.

    Changes

    Repo Change
    frontend Zero full-page reloads (5 set_href → navigator.push), toast notification system, payment opens in new tab, product specs render values not raw JSON, humanized attribute labels
    backend Ledger wallet resolves user public key from OSIS (not email), 60s TTL cache for ledger catalog listings, compute client 10s connect + 30s read timeouts
    admin No changes
    deploy Release pipeline, .dockerignore for container builds

    Test Results (against dev-app.projectmycelium.org)

    Suite Result
    API Smoke 27/27
    API Integration 65/65
    Provider Integration 34/34
    Messaging & SSH 13/13
    Rental Integration 12/12
    Admin Smoke 25/25
    Total 176/176

    Images

    • forge.ourworld.tf/mycelium_code/projectmycelium_marketplace:development
    • forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_frontend:development
    • forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_admin:development

    URLs

    References

    — mik-tf

    Downloads
  • v2.0.0 62635d90ff

    mik-tf released this 2026-03-27 01:21:42 +00:00 | 26 commits to development since this release

    v2.0.0 — Production Release

    First production-ready release of the Mycelium Marketplace platform.

    Architecture

    • Embedded OSIS — single binary with in-process data layer, no external hero_osis container
    • AxumRpcServer merged into main backend at /api/v1/marketplace/main/rpc
    • White-labelbranding.toml config, make deploy-instance INSTANCE=xxx
    • 277 automated tests across 7 layers, all passing

    New Endpoints

    • GET /api/ready — readiness probe (checks OSIS domain)
    • GET /api/metrics — Prometheus text format (6 gauges)
    • GET /api/branding — public branding config for SPA
    • POST /api/admin/confirm-bank-transfer — now requires Admin role

    Admin Dashboard

    • 41 Playwright E2E tests covering all 10 tabs
    • User suspend/activate buttons
    • System health panel with OSIS object counts (10 types)
    • Bank transfer approval form
    • RPC connectivity fixed (was 9/25, now 25/25)

    Bug Fixes

    • Fixed 4 routes using {param} instead of :param (Axum 0.7): messaging threads, pools, marketplace slice
    • Fixed slice product ID mismatch (create returned UUID, delete expected OSIS SID)
    • Fixed thread_id extraction (nested at data.thread.thread_id)

    Testing

    Suite Count
    API Smoke 27
    API Integration 65
    Provider Integration 34
    Messaging & SSH 13
    Rental Integration 12
    Pool Integration 5
    Admin Smoke 25
    Load (10 concurrent) 7
    SPA Playwright 48
    Admin Playwright 41
    Total 277

    Documentation

    • docs/architecture.md — system overview, data arch, auth, security
    • docs/deployment.md — build, deploy, white-label, release pipeline
    • docs/runbook.md — health checks, incident response, backup/restore
    • docs/complete_ux_map.md — 44 SPA routes, 11 admin tabs, 128 API endpoints

    Repos Changed

    Repo Key changes
    projectmycelium_marketplace_backend Embedded RPC server, health endpoints, branding API, admin auth, route fixes
    projectmycelium_marketplace_frontend Login/register UX fixes
    projectmycelium_marketplace_admin User mgmt, system health, bank transfer form
    projectmycelium_marketplace_deploy 90+ new tests, docs, white-label tooling

    Images

    • forge.ourworld.tf/mycelium_code/projectmycelium_marketplace:v2.0.0
    • forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_frontend:v2.0.0
    • forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_admin:v2.0.0

    URLs

    Signed-off-by: mik-tf

    Downloads
  • v1.4.1 50678944f2

    mik-tf released this 2026-03-26 14:51:27 +00:00 | 30 commits to development since this release

    v1.4.1 — Complete E2E Test Coverage

    Closes mycelium_code/home#42

    What changed

    +71 new automated tests across 4 new test suites, bringing total from 116 to 187.

    Suite Tests New
    API smoke 24
    API integration 43 +19
    Provider integration 25 +25
    Messaging & SSH 9 +9
    Rental integration 12 +12
    Playwright E2E 43 +7
    Load test 7
    Backend unit 25
    Total 187 +71

    New test scripts

    • tests/provider_integration.sh — Resource/App/Service provider dashboard CRUD
    • tests/messaging_ssh_integration.sh — Thread CRUD, send message, SSH key CRUD
    • tests/rental_integration.sh — Node/slice rental, purchase, auth rejection

    Makefile targets

    • make test-all BASE_URL=... — run all 6 test suites
    • make test-providers, make test-messaging, make test-rentals

    E2E checklist

    130/139 features now have automated tests (was 94/139).

    Known issues filed

    All tests pass against dev-app.projectmycelium.org

    API smoke:           24/24 ✅
    API integration:     43/43 ✅
    Provider:            25/25 ✅
    Messaging & SSH:      9/9  ✅
    Rental:              12/12 ✅
    Playwright:          42/43 ✅ (1 transient network flake)
    

    — mik-tf

    Downloads
  • v1.4.0 d07e850ebf

    v1.4.0 Stable

    mik-tf released this 2026-03-26 00:16:21 +00:00 | 37 commits to development since this release

    v1.4.0 — Unified release (clean baseline for v2.0 work)

    All repos aligned at v1.4.0

    Includes all work from v0.5.0 through v1.3.x:

    • Ed25519 keypair identity + signature auth
    • Stripe + ClickPesa + Bank payments (live Stripe webhook configured)
    • Signed wallet transactions with server-signed receipts
    • 53/53 issue #19 items complete
    • Product detail 404 fixed (Axum :id route syntax)
    • SQLi + XSS input validation
    • 132 automated tests across 7 layers, ALL PASS
    • FOSS-sovereign DESIGN.md
    • Service worker, visual + chaos Playwright tests

    Clean state

    • All repos on development, 0 dirty files
    • .gitignore added for target/ and test-results/
    • No stale branches

    Signed-off-by: mik-tf

    Downloads
  • v1.3.3 a7bfc94e1b

    v1.3.3 Stable

    mik-tf released this 2026-03-25 23:54:26 +00:00 | 39 commits to development since this release

    v1.3.3 — Stripe webhook + proper deploy config

    Changes

    • Stripe webhook registered: we_1TF0vPC6v6GB0mBYIjwvImbC
    • Webhook HMAC signature verification tested and working
    • Real Stripe Checkout session creation tested
    • Stripe HMAC regression test added to integration suite
    • app.env.example updated with payment + auth config sections

    All 7 test layers pass

    • Compile: 2 repos
    • Unit: 25/25
    • Smoke: 50/50
    • Integration: 24/24 (includes Stripe HMAC test)
    • Playwright: 33/33

    Signed-off-by: mik-tf

    Downloads
  • v1.3.1 27bf4e0e50

    v1.3.1 Stable

    mik-tf released this 2026-03-25 22:12:22 +00:00 | 40 commits to development since this release

    v1.3.1 — Security fixes + full 7-layer test suite

    Security fixes

    • SQL injection in email field: REJECTED (was accepted)
    • XSS in name field: SANITIZED (was stored raw)

    Test suite: 130 tests across 7 layers, ALL PASS

    1. Compile: 2 repos
    2. Unit: 25/25
    3. Smoke: 50/50
    4. Integration: 22/22
    5. Playwright E2E: 16/16
    6. Adversarial + Regression: 7/7
    7. Visual (10 pages) + Chaos (7 tests): 17/17 + MCP browser verified

    Signed-off-by: mik-tf

    Downloads
  • v1.3.0 cd71992145

    v1.3.0 Stable

    mik-tf released this 2026-03-25 21:55:24 +00:00 | 41 commits to development since this release

    v1.3.0 — Issue #19 COMPLETE (53/53 items)

    Every single checklist item from the v1.0 roadmap is done.

    Final items completed in v1.3.0

    • East African currencies (TZS, KES, UGX) in Buy Credits modal
    • Stripe API keys configured from env.sh
    • Clickpesa API keys configured from env.sh
    • Payment credentials deployed to dev VM

    113 tests ALL PASS

    Complete release history

    v0.5.0→v1.3.0 (10 releases across 3 repos)

    Signed-off-by: mik-tf

    Downloads