This website requires JavaScript.
b6928265bf
fix: serialize Claude API calls via queue to prevent 429 rate-limit spam
Rene Fichtmueller
2026-04-06 00:57:03 +02:00
cf04549b1b
feat: add Anthropic Claude provider to blog LLM client
Rene Fichtmueller
2026-04-06 00:21:48 +02:00
c43e1f881a
fix(blog): hard story blacklist in STEP4 + LinkedIn — ban 2AM/dirty connector/lab-vs-prod stories
Rene Fichtmueller
2026-04-05 23:55:56 +02:00
80435f8e07
feat(blog): Post to Ghost + LinkedIn buttons in dashboard
Rene Fichtmueller
2026-04-05 23:33:58 +02:00
3913372f10
feat(blog): Title Contract + Technical Sanity Check + Self-Heal + angle-aware LinkedIn generator
Rene Fichtmueller
2026-04-05 23:11:16 +02:00
8e0eda6c41
fix(blog): anti-repetition engine — 6 angle types, forbidden structures, existing article context injection
Rene Fichtmueller
2026-04-05 22:47:15 +02:00
438225cf7c
fix(blog): raise word target to 1200-1600, fix power-budget false positive in validateArticle
Rene Fichtmueller
2026-04-05 20:49:22 +02:00
1434037d29
fix(scraper): use false instead of null for image_verified on insert
Rene Fichtmueller
2026-04-05 12:15:10 +02:00
308cf8e774
feat(dashboard): add data verification status section to overview tab
Rene Fichtmueller
2026-04-05 12:11:23 +02:00
7c7d9f7b51
fix: make /api/hot-topics public — dashboard fetch has no auth token
Rene Fichtmueller
2026-04-05 12:07:44 +02:00
e6d042f827
fix: resolve merge conflict in index.ts + add untracked blog-sll, news, sql migration
Rene Fichtmueller
2026-04-05 11:51:07 +02:00
5d8768b43b
fix: mount blogSllRouter + scraperRouter — SLL and Crawler Intelligence routes were missing
root
2026-04-05 09:50:30 +00:00
8cc19011f4
feat(scraper): all pricing scrapers to 2h 24/7 — full competitor coverage, no gaps
Rene Fichtmueller
2026-04-05 01:32:08 +02:00
44244a22a1
feat: 4th verification criterion (Competitor) + scraper frequency FS/10Gtek/ProLabs to 2h
Rene Fichtmueller
2026-04-05 01:28:46 +02:00
e4dfd2a2db
feat(blog): AEM/APM pipeline steps + SLL context builder + LinkedIn v2 prompts
Rene Fichtmueller
2026-04-05 01:26:09 +02:00
95a8aa8552
fix: include linkedin_post in GET /api/blog response for SLL matching
Rene Fichtmueller
2026-04-05 01:24:52 +02:00
931588fffd
fix(verification): 100% Verified Badge war dramatisch zu großzügig
Rene Fichtmueller
2026-04-04 15:41:57 +02:00
1e789f67eb
fix(scrapers): Flexoptix Catalog zeigt 0 records statt 963
Rene Fichtmueller
2026-04-04 15:26:04 +02:00
fea0b0fb66
feat: blog engine v5 — Auto-Kill Layer, 16-step pipeline, longer content
Rene Fichtmueller
2026-04-04 11:02:45 +02:00
ede4f5b966
feat: blog engine v3 — 8-stage pipeline with Auto-Kill Layer
Rene Fichtmueller
2026-04-04 10:52:31 +02:00
c509251109
feat(blog): Spec dump hard fail + Gold Standards 6 + LinkedIn v2
Rene Fichtmueller
2026-04-04 09:32:01 +02:00
4f631fc61e
feat(blog): Reduction Engine v1.0 + LaTeX/connector hard fails
Rene Fichtmueller
2026-04-04 08:57:21 +02:00
d6adb5600f
ui: blog detail — separate blog article + linkedin post sections with copy buttons and char count badge
Rene Fichtmueller
2026-04-04 08:35:33 +02:00
3431ccbebc
chore: changelog — blog engine v5 + linkedin post 2026-04-04
Rene Fichtmueller
2026-04-04 08:30:54 +02:00
1e19365e96
feat: blog engine v5 — narrative control + linkedin post + min words fix
Rene Fichtmueller
2026-04-04 08:30:27 +02:00
be9209ffbd
chore: changelog — proxy network geo/uptime fixes 2026-04-04
Rene Fichtmueller
2026-04-04 08:15:58 +02:00
ae0bda9e06
feat: proxy network — geo-lookup, uptime tracking, dedup fix
Rene Fichtmueller
2026-04-04 08:15:32 +02:00
9074b6ede0
docs: update changelog 2026-04-03/04 — scraper fixes, blog engine v4, proxy network, pg-boss fix
Rene Fichtmueller
2026-04-04 07:58:29 +02:00
f616e0ebbe
feat: blog engine v4 (reduction+style-lock passes) + flexoptix scraper fixes
Rene Fichtmueller
2026-04-04 07:50:01 +02:00
0ac932a304
fix: flexoptix catalog scraper — 1G SFP coverage + SKU suffix + pagination
Rene Fichtmueller
2026-04-04 07:26:13 +02:00
c179b236d7
fix: auto-set image_verified and price_verified in db utils
Rene Fichtmueller
2026-04-04 07:14:26 +02:00
2913ad451b
fix: reduce pg-boss pool size to 4, add idle_in_transaction_session_timeout
Rene Fichtmueller
2026-04-03 21:15:35 +02:00
1026787318
feat: add proxy network, image backfill, and scraper improvements
Rene Fichtmueller
2026-04-03 21:13:03 +02:00
abea0cd8fa
fix: remove orphaned floating text causing TypeScript build error in fo-blog-pipeline
Rene Fichtmueller
2026-04-03 00:51:59 +02:00
3a61723126
fix(blog): complete pipeline rewrite — eliminate sections/bullets, fix DR4 wavelength, fix scope description
Rene Fichtmueller
2026-04-03 00:43:14 +02:00
c7697308f6
feat: NOG conference talks scraper + hot topics integration
Rene Fichtmueller
2026-04-02 22:38:00 +02:00
c81b9f5375
feat: hot topics now uses market_intelligence + LLM queue reset
Rene Fichtmueller
2026-04-02 22:23:21 +02:00
25839e731d
fix: loadCrawlerStatus missing token — add var token = localStorage.getItem
Rene Fichtmueller
2026-04-02 16:00:27 +02:00
69ef507d8a
fix: scrapers status endpoint — correct table and column names
Rene Fichtmueller
2026-04-02 15:24:18 +02:00
e3b53343d4
fix: crawler intelligence hot topics now reads market_intelligence table
Rene Fichtmueller
2026-04-02 15:22:09 +02:00
6a89b5468b
fix: smart tooltips that flip above/below based on viewport position
Rene Fichtmueller
2026-04-02 13:03:51 +02:00
fe81b27248
fix: correct import paths in index-pi.ts (fs-com, tenGtek, utils/forecast-engine)
Rene Fichtmueller
2026-04-02 09:36:51 +02:00
6ccaa03932
feat: add index-pi.ts with all 44 workers for Pi fleet scraper nodes
Rene Fichtmueller
2026-04-02 09:34:05 +02:00
f146ac873e
feat: add 5 form-factor coverage scrapers with worker registrations
Rene Fichtmueller
2026-04-02 08:39:17 +02:00
b7613538bf
fix: remove internal IPs, ports, tokens from changelog entries
Rene Fichtmueller
2026-04-02 08:16:48 +02:00
b313522a2a
chore: changelog entry for auth feature
Rene Fichtmueller
2026-04-02 07:32:40 +02:00
a066300cf2
feat: password-protected login page + API auth middleware
Rene Fichtmueller
2026-04-02 07:31:15 +02:00
dba4c80e2f
chore: update CHANGELOG_PENDING with Pi fleet + prediction intelligence system entries
Rene Fichtmueller
2026-04-02 02:14:45 +02:00
370c1d8801
feat: 6 prediction signal scrapers + forecast engine
Rene Fichtmueller
2026-04-02 02:02:44 +02:00
c156e8d9f6
feat: download datasheets + manuals to Fearghas NAS in nightly sync
Rene Fichtmueller
2026-04-02 01:47:16 +02:00
5abe6397c4
feat: add logger utility + WireGuard setup in pi-scraper-setup.sh
Rene Fichtmueller
2026-04-02 01:42:25 +02:00
072978f1a4
feat: 24/7 scraping fleet — 8 new vendors + continuous schedule + Pi setup
Rene Fichtmueller
2026-04-02 01:09:05 +02:00
1c1fb28189
fix: pre-create Crawlee subdirs to prevent ENOENT race in withIsolatedStorage
Rene Fichtmueller
2026-04-02 00:45:48 +02:00
bb80e8bbe6
feat: tag all demo data with purple 'Demo Data' badge in Procurement Intelligence
Rene Fichtmueller
2026-04-01 23:41:40 +02:00
4f8170dc36
feat: register ALL scrapers in nightly 00:00-08:00 window (30 jobs)
Rene Fichtmueller
2026-04-01 23:39:08 +02:00
3e780ce6b7
feat: add tooltips throughout Procurement Intelligence tab + rename nav
Rene Fichtmueller
2026-04-01 23:32:01 +02:00
af69040070
fix: procurement demo data — correct schema column names for all 4 tables
Rene Fichtmueller
2026-04-01 23:16:50 +02:00
48218a553d
feat: nightly scraper window 00-08 + NAS Fearghas sync + procurement demo data
Rene Fichtmueller
2026-04-01 23:07:26 +02:00
732d7c3246
fix: switch seed lifecycle_status casing (Active not active)
Rene Fichtmueller
2026-04-01 22:50:10 +02:00
4020ec77d9
feat: product intelligence layer — eBay enricher, community issues, datasheets+manuals API
Rene Fichtmueller
2026-04-01 22:46:27 +02:00
64074f988f
feat: SMB/campus switch seed 26 models (Cisco/HPE/Ubiquiti/MikroTik/Netgear/Zyxel) + fix forecast.ts fiveYearProjection accessor
Rene Fichtmueller
2026-04-01 22:34:58 +02:00
4b1734379a
fix: Finder 404 shows helpful message + fuzzy switch name matching
Rene Fichtmueller
2026-04-01 22:17:07 +02:00
dad4750a86
feat: Changelog — CHANGELOG_PENDING.md, /api/changelog route, Overview tab widget
Rene Fichtmueller
2026-04-01 22:14:14 +02:00
681da54523
feat: Procurement Intelligence Engine (WS0c)
Rene Fichtmueller
2026-04-01 22:04:33 +02:00
480decd307
fix: detect+warn garbage product names, add DB cleanup migration 018
Rene Fichtmueller
2026-04-01 21:26:13 +02:00
7b14ac4bbe
fix: panel-title shows proper manufacturer name, not auto-generated slug
Rene Fichtmueller
2026-04-01 21:23:18 +02:00
33c417cf21
fix: comparable price rows same layout as direct prices, part number as tooltip
Rene Fichtmueller
2026-04-01 21:17:41 +02:00
7fd9fd3c8a
feat: competitor price comparison in transceiver detail
Rene Fichtmueller
2026-04-01 21:08:09 +02:00
c23b9f68ce
fix: verification bar white text, pricing removes unverified fallback
Rene Fichtmueller
2026-04-01 21:04:42 +02:00
f91d2a15b9
feat: switch Flexoptix recommendations, switch verified labels, stronger verification check
Rene Fichtmueller
2026-04-01 20:59:30 +02:00
3811b3b953
feat: temp range display, verification badges, competitor prices, tag tooltips
Rene Fichtmueller
2026-04-01 20:47:02 +02:00
cd48eee316
fix: panel close button dark on light background
Rene Fichtmueller
2026-04-01 20:39:50 +02:00
fe81c2d19d
feat: visible close button, product name above image, SKU + descriptive name in list
Rene Fichtmueller
2026-04-01 20:02:52 +02:00
2b683dadfb
feat: Verified Price + 100% Verified stamp system
Rene Fichtmueller
2026-04-01 17:43:48 +02:00
6a6a22d303
feat: Switch→Transceiver Finder tab in dashboard
Rene Fichtmueller
2026-04-01 17:30:49 +02:00
174078efdb
feat: 100% verified data — no invented prices, part numbers, or designations
Rene Fichtmueller
2026-04-01 17:27:55 +02:00
ee8b3c0779
feat: hot topics daily rotation — 30+ topic pool, seeded shuffle, next-refresh countdown
Rene Fichtmueller
2026-04-01 11:12:38 +02:00
580df8be01
blog: calibration v8 — AI phrasing blacklist, STEP8 6-step rewrite, Flexoptix author identity
Rene Fichtmueller
2026-04-01 00:43:38 +02:00
52a04129e2
blog: calibration v7 — remove Cause/Fix/Example labels, integrate as prose narrative
Rene Fichtmueller
2026-04-01 00:10:50 +02:00
6b77b18842
fix(blog): extract article from QA, status badge ready/step X/10, calibration v6 Flexoptix balance
Rene Fichtmueller
2026-03-31 23:52:56 +02:00
ef0b0bb148
fix(llm): add 429 retry with exponential backoff + ollamaQueue concurrency guard
Rene Fichtmueller
2026-03-31 21:45:46 +02:00
01ad16464d
blog: calibration v5 — anti-consulting-prose, correct loss budget math, vendor lock-in specifics
Rene Fichtmueller
2026-03-31 21:26:39 +02:00
ea554ebd6f
security: remove hardcoded secrets from ecosystem.config.js, add example template
Rene Fichtmueller
2026-03-31 20:36:33 +02:00
58a26116b1
fix(blog): 3s delay between queued LLM pipelines to prevent nginx 429 bursts
Rene Fichtmueller
2026-03-31 19:40:40 +02:00
45abd15fe4
blog: calibration v4 — technical accuracy + structure limits
Rene Fichtmueller
2026-03-31 17:27:51 +02:00
315a988775
feat(blog): add Style B prose calibration — 10/10 narrative flow standard
Rene Fichtmueller
2026-03-31 16:48:10 +02:00
f71ef2b20c
feat(blog): regenerate button, SEO hashtags, calibration engine v2
Rene Fichtmueller
2026-03-31 16:46:25 +02:00
5c7cbe0ccf
feat(v0.2.6): hot topics + pipeline lock + blog delete + clean external JS
v0.2.6
Rene Fichtmueller
2026-03-31 09:54:33 +02:00
12d12aab4f
feat(v0.2.6): hot topics + pipeline lock + blog delete + clean external JS
Rene Fichtmueller
2026-03-31 09:54:33 +02:00
78c3957857
feat(v0.2.5): hot topics engine + pipeline lock + UX fixes
v0.2.5
Rene Fichtmueller
2026-03-31 09:49:43 +02:00
3132b58309
feat(v0.2.5): hot topics engine + pipeline lock + UX fixes
Rene Fichtmueller
2026-03-31 09:49:43 +02:00
7719155e8e
feat(v0.2.4): blog generation UX overhaul — live progress bar
v0.2.4
Rene Fichtmueller
2026-03-31 09:44:29 +02:00
278207078b
feat(v0.2.4): blog generation UX overhaul — live progress bar
Rene Fichtmueller
2026-03-31 09:44:29 +02:00
896c338c8e
fix(v0.2.3): dashboard polling for LLM blog pipeline
v0.2.3
Rene Fichtmueller
2026-03-31 09:41:20 +02:00
4233118505
fix(v0.2.3): dashboard polling for LLM blog pipeline
Rene Fichtmueller
2026-03-31 09:41:20 +02:00
d69fff36c6
fix(v0.2.2): OLLAMA_URL pointed to localhost instead of .213 via WireGuard
v0.2.2
Rene Fichtmueller
2026-03-31 09:28:34 +02:00
9bb2f549f8
fix(v0.2.2): OLLAMA_URL pointed to localhost instead of .213 via WireGuard
Rene Fichtmueller
2026-03-31 09:28:34 +02:00
aa5d03bcf8
fix(blog): harden pipeline prompts based on v0.2.1 blog review feedback
Rene Fichtmueller
2026-03-31 09:24:08 +02:00
c01d69e02e
fix(blog): harden pipeline prompts based on v0.2.1 blog review feedback
Rene Fichtmueller
2026-03-31 09:24:08 +02:00
54cfca6774
chore: bump version to v0.2.1
v0.2.1
Rene Fichtmueller
2026-03-31 09:19:38 +02:00