# Flexoptix Catalog Import TIP can ingest the normalized Flexoptix shop catalog produced by Magatama/Pulso. This keeps prices, product URLs, stock, and product attributes live-data driven instead of baking volatile values into LLM training pairs. ## Producer Run in the Magatama repo: ```bash pnpm pulso:shop:sync:dry-run pnpm pulso:shop:sync -- --fixture ./shop-export.json FLEXOPTIX_API_BASE_URL=... FLEXOPTIX_API_TOKEN=... pnpm pulso:shop:sync ``` The producer writes: - `data/pulso/shop-products.normalized.jsonl` - `data/pulso/shop-catalog.normalized.json` - `data/pulso/shop-snapshot.manifest.json` ## TIP Import Safe validation: ```bash npm run flexoptix:catalog:import -- --dry-run ``` Import into the TIP database: ```bash TIP_DB_PASS=... npm run flexoptix:catalog:import ``` Override the input path if needed: ```bash npm run flexoptix:catalog:import -- --input /path/shop-products.normalized.jsonl --dry-run ``` ## Safety Rules - Rows without SKU, title, form factor, speed, or reach are skipped for DB import. - Prices and stock are written only when present in live/API data. - No product URL, SKU, price, stock, delivery time, or compatibility is invented. - The importer uses existing TIP helpers for transceiver upsert, price observations, and stock observations.