Skip to content

Add safe Riftbound graded card tracking#55

Merged
poketonova merged 2 commits into
mainfrom
feat/riftbound-graded-tracking
Jul 18, 2026
Merged

Add safe Riftbound graded card tracking#55
poketonova merged 2 commits into
mainfrom
feat/riftbound-graded-tracking

Conversation

@poketonova

Copy link
Copy Markdown
Collaborator

Summary

  • enable Riftbound graded slabs in the shelf add flow with grading company, grade, purchase data, and manual/current value
  • add strict PriceCharting matching by collector number and Riftbound variant so Signature, alternate-art, and plain printings cannot cross-match
  • separate graded refreshes from raw TCG feeds and preserve stale/manual values when graded comps are unavailable
  • preserve Riftbound graded identity and $0 values through Collectr import, shelf totals, charts, dashboard, Excel, and backup/restore
  • add focused harness coverage for matching, imports, refresh routing, submit mode safety, touch targets, and persistence

Safety behavior

  • graded Riftbound prices never fall back to raw TCGplayer prices or multipliers
  • automatic lookup requires a collector number; uncertain or unavailable comps remain manual
  • refresh concurrency is capped at four and failures retain the previous value
  • sealed-to-graded mode changes cannot accidentally save a slab as sealed

Verification

  • npm run eval:harness
  • npm run eval:danger
  • npm run build
  • npm run smoke:browser
  • git diff --check

All checks passed locally using Node 20+ and Playwright Chromium for browser smoke.

Caveat

PriceCharting graded coverage for Riftbound is incomplete. Rarebox intentionally leaves the value manual when no exact, grade-specific match exists.

@vercel

vercel Bot commented Jul 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pokemon-collectr Ready Ready Preview, Comment Jul 18, 2026 10:56pm

@poketonova

Copy link
Copy Markdown
Collaborator Author

Addressed the cross-set matcher finding in 1016ad9.

The graded Riftbound picker now requires all four identity checks before accepting a PriceCharting candidate:

  • compatible set/console
  • compatible normalized base card name
  • exact normalized collector number
  • exact canonical variant

The number-only acceptance path and token scoring based on set/variant/#number were removed. Missing or ambiguous identity now fails closed to manual value. Collectr identity resolution uses the same set/name/number/variant requirements and refuses blank-set auto-attachment.

Added regressions for the exact Origin Ahri #001 vs Spiritforged Teemo #001 reproduction, same-set wrong names, wrong/missing sets, Origin/Origins, promo aliases, multiword names, subtitle forms, ambiguous survivors, and blank-set imports.

Re-verified locally: harness, danger checks, build, browser smoke, and diff check all pass. Ready for re-review.

@poketonova
poketonova merged commit 2024f7f into main Jul 18, 2026
3 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.

1 participant