Skip to content

Conversation

@M0nkeyFl0wer
Copy link

Summary

Fixes three schema validation issues affecting 40 legacy projects that were causing test failures in multiple PRs.

Issues Fixed

1. Missing Required project_status Fields

The schema now requires three boolean fields in project_status:

  • live_status - indicates if project is actively deployed
  • testnet - testnet availability
  • mainnet - mainnet availability

2. Ecosystem Capitalization Mismatch

Schema requires lowercase ecosystem values.

Before: ecosystem: ["Ethereum", "Monero"]
After: ecosystem: ["ethereum", "monero"]

3. Usecases Capitalization Mismatch

Schema requires lowercase usecase values.

Before: usecases: ["Privacy", "Wallet"]
After: usecases: ["privacy", "wallet"]

Changes Made

✅ Added missing project_status fields to 40 projects
✅ Normalized ecosystem values to lowercase
✅ Normalized usecases values to lowercase
✅ Included migration script for documentation

Migration Logic

// project_status
{
  live_status: true,    // if version contains "mainnet"
  version: "Mainnet",   // preserved
  testnet: false,
  mainnet: true
}

// Normalization
"Ethereum"  "ethereum"
"Privacy"  "privacy"

Testing

All 40 projects successfully migrated:
fileverse, mysterium-network, elusiv, zkvote, starkex, hopr, deeper-network, firo, oasis-network, zcash, privatepool, tornado-cash, iden3, circom, zksync, darkfi, sentinel, snarkjs, findora, cake-wallet, typhoon-network, iron-fish, concordium, zk-money, suterusu, oxen, orchid, rotki, mobilecoin, sienna-network, monero, zano, zeal, xx-network, mask-network, fluidkey, webb-protocol, wasabi-wallet, semaphore, incognito

Resolves

@M0nkeyFl0wer M0nkeyFl0wer force-pushed the fix/schema-migration-v2 branch from 374a2b4 to 9462112 Compare November 11, 2025 05:09
@M0nkeyFl0wer
Copy link
Author

Updated: Fixed invalid values. The original data had usecases: ["Privacy"] which isn't in the schema's allowed values list. Mapped invalid usecases to "other" to comply with schema validation.

@M0nkeyFl0wer M0nkeyFl0wer force-pushed the fix/schema-migration-v2 branch from 9462112 to 7da9576 Compare November 11, 2025 05:18
@M0nkeyFl0wer
Copy link
Author

Final Update - Complete Fix

Fixed 41 projects total (original 40 + umbra-wallet):

Schema Issues Fixed:

  1. ✅ Missing project_status fields (live_status, testnet, mainnet)
  2. ✅ Invalid ecosystem values (capitalization + unmapped values like 'litecoin', 'haven')
  3. ✅ Invalid usecases values (mapped 'Privacy', 'Wallet', 'mixing service' etc to valid values)
  4. ✅ Invalid categories (mapped 'wallets' → 'applications')
  5. ✅ Invalid assets_used (lowercase + validation)
  6. ✅ Removed invalid top-level properties (privacy, security fields not in schema)

All mapped to schema-compliant values or 'other' as fallback.

@M0nkeyFl0wer M0nkeyFl0wer force-pushed the fix/schema-migration-v2 branch from 7da9576 to f0f21d1 Compare November 11, 2025 05:23
@M0nkeyFl0wer
Copy link
Author

Final Fix - zano links.web

Fixed last failing project: zano

Issue: links.web was an object with extra metadata (primary_url, blog_url, confidence, etc.) but schema requires a simple string URL.

Fix: Extracted primary_url value as the web field.


Summary - All Schema Issues Fixed:

  1. ✅ Missing project_status fields (live_status, testnet, mainnet)
  2. ✅ Invalid ecosystem values (capitalization + unmapped: litecoin, haven → other)
  3. ✅ Invalid usecases values (Privacy, Wallet, mixing service → valid values or other)
  4. ✅ Invalid categories (wallets → applications)
  5. ✅ Invalid assets_used (SOL → sol)
  6. ✅ Removed invalid top-level properties (privacy, security)
  7. ✅ Fixed links.web type (object → string)

41 projects migrated - tests should pass now! ✨

@undecidedpathways undecidedpathways merged commit 0cfc734 into web3privacy:main Nov 11, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants