feat(pl24): PSA+Volvo → P5, reaktif drill freni, 1 saatlik kesinti için Telegram uyarısı #263
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'in kalan üç parçası: reaktif drill freni, PL24 kesinti alarmı, PSA + Volvo'nun P5'e taşınması. Analiz
/home/s/ss/plv2.md.1. Reaktif drill freni (
02ec385)Ban'ı süren hacim backfill değil, her yeni decode'da çalışan tam ağaç drill'iydi:
PL24_TR_DISABLEDmain lane'i park etmişken bile yeni kategorilerin %100'ü aynı gün decode edilen araçlardan geldi (bir Passat 1.251, bir L200 2.323 kategori).PREFETCH_PL24_FAST_DEPTH=1— reaktif lane yalnız üst gruplar + doğrudan çocukları. Derini kullanıcı o düğümü açınca veya bütçeli backfill'de gelir.PREFETCH_PL24_DELAY_MS=8000±%50 jitter — yalnız backfill; kullanıcı lane'i hiç yavaşlamaz.activeAccount()); prod'da hamtryazıyordu.2. PL24 girişi 1 saat başarısızsa Telegram uyarısı (
3cfa3d5)İki hesap banı da günler sonra, DB satır sayılarından fark edildi (tr 07-24 → 08-18'de; de 09-04 → 09-16'da). Artık bir saat içinde haber gelir.
TelegramService(Süper Panel ile aynı bot; yapılandırılmamışsa sessizce devre dışı).pl24:auth:fail-since:<hesap>) → api+worker ve yeniden başlatmalar aynı başlangıcı görür, crash-loop saati sıfırlayamaz.3. PSA + Volvo → P5, eksik kataloglar, ağaç sınıflandırması (
dde6f6a)Canlı gerçek: manufacturers API peugeot/citroen/citroenDs/psa_opel/psa_vauxhall'ı
/p5psa, volvo/polestar'ı/p5volvo, subaru'yu/p5subaruveriyor. Eski Volvo P4 ucu 503 (ölü); eski PSA P4 ucu 200 ama verisi 2024-02-13'te donmuş (P5: 2026-09-07).psa_opel_parts,psa_vauxhall_parts,subaru_parts,abarth/alfa/jeep/lancia. WMI: ZAR→alfa, ZLA→lancia, VXK→psa_opel, yeni JF1/JF2→subaru, 1C4/1J4→jeep.normalizeLabel()— JStoLowerCaseTürkçe "İ"yii+ birleşen nokta yapıyordu, bu yüzden PSA'nın "AKTARMA SİSTEMLERİ"/"GÖVDE TİPİ" etiketleri hiçbir zaman eşleşmiyor, şanzıman ve gövde sessizce null kalıyordu.parsePsaModelYear()— "AM 2005" → 2005; "MAJÖR ENDEKS" yıl değil (Citroën'lerin 2001 görünme sebebi).damToModelYear()— PSA DAM alanından üretim yılı. PSA VIN'lerinde 10. karakter model yılı olmadığı için VIN fallback'i en sona alındı.record.idillusPath ve birden çok illüstrasyon paylaşıyor (canlı: 36 kayıt / 11 id) → benzersiz kodvalues.illustration.id:"null_null") hayalet parça olarak geçiyordu → elendi. Adet: qty · coef (PSA) · unit (Volvo).pl24-tree.ts) — dört ayrı sezgisel birbiriyle çelişiyordu:linkWid.includes("group")p5psaillusTableve p5volvo/p5subaruillustrationsTable'ı kaçırıyordu → o seviye yaprak sanılıp parça olarak çekiliyor, sessiz boş panel veriyordu (2026-06isPsaParentolayının aynısı).includes("/bomdetails")camelCase/details/vin/bomDetails'i kaçırıyordu → bugün Mitsubishi %99,9, Fiat %80, Renault %70 bomDetails yaprağı 0 parça; bu düzeltme onları da kapsıyor.Eski veri korundu: P4 kodu ve eski yollar dokunulmadı; mevcut 322 PSA + 36 Volvo aracı eski ağaçlarıyla çalışmaya devam eder. Yeniden decode + ölü kod sökümü ayrı iş (Faz 2).
Doğrulama
pl24-tree.spec.ts: 7 test, canlı VW/PSA/Volvo/Subaru wid+path çiftleriyle regresyon kilidi.tsc+biometemiz.Nest application successfully started); dev'de PL24 kapalı olduğu için canlı P5 doğrulaması prod'da yapılacak.Merge sonrası beklenen
İlk Peugeot/Citroën decode'u
/p5psa/extern/directAccess→ scope → mainGroups → illus → bomDetails zincirini kullanır (2026-09 verisi, 2024 değil); Volvo decode'u yeniden çalışır; yeni decode başına PL24 isteği binlerden ~40'a iner.🤖 Generated with Claude Code
Faz 1 / adım 2b (analiz: /home/s/ss/plv2.md, bulgu consumers_jobs-03). SORUN: Ban'ı süren hacim backfill değil, her yeni decode'da çalışan fast-lane TAM AĞAÇ drill'iydi. 2026-08-18→09-04 arasında (PL24_TR_DISABLED main lane'i park etmişken) yeni kategorilerin %100'ü aynı gün decode edilen araçlardan geldi: günde 3-17 decode → 1.4k-6.8k kategori (bir Passat 1.251, bir L200 2.323). Araç başına drill derinliği sınırsızdı ve PL24 istekleri arasında hiç bekleme yoktu. DEĞİŞİKLİK: - `PREFETCH_PL24_FAST_DEPTH` (varsayılan 1): PL24 reaktif/fast lane yalnız üst gruplar + doğrudan çocuklarını gezer. Daha derini ya kullanıcı o düğümü açtığında (lazy) ya da bütçeli backfill lane'inde çekilir. Diğer kaynaklar ve PL24 main lane MAX_DEPTH kullanmaya devam eder. Fast lane'in derinlik tavanına ulaşması normal durum olduğu için log seviyesi warn değil log. - `PREFETCH_PL24_DELAY_MS` (varsayılan 8000) + ±%50 jitter: PL24 BACKFILL işlerine per-job bekleme. Kullanıcının fast lane'i asla yavaşlatılmaz. Metronom gibi düzenli akış otomasyon imzasıdır; jitter onu kırar. - Telemetri düzeltmesi: `proxy_logs`'a ham hesap etiketi ("tr") yerine gerçekte kullanılan hesap yazılıyor (PL24_TR_DISABLED altında "de"). Yeni `PL24AuthService.activeAccount()`. Test: `__testables` ile maxDepthFor/jitter dışa açıldı + derinlik tavanı testi. Etkilenen paketler: 198 test geçti. tsc + biome temiz. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>Faz 1 / adım 3-4 (analiz: /home/s/ss/plv2.md §3.3/§3.5, bulgular types_wmi-01/02/03/04/05, p5core-02/03/04/05, psa-04/05/06, consumers_jobs-01/02). CANLI GERÇEK (2026-09-16 keşfi): PL24 manufacturers API'si peugeot/citroen/ citroenDs/psa_opel/psa_vauxhall'ı `/p5psa`, volvo/polestar'ı `/p5volvo`, subaru'yu `/p5subaru` olarak veriyor. Eski Volvo P4 ucu **503** döndürüyor (ölü); eski PSA P4 ucu 200 döndürüyor ama verisi **2024-02-13'te donmuş** (P5 upds 2026-09-07). Kodumuz her ikisini de P4'e yönlendiriyordu. SERVİS TABLOSU: - peugeot/citroen/citroenDs + YENİ psa_opel_parts, psa_vauxhall_parts → /p5psa - volvo/polestar → /p5volvo · YENİ subaru_parts → /p5subaru - YENİ abarth/alfa/jeep/lancia → /p5fiat - WMI düzeltmeleri: ZAR→alfa, ZLA→lancia (fiatp'den), VXK→psa_opel (PSA-platform Corsa F/Mokka B), YENİ JF1/JF2→subaru, 1C4/1J4→jeep. SERVICE_TO_BRAND genişledi. - P4 kodu ve eski yollar DOKUNULMADI: mevcut 322 PSA + 36 Volvo aracı eski ağaçlarıyla çalışmaya devam eder (veri göçü ayrı iş). PARSER (canlı yanıt şekillerine göre): - `normalizeLabel()`: JS toLowerCase Türkçe "İ"yi "i̇" (i + birleşen nokta) yapıyordu → PSA'nın "AKTARMA SİSTEMLERİ"/"GÖVDE TİPİ" etiketleri HİÇBİR ZAMAN eşleşmiyordu, şanzıman/gövde sessizce null kalıyordu. Artık tr-locale + diakritik temizliği + ı→i. - `parsePsaModelYear()`: "AM 2005" → 2005; "MAJÖR ENDEKS" bir yıl DEĞİL (bu yüzden Citroën'ler 2001 görünüyordu). `damToModelYear()`: PSA DAM alanı (1976-01-01'den gün) → üretim yılı, model yılı Temmuz'da döner. PSA VIN'lerinde 10. karakter model yılı olmadığı için VIN fallback'i en sona. - Alan listeleri: motor/engine (PSA "MOTOR", Volvo "Motor"), aktarma_sistemleri, mission, govde_tipi, kaporta_stili, türü→series. - Alt grup kodu: PSA'da `record.id` = illusPath ve birden çok illüstrasyon paylaşıyor (canlı: 36 kayıt / 11 id) → benzersiz kod `values.illustration`. - Parça filtresi: Volvo BOM'unun başlık satırı (id "null_null", link yok, unavailable) hayalet parça olarak geçiyordu → elendi. - Adet: qty (VAG/Subaru) · coef (PSA) · unit (Volvo). Uygulanabilirlik: modelDescription · restriction. AĞAÇ SINIFLANDIRMASI (yeni `pl24-tree.ts`, tek kaynak): Dört ayrı sezgisel vardı ve birbiriyle çelişiyordu: - `linkWid.includes("group")` → p5psa `illusTable`, p5volvo/p5subaru `illustrationsTable` yakalanmıyordu → o seviye yaprak sanılıp parça olarak çekiliyor, partno'suz kayıtlar 0 parçaya dönüşüyor, panel sessizce boş kalıyordu (2026-06 isPsaParent olayının aynısı). - case-sensitive `includes("/bomdetails")` → p5psa/p5volvo'nun camelCase `/details/vin/bomDetails` yaprakları grup sanılıyor, parçaları hiç prefetch edilmiyordu (bugün Mitsubishi %99,9 / Fiat %80 / Renault %70 bomDetails yaprağı 0 parça — aynı kök neden). Artık `isPl24LeafNode`/`isPl24GroupNode` tek kaynak; categories.service (2 yer), catalog.service (2 yer) ve prefetch-worker aynı fonksiyonu kullanıyor. Test: yeni `pl24-tree.spec.ts` (7 test, canlı VW/PSA/Volvo/Subaru wid+path çiftleriyle regresyon kilidi). Etkilenen paketler: 208 test geçti. tsc + biome temiz. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>perf(pl24): reaktif drill derinliğini sınırla, backfill'i jitter'lı aralıkla yavaşlatto feat(pl24): PSA+Volvo → P5, reaktif drill freni, 1 saatlik kesinti için Telegram uyarısı