Appearance
Mobile reuses the framed card header controls for sealed wishlist and alert actions and shows a real ledger-backed present/missing badge. Sealed wishes persist by stable ID and render through the existing sealed catalogue component instead of disappearing into card-only lookups. Threshold forms preserve the product's target kind and displayed language. Missing-price/retry copy is removed. eBay searches include name, language, sold and completed flags. Explicit trusted Cardmarket product paths open with language filters; unverified catalogue rows retain a search fallback, never a guessed product identity.
Backend adds a closed alert target policy with a separate sealed FK, public catalogue eligibility and target-specific uniqueness. Migration 0047 is additive and keeps card rules/collections intact. A real PostgreSQL test covers repeated application with saved rules, sealed upsert and cross-account isolation, but it is blocked locally because Docker Desktop's Linux daemon is unavailable.
User approved the scope exception beyond 10 files and migration authorship/tests in PR only. No VPS deployment, migration application or remote restart occurred. Both implementation PRs remain draft pending backend/database and rollout gates.
Validation: mobile lint/typecheck and full pre-push Jest passed, 294 suites / 2,864 tests with 11 existing skips. Backend API tests: 1,467 passed, 14 skipped; TypeScript/checkJs passed; ingest: 554 passed. Existing test files remain wired. Maestro YAML parses but CLI is absent; native visual validation is not claimed.
Observed Red/Green cycles cover missing detail controls, sealed target form/API, language-aware sold searches, exact product URL input, missing sealed wishlist content, API sealed validation, SQL target policy and public catalogue lookups. Additional regression coverage verifies response narrowing, auth-before-write, untrusted URL rejection and separated card/sealed wishlist loading.
Outstanding: exact Cardmarket links require evidence-backed product mappings. No mapping was fabricated or installed. Rule CRUD support does not establish notification evaluator or push-delivery readiness; that existing independent pipeline was not silently implemented or claimed as validated.