# Session 2026-05-10 — Blinken Laserliner Pipeline

## Kontext
Fortsättning på Blinken Tools AB content-arbete. Föregående session (2026-05-09) levererade 14 Fluke-produktsidor manuellt. Idag: bygga generator-pipeline för Laserliner-produkter och köra första 10 av 92 orange Laserliner-produkter från Jespers Excel.

## Kärnbudskap
- Manuell template-copy + sed-replace = för långsamt och felbenäget (5 h för 14 Fluke)
- Data-driven Python-generator (`products.json` + `build.py`) = 10 sidor på 10 min
- Iterativ Claude-app-review-loop hittar fel som internt `claude -p` missar
- Allt verifieras mot tillverkarens officiella sida innan publicering

## Beslut
1. **Pivot till data-driven pipeline**: `~/second-brain/projects/blinken-eu/design/laserliner-pipeline/` med `products.json` + `build.py`
2. **PDF-arkivering av källsidor**: `~/second-brain/projects/blinken-eu/source-archives/{fluke,laserliner}/` per produkt — chrome `--print-to-pdf` headless
3. **Auto-review via `claude -p`**: samma Claude-modell som Mac-app, autonomt CLI
4. **Cross-cutting fixes via products.json**: rensa fabricerade FAQ ("4× synligare", köprekommendationer, "basversion") + översätt engelska termer (Tilt warning function, laser receiver osv) + lägg till features + accessories från originalet

## Hårda regler tillagda
- `feedback_no_batch_content.md` — ALDRIG batch för web/content, en i taget med checkpoint
- `feedback_always_deliver_url.md` — ALLTID URL vid varje deliverable, inte låta Arash gissa

## Fakta
- Pipeline-fil: `~/second-brain/projects/blinken-eu/design/laserliner-pipeline/build.py`
- Produktdata: `~/second-brain/projects/blinken-eu/design/laserliner-pipeline/products.json` (10 produkter, ~30 KB med features+accessories+faqs+specs)
- Enrichment-skript: `~/second-brain/projects/blinken-eu/design/laserliner-pipeline/enrich.py` (curl + regex extraktion + claude -p översättning)
- Källarkiv: `~/second-brain/projects/blinken-eu/source-archives/{fluke,laserliner}/{slug}.pdf`
- Arkiv-skript: `~/second-brain/projects/blinken-eu/source-archives/archive_source.sh` (per produkt) + `archive_all.sh` (alla)
- Dagens entry på profilsidan: `~/second-brain/projects/blinken-eu/profile/index.html`
- Rapport: `~/second-brain/projects/blinken-eu/audits/laserliner-content-pipeline-rapport-2026-05-10.md` + `.html`

## 10 Laserliner-sidor levererade (alla live på pgari.tech)
| # | Slug | Källa |
|---|------|-------|
| 1 | masterplane-laser-3g-pro | https://www.laserliner.com/en/products_en/4021563733934-masterplane-laser-3g-pro.html |
| 2 | mastercross-laser-xpg-pro | https://www.laserliner.com/en/products_en/cross-line-lasers/4021563736478-mastercross-laser-xpg-pro.html |
| 3 | pocketcross-laser-2g | https://www.laserliner.com/en/products_en/cross-line-lasers/4021563725212-pocketcross-laser-2g.html |
| 4 | pocketplane-laser-4g | https://www.laserliner.com/en/products_en/4021563740284-pocketplane-laser-4g.html |
| 5 | powercross-laser-8g | https://www.laserliner.com/en/products_en/4021563718122-powercross-laser-8g.html |
| 6 | precisionplane-laser-4g-pro | https://www.laserliner.com/en/products_en/4021563714391-precisionplane-laser-4g-pro.html |
| 7 | x3-laser-pro | https://www.laserliner.com/en/products_en/4021563705221-x3-laser-pro.html |
| 8 | smartcross-laser-x | https://www.laserliner.com/en/products_en/cross-line-lasers/4021563731831-smartcross-laser-x.html |
| 9 | smartcross-laser-gx-set | https://www.laserliner.com/en/products_en/cross-line-lasers/4021563731794-smartcross-laser-gx-set.html |
| 10 | compactline-laser-g360-set | https://www.laserliner.com/en/products_en/line-lasers/4021563730384-compactline-laser-g360-set.html |

URL-mönster: `https://pgari.tech/r/de8bb9f1ab4f2209/{slug}/`

## Iterations-historik (Claude-app review-rundor)
- **Runda 1 (v=11)**: Internt claude -p gav snitt 7,7/10. Klassad som tunn brödtext.
- **Runda 2 (v=14)**: Arashs externa multi-agent — hittade 50+ fel: features+accessories saknades, fabricerade FAQ, copy-paste på G360 (17 fel)
- **Runda 3 (v=14)**: 8 kvarvarande fel efter cross-cutting fixes
- **Runda 4 (v=15)**: 3 verkliga fel + 7 kosmetiska efter mer fix
- **Runda 5 (v=15 igen)**: 0 verkliga fel kvar (TelePod Plus-falsk-larm verifierat)

## Oavslutade fel
- 5 Laserliner-PDF:er saknas i arkivet pga 60s-timeout (precisionplane, x3-laser-pro, smartcross-x, smartcross-gx-set, compactline-g360-set) — kör om med längre timeout

## Var allt sparas
- **Lokalt (datorn):** `~/second-brain/projects/blinken-eu/` (design, source-archives, audits, profile)
- **Live (pgari.tech):** `https://pgari.tech/r/de8bb9f1ab4f2209/{slug}/` (no-auth via Caddy /r/* route till `/var/www/pgari/r/de8bb9f1ab4f2209/`)
- **Profilsida med daglig avstämning:** `https://pgari.tech/r/de8bb9f1ab4f2209/blinken-tools/`
- **Rapport:** `https://pgari.tech/r/de8bb9f1ab4f2209/blinken-tools/laserliner-content-pipeline-rapport-2026-05-10.html`
- **Chat-backup:** synkad till VPS via `~/.claude/scripts/sync_chats_to_pgari.sh today` → `/root/claude-chats/general/2026-05-10/`
- **Memory-regler:** `~/.claude/projects/-Users-Arash/memory/feedback_*.md` med pekare i `MEMORY.md`

## Nästa steg
1. Ny Claude-app-verifierings-runda mot `?v=15` för att bekräfta fixarna
2. Återförsäljarexpansion (samma issue som Fluke — bara Proffsmagasinet som ÅF idag)
3. Skala pipelinen till resterande 82 Laserliner-produkter (~80 min med samma generator)
4. Brödtext-template med per-produkt-djup för EEAT-höjning
5. Författar-/granskar-byline (krav för EEAT i tekniskt content)

## Relaterade memory-filer
- `feedback_no_batch_content.md` — ALDRIG batch för web/content
- `feedback_always_deliver_url.md` — ALLTID URL vid varje deliverable
- `feedback_alltid_trace_till_pgari.md` — Allt vi pratar om → pgari.tech
- `feedback_session_summary.md` — Spara session-sammanfattning i andrahjärnan
- `feedback_sync_chats_pgari.md` — Synka chat-transcripts till pgari.tech VPS
