Merge development into main — Rounds 4-5 + SliceProduct/NodeGroup #30

Merged
mik-tf merged 12 commits from development into main 2026-02-11 03:11:26 +00:00
Owner

Changes

  • Round 4: Dashboard data fidelity (remove mocks, fix logic bugs, expand seed data)
  • Round 5: Full demo population (audit events, profservices, idempotent seeding, E2E tests)
  • SliceProduct + NodeGroup OSIS schema support
  • SSH key seeding fix

12 commits from development branch.

## Changes - Round 4: Dashboard data fidelity (remove mocks, fix logic bugs, expand seed data) - Round 5: Full demo population (audit events, profservices, idempotent seeding, E2E tests) - SliceProduct + NodeGroup OSIS schema support - SSH key seeding fix 12 commits from development branch.
fix: dashboard data fidelity — remove mocks, fix logic bugs, expand seed data
All checks were successful
Build and Test / build (push) Successful in 2m56s
bf786e8e36
Round 4 fixes:
- Fix customer_base overwriting total_deployments (app_provider)
- Remove arbitrary ×2 revenue multiplier (service_provider)
- Replace rand::random() rating with deterministic value
- Fix Decimal→String→i32 precision loss
- Derive uptime/response from deployment status
- Compute hourly rate range and availability from real service data
- Replace hardcoded 4.8/97%/86% in template with dynamic values
- Compute total_spent_this_month and total_transactions from wallet data
- Derive member_since from earliest activity timestamp
- Generate billing history from real transactions (was 4 fake entries)
- Replace synthetic revenue trend with actual data distribution
- Compute on_time_delivery from completed/total requests
- Add demo user earnings, Node 109 staking, 9 extra transactions
- Add Preview Mode banner to pools page
- Remove dead code (empty for-loops)
Round 5: Fix OSIS float parsing, add audit events, idempotent seeding, E2E data fidelity tests
All checks were successful
Build and Test / build (push) Successful in 2m55s
5d3bda3767
- A1: Fix price_per_hour_usd as_i64() -> as_f64() in service_provider_manager.rs
- A2: Fix price_per_hour_usd hardcoded 0 in user_profile.rs Service mapping
- A3: Fix ServiceRequest hourly_rate_usd/total_cost_usd string-only parse with float fallback
- A4: Seed 6 audit events for demo user; add list_sids fallback in get_activities()
- A5: Add idempotent cleanup (CLEAN=1) to seed script - deletes all before re-seeding
- A6: Add as_f64 fallback for deployment_count/deployments/monthly_revenue in app_provider
- B1-B6: 19 new E2E data fidelity tests validating actual values (not just HTTP 200)
Round 5: Fix auditevent schema (event_type enum), map OSIS event_type to ActivityType
All checks were successful
Build and Test / build (push) Successful in 2m55s
5512b81b56
Round 5: Fix auditevent OSIS schema (required fields), map severity to importance
All checks were successful
Build and Test / build (push) Successful in 3m30s
9bfeddf462
Round 5: Use hourly_rate_usd (Decimal) instead of price_per_hour_usd (i32) for revenue and rate range
All checks were successful
Build and Test / build (push) Successful in 2m55s
67891c2182
OSIS profservice schema stores hourly_rate_usd but NOT price_per_hour_usd.
The controller was reading price_per_hour_usd (always 0) for computing
monthly_revenue_usd and hourly_rate_range. Now falls back to hourly_rate_usd.
Round 5: Fix seed cleanup — OSIS .list returns newline string not JSON array
All checks were successful
Build and Test / build (push) Successful in 2m57s
84e3a6bb20
Round 5: Fix 3 failing E2E tests - product SID discovery, overview data endpoints
All checks were successful
Build and Test / build (push) Successful in 4m0s
d39885d19d
- Product test: discover real product SID from /api/debug/products instead of
  hardcoded '009e' (product catalog uses network.listing SIDs, not base.app)
- Overview tests: replaced non-existent /api/dashboard/overview-data endpoint
  with user-dashboard-data assertions (user_metrics counts, deployment_distribution)
- All 47 E2E tests now pass (was 44 pass / 3 fail)
Round 5: Add demo user profservices and service requests to seed
All checks were successful
Build and Test / build (push) Successful in 2m55s
1ebd2968eb
- Added 2 profservices owned by demo@example.com (Decentralized Hosting, Smart Contract Auditing)
- Added 2 service requests where demo is the provider (farmer->demo, appdev->demo)
- Demo user's service provider dashboard was empty because no profservices had owner_email=demo@example.com
Round 5: Fix seed summary counts (6 profservices, 5 service requests)
All checks were successful
Build and Test / build (push) Successful in 3m29s
2cda90a0fa
Round 5: Fully populate demo user across all features
Some checks failed
Build and Test / build (push) Has been cancelled
b42786b865
- Enriched identity/user: profile (country, timezone, bio, company, phone),
  preferences (theme, currency, language), notification settings
- Added 3 SSH keys (ed25519 primary, RSA CI/CD, ECDSA emergency)
- Added 3 service bookings where demo is provider (2 confirmed, 1 completed)
- Added SLA template (Professional SLA, 99.9% uptime)
- Added service availability (25 hrs/week, EST timezone)
- Added identity:sshkey to cleanup list for idempotent re-seeding
- Updated summary counts (128 total objects)
Fix SSH key seeding: use 'obj' param and correct key_type enums
All checks were successful
Build and Test / build (push) Successful in 3m52s
1ae58883ec
- sshkey.set requires 'obj' parameter (not 'data' like other OSIS types)
- key_type enum values: ed25519, rsa, ecdsa (not ssh-ed25519, ssh-rsa, etc.)
- Added dedicated set_sshkey() helper function
feat: production-level OSIS schema support for SliceProduct and NodeGroup
All checks were successful
Build and Test / build (push) Successful in 3m33s
Build and Test / build (pull_request) Successful in 2m56s
55458323cd
- Update resource_provider_manager hero impl with proper field mapping for new schemas
- Add osis_to_slice_product() conversion with SliceConfiguration/SlicePricing parsing
- Update osis_to_node_group() for new enum values and config/optimization sub-objects
- Update seed script: 3 node groups (compute/storage/gpu), 5 slice products
- Add sliceproduct cleanup to seed script for idempotent re-seeding

All 124 Playwright E2E tests passing.
mik-tf merged commit cc2cde7441 into main 2026-02-11 03:11:26 +00:00
Commenting is not possible because the repository is archived.
No description provided.