transceiver-db/sync/history/2026-05-09-tip-no-valid-match-resolver.md
2026-05-09 23:16:04 +02:00

2.1 KiB

2026-05-09 — TIP No-Valid-Match Resolver

Operator Requirement

  • Continue TIP verification until source-backed work is exhausted.
  • Do not invent competitor matches just to turn products green.
  • Use deterministic TIP robots/scrapers only.
  • Keep Erik safe; do not restart crawler daemons while active jobs are running.
  • Write crawler/scraper/robot learnings into the TIPLLM training pool.

Change

Added packages/scraper/src/utils/resolve-no-valid-competitor.ts and package script:

pnpm -C packages/scraper run verify:no-valid-competitor

The resolver is dry-run by default. Applying changes requires:

NO_VALID_MATCH_APPLY=1 pnpm -C packages/scraper run verify:no-valid-competitor

The default vendor scope is Flexoptix:

NO_VALID_MATCH_VENDOR=Flexoptix

Rules

A product can be resolved as competitor_status='no_valid_match' only when:

  • the product is active and not in a known artifact category
  • price, image, and details are already verified
  • competitor verification is still unresolved
  • no other vendor has a source-backed strict candidate with the same form factor, speed, fiber, reach within max(25m, 5%), and compatible wavelength when both sides expose it
  • no pending/approved equivalence above confidence 0.50 already exists

The robot writes competitor_no_match evidence and then calls checkAndSetFullyVerified.

Live Result

On Erik:

  • dry-run Flexoptix scope found 73 candidates
  • apply run updated 73
  • 73 products earned fully_verified
  • evidence ledger now has 73 competitor_no_match records

Live health after the run:

  • active products: 17414
  • price verified: 11523
  • image verified: 12125
  • details verified: 16814
  • fully verified: 10831
  • competitor status:
    • matched=11158
    • no_valid_match=73
    • ambiguous=0
    • needs_research=6183

Operational Notes

  • tip-scraper-daemon was not restarted because pricing jobs were active.
  • Restart only after active pg-boss jobs complete, then queue reconcile and matcher.
  • This is the correct pattern for rare products: explicit no-match evidence beats false 1:1 matches.