fix(vin): Q5 WMI brand map + Q6 PL24 nissan/van routing (RCA, verified) #95

Merged
root merged 1 commits from fix/vin-wmi-routing into main 2026-06-04 00:10:00 +03:00
Owner

VIN WMI brand-map + PL24 routing (RCA 2. batch — hepsi doğrulandı)

undecoded-vin-rca.md'den Q5+Q6. Her giriş eklenmeden önce doğrulandı (authoritative WMI registry + prod sibling + VDS parmak izi + canlı PL24 probe) — yanlış brand etiketi ya da ölü PL24 route'unun ikisi de gerçek zarar verir. Doğrulama 3-ajanlı workflow ile yapıldı.

Q5 — WMI_BRAND_MAP (packages/shared, sadece UX/telemetri; decode routing'i DEĞİŞTİRMEZ)

9 ekleme: W1V=Mercedes-Benz, VXF=Fiat, YAR=Toyota, NL1=Hyundai, KPA=SsangYong, PL1=Proton, LSV=Volkswagen, LVV=Chery, ZCF=Iveco.

  • Çatışmalar çözüldü: VXF=Fiat (Opel değil), YAR=Toyota ProAce (Opel değil), NL1=Hyundai (TOGG değil — MY karakteri TOGG'dan önce).
  • Bilerek eklenmedi (1-karakter bozulmalar): WF1→WF0(Ford), WAA→WAU(Audi), W0W→WVW(VW) — typo sınıfını etiketlememek için. VE1 → çözülemedi, defer.

Q6 — PL24_WMI_SERVICE_MAP (gerçek decode routing)

Her iki hedef servis de canlı kanıtlı, yani sadece çalışan route'lara WMI ekliyor (ölü-route → isDecodeable()=true → 25s budget / breaker tehlikesi YOK):

  • SJN/VSK/MNT → nissan_parts (Sunderland/İspanya/Tayland) — regression restorasyonu (757905f refactor'ünde düşmüş); nissan_parts kanıtlı (JN1 prod'da decode oluyor).
  • W1V → mercedesvans_parts (Sprinter/Vito) — RCA "hiç denenmedi" flag'i kalktı: mercedesvans_parts bugün WDF44770513186937'yi aynı P5 path'le canlı decode ediyor.

Test

Shared getBrandFromWmi (eklemeler + corruption-skip'ler null döner) + pl24 route map. Tam api suite yeşil (187 passed).

Not

Düşük riskli (Q5 UX-only + Q6 kanıtlı servislere routing). Deploy disiplini: istersen önce dev'e merge edip dev.sase.tr'de doğrulayalım, sonra main.

🤖 Generated with Claude Code

## VIN WMI brand-map + PL24 routing (RCA 2. batch — hepsi doğrulandı) `undecoded-vin-rca.md`'den Q5+Q6. **Her giriş eklenmeden önce doğrulandı** (authoritative WMI registry + prod sibling + VDS parmak izi + canlı PL24 probe) — yanlış brand etiketi ya da ölü PL24 route'unun ikisi de gerçek zarar verir. Doğrulama 3-ajanlı workflow ile yapıldı. ### Q5 — WMI_BRAND_MAP (packages/shared, sadece UX/telemetri; decode routing'i DEĞİŞTİRMEZ) 9 ekleme: **W1V**=Mercedes-Benz, **VXF**=Fiat, **YAR**=Toyota, **NL1**=Hyundai, **KPA**=SsangYong, **PL1**=Proton, **LSV**=Volkswagen, **LVV**=Chery, **ZCF**=Iveco. - Çatışmalar çözüldü: **VXF=Fiat** (Opel değil), **YAR=Toyota ProAce** (Opel değil), **NL1=Hyundai** (TOGG değil — MY karakteri TOGG'dan önce). - **Bilerek eklenmedi** (1-karakter bozulmalar): WF1→WF0(Ford), WAA→WAU(Audi), W0W→WVW(VW) — typo sınıfını etiketlememek için. VE1 → çözülemedi, defer. ### Q6 — PL24_WMI_SERVICE_MAP (gerçek decode routing) Her iki hedef servis de canlı kanıtlı, yani sadece çalışan route'lara WMI ekliyor (ölü-route → isDecodeable()=true → 25s budget / breaker tehlikesi YOK): - **SJN/VSK/MNT → nissan_parts** (Sunderland/İspanya/Tayland) — regression restorasyonu (757905f refactor'ünde düşmüş); nissan_parts kanıtlı (JN1 prod'da decode oluyor). - **W1V → mercedesvans_parts** (Sprinter/Vito) — RCA "hiç denenmedi" flag'i kalktı: mercedesvans_parts bugün `WDF44770513186937`'yi aynı P5 path'le canlı decode ediyor. ### Test Shared `getBrandFromWmi` (eklemeler + corruption-skip'ler null döner) + pl24 route map. Tam api suite yeşil (187 passed). ### Not Düşük riskli (Q5 UX-only + Q6 kanıtlı servislere routing). Deploy disiplini: istersen önce dev'e merge edip dev.sase.tr'de doğrulayalım, sonra main. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
root added 1 commit 2026-06-03 23:56:36 +03:00
fix(vin): Q5 WMI brand map + Q6 PL24 nissan/van routing (RCA, verified)
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
83b2693af2
Second batch from undecoded-vin-rca.md. Every entry verified (authoritative
WMI registry + prod sibling + VDS fingerprint + live PL24 probe) before adding
— a wrong brand label or a dead PL24 route both have real downside.

Q5 — WMI_BRAND_MAP (packages/shared, UX/telemetry only; does NOT change which
catalog decodes). Adds 9: W1V=Mercedes-Benz, VXF=Fiat, YAR=Toyota, NL1=Hyundai,
KPA=SsangYong, PL1=Proton, LSV=Volkswagen, LVV=Chery, ZCF=Iveco. Resolves the
RCA conflicts: VXF=Fiat (not Opel), YAR=Toyota ProAce (not Opel); NL1=Hyundai
(not TOGG — MY char predates TOGG). Deliberately NOT added: WF1/WAA/W0W (1-char
corruptions of WF0/WAU/WVW — mapping them would mislabel typo classes), VE1
(unresolved, deferred).

Q6 — PL24_WMI_SERVICE_MAP (real decode routing). Both target services are
proven live, so these only append WMIs to working routes (no dead-route →
isDecodeable()=true → 25s-budget/circuit-breaker hazard):
- SJN/VSK/MNT → nissan_parts (Sunderland/Spain/Thailand) — regression restore,
  dropped in the 757905f refactor; nissan_parts proven (JN1 decodes in prod).
- W1V → mercedesvans_parts (Sprinter/Vito) — retires the RCA "never tried" flag:
  mercedesvans_parts decodes WDF44770513186937 live today via the same P5 path.

Tests: shared getBrandFromWmi (adds + corruption-skips return null), pl24 route
map. Full api suite green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
root merged commit 306e8eb691 into main 2026-06-04 00:10:00 +03:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: root/sase.tr#95