Add casing aliases for card programs + MPP/X402 protocols - #32
Conversation
Card-program palette keys didn't match the casing emitted by payments.card_transactions (curated-data). The data uses: - "Gnosis pay" (lowercase p) — palette had only "gnosis pay" alias - "Safepal" (lowercase p) — palette had only "safepal" alias - "Etherfi" (titlecase, no dot) — palette had only "ether.fi" alias Without the canonical casings as aliases, chart series fell back to a default color. Added case variants on each so any reasonable casing resolves correctly. Also added MPP and X402 (agentic payment protocols) with aliases for the lowercase forms 'mpp' and 'x402' that payments.agentic_payments emits as payment_protocol values. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
New entries needed for stable colors on the commerce flows showcase tab (where chart series come from heuristic_id, party_pair, protocol, and stablecoin category columns): - Party pairs: B2B (#475569), C2B (#059669), B2C (#4F46E5) - Chart 2 buckets: Cards (#EA580C), Agentic (#D946EF), Payments (#BE123C) - Payment processors: BVNK, Coinbase Commerce, Request Network, Shopify CPP, Stripe (brand colors where well-known, otherwise picked to not clash with existing card colors) Casing aliases on each so the resolver picks them up regardless of how the dataset reports them (e.g. 'shopify_base_cpp' as emitted by payments.commerce_flows.protocol vs the display name 'Shopify CPP'). No exact-case duplicates introduced. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Validator matches aliases case-insensitively (README confirms), so the casing variants added earlier were redundant duplicates. Keep one form per case-equivalent group across the affected protocols. Drop "Etherfi"/"ETHERFI" from Ether.fi to avoid colliding with the separate existing etherfi protocol. Reframe Payments as a category alongside cex/dex/lending using a hex from the Carto Vivid palette family. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The commerce flows showcase combined its by-party-pair and by-category charts into a single 5-series chart: - C2B - Cards (lighter green, matches C2B family) - C2B - Other (lime) - B2B - Agentic (lavender, matches B2B slate family) - B2B - Other (lighter slate) - B2C (existing, unchanged) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
PR SummaryLow Risk Overview Adds a If merged with the casing work described in the PR body, card-program entries like Gnosis Pay, SafePal, and Ether.fi would also gain extra alias variants so Reviewed by Cursor Bugbot for commit 713659e. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
Bugbot Autofix prepared fixes for both issues found in the latest run.
- ✅ Fixed: MPP entry missing
Mppalias from spec- Added the missing
Mppalias to theMPPpalette entry so title-case values now map correctly.
- Added the missing
- ✅ Fixed: Missing casing aliases for three card program entries
- Updated
Gnosis Pay,SafePal, andEther.fialias lists with the specified casing variants so emitted values match the intended palette colors.
- Updated
Or push these changes by commenting:
@cursor push 503724beb2
Preview (503724beb2)
diff --git a/color-palettes.json b/color-palettes.json
--- a/color-palettes.json
+++ b/color-palettes.json
@@ -973,7 +973,7 @@
},
"Gnosis Pay": {
"hex": "#1EAF8B",
- "aliases": ["gnosis pay", "gnosis_pay"]
+ "aliases": ["gnosis pay", "gnosis_pay", "Gnosis pay", "GNOSIS_PAY", "GNOSIS PAY"]
},
"Holyheld": {
"hex": "#F4803B",
@@ -1001,7 +1001,7 @@
},
"Ether.fi": {
"hex": "#00B4D8",
- "aliases": ["ether.fi"]
+ "aliases": ["ether.fi", "Etherfi", "ETHERFI"]
},
"Cypher": {
"hex": "#6366F1",
@@ -1013,7 +1013,7 @@
},
"SafePal": {
"hex": "#2563EB",
- "aliases": ["safepal"]
+ "aliases": ["safepal", "Safepal", "SAFEPAL"]
},
"Exa": {
"hex": "#0EA5E9",
@@ -1021,7 +1021,7 @@
},
"MPP": {
"hex": "#14B8A6",
- "aliases": ["mpp"]
+ "aliases": ["mpp", "Mpp"]
},
"X402": {
"hex": "#7C3AED",You can send follow-ups to the cloud agent here.
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 713659e. Configure here.
Co-authored-by: Lorenz Lehmann <lorenz234@users.noreply.github.com>
Co-authored-by: Lorenz Lehmann <lorenz234@users.noreply.github.com>


Summary
payments.card_transactions. Added the missing case variants so chart series pick up the brand color instead of falling back to a default.MPPandX402(agentic payment protocols used as series in the agentic showcase tab;payments.agentic_payments.payment_protocolemits lowercasempp/x402).Changes
Gnosis Paygnosis pay, gnosis_paygnosis pay, Gnosis pay, gnosis_pay, GNOSIS_PAY, GNOSIS PAYSafePalsafepalsafepal, Safepal, SAFEPALEther.fiether.fiether.fi, Etherfi, ETHERFIMPP(new)#14B8A6, aliasesmpp, MppX402(new)#7C3AED, aliasesx402Test plan
schema.jsonvalidation (jsonschema -i color-palettes.json schema.json→ exit 0)/collection/payments/cards) that Gnosis Pay / SafePal / Etherfi swatches match the brand colors after mergeNote on Etherfi vs etherfi
The palette already has a separate
etherfientry (#2F1769) for the LRT context (aliasesetherfi, weeth, eeth). This PR ties the dataset-casingEtherfitoEther.fi(#00B4D8, the card-program color from #30), not to the LRT key.🤖 Generated with Claude Code