Skip to content

Backend PR #533 corrects the missing French Reptincel PSA 9 sale at EUR 149 on July 25, 2026. The user supplied the exact eBay listing. This resolves the open discrepancy in the October 20 pricing audit.

The recent CompSniper packet already contained the sale, but its title omitted PSA 9. The eBay item details explicitly identify the company and grade. A broad CompSniper historical request returns them in the appended extendedTitle metadata, including Professional Sports Authenticator (PSA) and 9. The grade-specific historical keyword missed the sale because those words were absent from the title. The previously retained May sale produced EUR 113.98.

The fix shares a broad historical metadata packet across grades and users, bounded to two fifty-row pages and the existing global provider budgets and leases. It joins unchanged titles by exact item ID and retains the original recent sale's EUR price and date. Research display currency is USD, so its amount must not replace an available original EUR amount.

Title-less grading evidence requires an affirmative grading flag, exactly one supported parenthesized company and one standalone numeric grade in appended specifics. Negative grading, labeled population counts and contradictory grades are excluded. Other companies, decimal grades and ambiguous scores stay excluded. No listing or price override is hardcoded in production. The 30-day mean, five-sale trimming and latest-sale fallback policy are unchanged.

Critical self-review reproduced and corrected seven additional failures: conflicting title/specifics grades, negative grading, population counts confused with grades, historical metadata overriding the original sale date, PSA titles lacking a score, metadata-only old sales missed by an empty recent search, and an ECB HTTP failure erasing a usable rate. Each correction followed its own observed Red/Green cycle. The old-rate fallback retains its original publication date and freshness limit.

Typecheck including test JavaScript passed. API tests with SQL runtimes: 1,403 passed, one unrelated PostgreSQL-only naming test skipped, zero failures. Focused pricing: 89 passed including SQL budget/lease tests. Ingest: 554 passed; probe: eight passed. Latest mobile staging: lint/types passed, 2,839 tests passed, eleven existing skips. Six paired client/API HTTP integration tests passed with PGlite. A local replay of actual recorded API responses returns EUR 149, latest-sale, July 25 and the correct item ID, including a passive cached repeat and released SQL leases. Replay used no live provider calls. PGlite does not establish PostgreSQL 16 parity.

The recent condition field is only Neuf (autre) | Pro; it cannot independently prove PSA 9. Direct eBay HTTP requests returned 403, so runtime enrichment uses the accessible CompSniper historical source rather than a new direct scraper. Incomplete or ambiguous specifics remain unavailable. Full Docker/PostgreSQL and native UI E2E could not run because Docker and an emulator/Maestro are unavailable. GitHub Actions jobs cannot start because of account billing/spending; local gates are reported separately and are not represented as green CI.

PR #533 merged as 30aa6f21c6b1cc4d84d680328a33ca0314058410. Production API image skns-api:grading-30aa6f2-20261021 passed local/public health checks with identical environment and unrelated service identities. Two budget-reserved live history requests populated the legitimate shared evidence cache. The public API now returns EUR 149, latest-sale, July 25 and item 336705059156; unauthenticated live batch refresh remains HTTP 401. The public scan/detail NM endpoint still follows its own provider-budgeted path. No hardcoded price or manual evidence override was used.

Mobile PRs #770 and #771 were already merged. EAS build ddda003a-dd83-4a71-9322-5d28bb738921, version 1.0.2 (43), uses staging commit 4bdb68f4f3d0e53483a4374e4172d56b40c4b3bd. IPA identity and pricing markers were verified. Submission 0f09e87e-a26d-4590-b0b7-cb2c2fda273f finished; App Store Connect confirms VALID and IN_BETA_TESTING for internal testers. External beta state is READY_FOR_BETA_SUBMISSION. This is static artifact/build evidence, not a native UI execution test.

Read-only dependency audit follow-ups are backend #534 and mobile #798. They record existing rate-limit and Expo/Metro/Jest dependency advisories; pricing introduced no dependency changes. No forced major upgrade was applied.

The subsequent subscribed-budget release is documented in the TCGgo budget entry. Its API image supersedes this initial image and retains the graded-sale correction.