fix(pl24): Opel/Hyundai/Kia decode'unda 0 kategori — tablo satırları okunmuyordu #264
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Faz 1 / adım 6. Analiz
/home/s/ss/plv2.md, bulgu p4legacy-03.Sorun
Opel, Hyundai ve Kia ana gruplarını
<a href>ile değil, satır attribute'uyla veriyor:decodeVinyolu yalnız anchor tarayanparseP4NavigationCategories'i kullanıyordu → sayfa listeyi taşıdığı hâlde 0 kategori.Prod ölçümü (
vehicles.raw_data.categories, source=pl24):(Kategori tablosu sonradan lazy-seed ile doluyor, ama decode kategorisiz döndüğü için kullanıcı ilk açılışta boş görüyor ve prefetch self-seed'e zorlanıyor.)
Üç ayrı kusur
parseFordGroupsFromHtmlbu satırları zaten anlıyor ama decode'dan hiç çağrılmıyordu. Kategori zinciri artık: JSON ucu → tc-data-row tablosu → anchor taraması.vin-group.action && !group1=guard'ı, Hyundai/Kia'nın aynı ucumainGroup=anahtarıyla kullanan gerçek ana gruplarını da eliyordu. Artıkgroup1=veyamainGroup=taşıyan satırlar korunuyor.&), bu yüzden[?&]mainGroup=kontrolü hiç tutmuyordu. URL artık ayrıştırma anında entity-decode ediliyor — saklananlinkPathde böylece temiz (p4legacy-10'daki&sorununun da bir ayağı).Doğrulama
Yeni
pl24-p4-groups.spec.ts, 2026-09-16 canlı yakalamalarından kırpılmış fixture'larla (__fixtures__/p4_{opel,hyundai,ford,nissan}.html— ağa çıkmadan gerçek HTML'e karşı test):mainGroupId=394linki doğrumainGroup=BOlinki doğrusharedCatCodescope satırları bozulmadı; Nissan model-seçim satırları elenmeye devam ediyor213 test geçti,
tsc+biometemiz.Not
db_hitkısa devresi yüzünden mevcut araçlar kendiliğinden düzelmez; kazanç yeni decode'larda. Toplu yeniden decode Faz 2'de (322 PSA + 36 Volvo ile birlikte).🤖 Generated with Claude Code
Faz 1 / adım 6 (analiz: /home/s/ss/plv2.md, bulgu p4legacy-03). SORUN: Bu markalar ana gruplarını <a href> ile DEĞİL, satır attribute'uyla veriyor: Opel <tr class="tc-data-row" jsonurl="json-vin-main-group.action?catId=25 &mainGroupId=394…" caption="BODY SHELL AND PANELS" ident="394"> Hyundai <tr class="tc-data-row" url="vin-group.action?…&mainGroup=BO…"> <td>BO</td><td>BODY</td> decodeVin yolu yalnız anchor tarayan parseP4NavigationCategories'i kullanıyordu → sayfa listeyi taşıdığı hâlde 0 kategori. Prod ölçümü (raw_data.categories): Opel 177/181 (%97,8), Hyundai 12/12, Kia 6/6, Nissan 1/1 araç decode anında BOŞ. (Kategori tablosu sonradan lazy-seed ile doluyor, ama decode kategorisiz döndüğü için kullanıcı ilk açılışta boş görüyor ve prefetch self-seed'e zorlanıyor.) Üç ayrı kusur vardı: 1. `parseFordGroupsFromHtml` bu satırları zaten anlıyor ama decode'dan hiç çağrılmıyordu → kategori zincirine fallback olarak eklendi (JSON ucu → tc-data-row tablosu → anchor taraması). 2. Volvo için konmuş `vin-group.action && !group1=` guard'ı Hyundai/Kia'nın AYNI ucu `mainGroup=` anahtarıyla kullanan gerçek ana gruplarını da eliyordu → artık `group1=` veya `mainGroup=` taşıyan satırlar korunuyor. 3. Satır attribute'ları HTML-escaped (`&`), bu yüzden `[?&]mainGroup=` kontrolü hiç tutmuyordu → URL artık ayrıştırma anında entity-decode ediliyor (saklanan linkPath de böylece temiz). Test: yeni `pl24-p4-groups.spec.ts` + 2026-09-16 canlı yakalamalarından kırpılmış fixture'lar (`__fixtures__/p4_{opel,hyundai,ford,nissan}.html`). Opel 31 ana grup ("BODY SHELL AND PANELS"…), Hyundai 6 ("BODY"…), anchor-only parser'ın bu sayfalarda hâlâ 0 döndüğü (fallback'in gerekçesi), Ford sharedCatCode scope satırlarının bozulmadığı ve Nissan model-seçim satırlarının elendiği kilitlendi. 213 test geçti; tsc + biome temiz. NOT: db_hit kısa devresi yüzünden mevcut araçlar kendiliğinden düzelmez; kazanç yeni decode'larda. Toplu yeniden decode Faz 2'de. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>