# ShopFiber24 Parser Hardening - 2026-05-09

## Context

ShopFiber24 has many near-complete rows where prices, images and source URLs exist. Several remaining products are variable-length cable families, so they must not be treated as deterministic variants.

## Root Cause

- Variable cable ranges such as `1 - 30 m` can be misread by simple reach patterns as a fixed `30m` reach
- `800G` / `QSFP-DD800` product text was classified as `400G`

## Code Hardened

- `packages/scraper/src/scrapers/fiber24.ts`
  - detects `800G` as `800G` / `800Gbps`
  - parses explicit single `m/km` reach values generically
  - refuses variable ranges like `1 - 30 m`, `1 to 30 m`, `1 bis 30 m`

## Verification

- `npm run build -w packages/scraper` passed locally

## Deployment

Not deployed yet because Erik SSH was refusing connections. This should be synced to `/opt/tip` and rebuilt once Erik is reachable.

## Truth Policy

Future ShopFiber24 passes should only mark product details verified when reach is deterministic. Variable cable-family rows need variant-level extraction and must not be blindly approved.

