Replaces the GraphQL/search-based Flexoptix scraper with a proper
Magento 2 REST API integration that delivers authoritative SKUs,
prices, stock levels and compatibility data.
New files:
- packages/scraper/src/robots/flexoptix-api-sync.ts
Self-contained robot: auth → paginated fetch → normalize → DB write.
Reads FLEXOPTIX_API_BASE_URL / _USERNAME / _PASSWORD from env.
Returns { fetched, normalized, skipped, priceWrites, stockWrites }.
No file intermediary — in-memory pipeline.
- scripts/import-flexoptix-catalog.ts
One-shot CLI importer for the Pulso-generated JSONL (Codex handover).
- docs/FLEXOPTIX_CATALOG_IMPORT.md
Runbook for manual import + per-SKU specifications enrichment.
Scheduler changes:
- Added sync:flexoptix-catalog queue + work() handler
- Scheduled every 2h at 0 */2 * * * (same cadence as legacy job)
- scrape:pricing:flexoptix kept as legacy GraphQL fallback
Also includes Codex-generated additions from this sprint:
- audiocodes-oem scraper, seed-batch35/36/37, db.ts improvements,
sql/102 verification reconcile, README + package.json updates
TIP Agent Sync
This folder is the shared handoff area for Codex, Claude Code, and laptop sync workflows.
Rules:
- Always write current work status here before ending a session.
- Keep entries practical: what changed, what was deployed, what was not deployed, what is risky, and what should happen next.
- Do not store secrets, tokens, passwords, private keys, cookies, or bearer tokens here.
- Use Gitea
originas the common sync target. - Erik is a controller only for crawler work. Heavy crawling belongs on Proxmox or Pi workers.
- TIPLLM is the only AI used for TIP crawler/robot planning and extraction feedback.
- Robot/crawler experiences must also be written to the TIPLLM training pool in Gitea.
Suggested session closeout:
git status --short
date -u
Then update:
sync/CURRENT.mdfor the latest operational state.- A dated file under
sync/history/for anything substantial.