372 Commits

Author SHA1 Message Date
Rene Fichtmueller
a43a693044 sync: record small vendor standard backfill 2026-05-09 17:41:49 +02:00
Rene Fichtmueller
a0e344549c sync: record fibermall url backfill 2026-05-09 17:37:15 +02:00
Rene Fichtmueller
be4260a0fc sync: record shopfiber24 code backfill 2026-05-09 17:33:33 +02:00
Rene Fichtmueller
91a1c2282a fix: harden atgbics evidence parsing 2026-05-09 17:30:08 +02:00
Rene Fichtmueller
c2421c03a3 fix: harden shopfiber24 reach parsing 2026-05-09 17:24:06 +02:00
Rene Fichtmueller
6d8d7874d3 sync: record fibermall source backfill 2026-05-09 17:19:45 +02:00
Rene Fichtmueller
41f5a403a5 sync: record magatama training recovery 2026-05-09 17:18:35 +02:00
Rene Fichtmueller
9527d4f808 sync: record atgbics cable backfill 2026-05-09 17:12:52 +02:00
Rene Fichtmueller
a673048d7e sync: record naddod infrastructure classification 2026-05-09 17:06:45 +02:00
Rene Fichtmueller
bb9c495497 fix: verify qsfptek cable details 2026-05-09 17:03:35 +02:00
Rene Fichtmueller
fc18b00157 fix: verify copper cable semantics 2026-05-09 16:55:50 +02:00
Rene Fichtmueller
c25300199a fix: harden atgbics wavelength semantics 2026-05-09 16:41:18 +02:00
Rene Fichtmueller
ab0d21ec4f sync: record highspeed wavelength backfill 2026-05-09 16:30:02 +02:00
Rene Fichtmueller
7044e564d6 sync: record strict active equivalence sweep 2026-05-09 16:24:10 +02:00
Rene Fichtmueller
61acccf5df fix: require strict comparable transceiver evidence 2026-05-09 16:02:49 +02:00
Rene Fichtmueller
b26696f0d1 fix: improve vendor verification and fscom 1.6t variants 2026-05-09 15:56:08 +02:00
Rene Fichtmueller
7da78a999d sync: record immediate equivalence revalidation 2026-05-09 14:14:48 +02:00
Rene Fichtmueller
49f0871720 chore: ignore crawlee python build artifacts 2026-05-09 14:06:55 +02:00
Rene Fichtmueller
60531b6250 feat: add crawlee python worker integration 2026-05-09 14:06:34 +02:00
Rene Fichtmueller
6ee10bf301 sync: record crawlee evaluation and fscom url discovery 2026-05-09 14:00:37 +02:00
Rene Fichtmueller
3d79f6b8e0 fix: add fscom url discovery mode 2026-05-09 14:00:30 +02:00
Rene Fichtmueller
7ddc439315 sync: record fscom targeted verification push 2026-05-09 11:15:46 +02:00
Rene Fichtmueller
f64dbf7b6b fix: add fscom targeted detail verification mode 2026-05-09 11:15:36 +02:00
Rene Fichtmueller
e73defe6bb sync: update flexoptix final gap closure 2026-05-09 09:39:21 +02:00
Rene Fichtmueller
d588a20a54 sync: record magatama atlas fallback and lane registry fix 2026-05-09 09:38:22 +02:00
Rene Fichtmueller
549b4430df fix: enrich flexoptix detail verification 2026-05-09 09:36:28 +02:00
Rene Fichtmueller
5522bb2152 fix: refresh price verification timestamps 2026-05-09 08:13:39 +02:00
Rene Fichtmueller
bba48d3e84 sync: record magatama atlas rematerialization fix 2026-05-09 08:02:54 +02:00
Rene Fichtmueller
43b7250180 fix: automate equivalence research review queue 2026-05-09 07:48:11 +02:00
Rene Fichtmueller
ef225c7dc5 fix: revalidate flexoptix fs prices and images 2026-05-09 05:13:37 +02:00
Rene Fichtmueller
fd29bee5cb sync: record magatama dashboard cache and port detail fix 2026-05-09 04:02:36 +02:00
Rene Fichtmueller
8b42077081 sync: refresh cross-agent chat handoff 2026-05-07 11:52:19 +02:00
Rene Fichtmueller
72d61add47 sync: record custom runpod worker build prep 2026-05-07 11:04:22 +02:00
Rene Fichtmueller
2a3576135c sync: record runpod managed endpoint root cause 2026-05-07 10:47:57 +02:00
Rene Fichtmueller
21b56ead81 sync: record runpod heartbeat and terminal truth 2026-05-07 10:06:40 +02:00
Rene Fichtmueller
01d0365fbf sync: record live attack-path guidance fix 2026-05-07 06:40:04 +02:00
Rene Fichtmueller
61328b0607 sync: record lane-specific runpod adoption versioning 2026-05-07 01:36:36 +02:00
Rene Fichtmueller
a6278a5041 sync: record magatamallm local training verification 2026-05-07 01:16:25 +02:00
Rene Fichtmueller
a0ea4ccbae sync: record magatama switchblade port intelligence fix 2026-05-07 00:56:59 +02:00
Rene Fichtmueller
57e20efe49 fix: NADDOD price extraction — read from LD+JSON offers.price
NADDOD uses LD+JSON for pricing (Astro/Shopify structure):
  {"offers":{"price":"731.00","priceCurrency":"USD",...}}

Old regex (/US$\s*.../) never matched → all 132 price obs were lucky
text matches, not systematic. Now: parse all ld+json blocks first,
fall back to regex.

Also broaden sitemap URL regex to capture new-style URLs without .html:
  /products/nvidia-networking/102612 (was being missed)
2026-05-06 23:55:55 +02:00
Rene Fichtmueller
1a7c928120 fix: FS.COM price extraction — use .no_tax/.price CSS selectors
FS.com changed their HTML structure; compound class names are gone.
Current layout (verified 2026-05-06):
  <div class="no_tax">5,10 € ohne MwSt.</div>  ← B2B net price (preferred)
  <div class="price">6,07 €</div>               ← gross fallback
  <div class="standard_price">6,07 €</div>      ← gross fallback

Old selectors ([class*='price-value'] etc.) matched nothing → all prices
stored as €? null. New .no_tax first gives us the correct net/B2B price.
2026-05-06 23:45:30 +02:00
Rene Fichtmueller
a1a525b332 chore: sync API routes, dashboard hot-topics, MCP server, scraper package, scripts 2026-05-06 23:39:04 +02:00
Rene Fichtmueller
a8529d166b fix: resolve TS build errors — export backfillImages, add writeRobotExperience
- backfill-images.ts: rename main() → export backfillImages() to match index.ts import
- training-data-writer.ts: add writeRobotExperience export; remove hardcoded Gitea token
- fiber24.ts/fibermall.ts: scraper improvements from previous sessions
- image-downloader.ts/spec-updater.ts: utility updates
- robots/: add verification robots module
2026-05-06 23:39:00 +02:00
Rene Fichtmueller
5a77fce9f3 feat: NADDOD cursor rotation — covers all 7300+ URLs across 12 runs (24h)
Previously always sliced first 600 URLs from sitemap, missing 6700+ products.
Now stores offset in naddod-cursor.json, advances by 600 per run with wrap-around.
Full sitemap coverage in ~13 runs (26h). Also adds TIP_STORAGE_DIR env support.
2026-05-06 23:26:58 +02:00
Rene Fichtmueller
efb0c24a19 feat: rewrite ATGBICS scraper to use Shopify products.json API
Static HTML collection pages return wrong results (all redirect to same 9 products).
Switch to /collections/{handle}/products.json?limit=250&page=N API which is:
- Reliable JSON (no HTML parsing)
- Correct per-collection product lists
- Clean pagination (stop at < limit results)
- Covers 11 key transceiver collections (1G, 10G, 25G, 40G, 100G, 400G)
2026-05-06 23:17:46 +02:00
Rene Fichtmueller
5c882c3a46 fix: refresh stale price observations after 7 days + fix ATGBICS pagination wrap-around
- upsertPriceObservation: insert new observation if last one is >7 days old,
  even when price (content_hash) hasn't changed — keeps timeseries data fresh
- ATGBICS: detect Shopify catalog wrap-around by tracking per-category seen URLs;
  stop pagination when all products on a page were already seen in a prior page
- ATGBICS: improve hasNextPage to match &page=N anchored in href params
2026-05-06 23:11:15 +02:00
Rene Fichtmueller
d01039734a sync: record tip lane detangling and disk-safe refresh 2026-05-06 22:53:41 +02:00
Rene Fichtmueller
e6f98c89bd sync: record magatama runpod adoption and lane truth 2026-05-06 20:23:53 +02:00
Rene Fichtmueller
b9a45f9f23 sync: record lane-specific training pools and url runpod mode 2026-05-06 17:55:20 +02:00
Rene Fichtmueller
830ab57c3c sync: record magatama ui cache runpod tooltip changelog fix 2026-05-06 17:24:54 +02:00