3.1 KiB
3.1 KiB
2026-05-09 — TIP Open Competitor Closure + Product Gap Probing
Competitor Status Closure
Added competitor_ambiguous as an evidence type via sql/104-verification-evidence-ambiguous.sql.
Added packages/scraper/src/utils/resolve-open-competitor-status.ts.
Runbook:
pnpm -C packages/scraper run verify:open-competitor-status
OPEN_COMPETITOR_APPLY=1 pnpm -C packages/scraper run verify:open-competitor-status
Live result:
- dry-run found
365fully populated products still inneeds_research - apply wrote:
364ambiguous1no_valid_match1newlyfully_verified
- evidence ledger:
364competitor_ambiguous1competitor_no_match
- fully populated products still in competitor
needs_research:0
Scheduler guard:
maintenance:find-equivalencesnow preserves deliberateambiguousstates instead of resetting them toneeds_research- built on Erik successfully
- restarted
tip-scraper-daemononly after the pg-boss active queue was empty
Live health after closure:
- active products:
17305 - price verified:
11414 - image verified:
12016 - details verified:
16705 - fully verified:
10449 - competitor status:
matched=10775no_valid_match=74ambiguous=556needs_research=5900
Interpretation:
needs_researchno longer contains fully populated products ready for competitor-only resolution.- Remaining
needs_researchrows are product-data gaps first.
Product Gap Probing
Catalog Details
- hardened
verify:catalog:detailsto write detail evidence - live result:
113catalog-derived rows updated,0fully verified earned - active Health did not move, so those rows are not currently improving the active dashboard base
GAO Tek
- ran
scrape:gaotek:details - checked remaining
64rows - result:
0updated,64skipped,0errors - interpretation: remaining GAO pages lack deterministic public detail evidence
GBICS
- added
scrape:gbics - patched
gbics.tsto pass product URLs into DB upsert/detail verification - live run found
758products and0prices - active gap remains
64 price / 64 image / 64 detailsof135 - interpretation: discovery works, but active rows and scraped identifiers need alias/dedupe hardening; price selector also needs repair
T&S Communication
- added
scrape:tscom - patched
tscom.tsto pass product URLs into DB upsert/detail verification - live run found
109unique products and0prices - active gap remains
82 price / 82 image / 49 detailsof82 - interpretation: discovery works, but row matching and price selectors need hardening
10Gtek / SFPcables
- live run found
110products and wrote6prices - active 10Gtek gap remains
126 price / 131 image / 25 detailsof175 - interpretation: parser works partially; remaining rows need alias/source-page repair
Next Real Work
- Build alias/dedupe resolvers for GBICS, T&S, and 10Gtek similar to FS.com numeric SKU alias cleanup.
- Repair GBICS/T&S price selectors against current page HTML.
- For OEM vendors such as Cisco/Juniper, add explicit non-public-price states instead of pretending OEM list prices exist.