Skip to content

feat(dtc): DTC veri kaynağı soyutlaması — büyümeye hazır iskele (PR-DTC-1)#17

Merged
selimmujdeci merged 1 commit into
mainfrom
feat/dtc-data-foundation
Jul 9, 2026
Merged

feat(dtc): DTC veri kaynağı soyutlaması — büyümeye hazır iskele (PR-DTC-1)#17
selimmujdeci merged 1 commit into
mainfrom
feat/dtc-data-foundation

Conversation

@selimmujdeci

Copy link
Copy Markdown
Owner

Özet

OBD genişletme planı PR-DTC-1 (Faz 2 temeli). DTC veri kaynağını büyümeye hazır hale getirir — büyük veri EKLEMEDEN, davranışı bozmadan, bundle şişirmeden.

Yeni Mimari

src/platform/obd/dtcDataSource.ts (yeni):

  • DTC tipleri (dtcService'ten taşındı, re-export ile geriye dönük uyumlu)
  • Veri-kaynağı registry: registerDtcCatalog / resolveDtcRecord (senkron, yalnız yüklü kaynaklar)
  • Lazy yükleme iskeleti: registerLazyDtcSource(loader) + ensureExtendedDtcLoaded() — geniş kataloglar (P0 kuyruk/P1/B/C/U) yalnız talep üzerine dinamik import; aksi halde bundle'a girmez (Mali-400 ilk-yükleme bütçesi).

DTCCode genişletildi (hepsi OPSİYONEL — AI teşhis Faz 4 için):
trDescription, driveSafe, estimatedCost, repairSuggestions, relatedPids.

dtcService.ts:

  • Tek çözümleme noktası resolveDtcRecord'a bağlandı; DTC_DB hot-core olarak kaydedildi.
  • _lookupCode → public lookupDtc (saf/senkron — sesli asistan & bakım beyni de tüketebilir).
  • preloadExtendedDtcCatalog export'u (UI tam kataloğu tetikler).

Testler (src/__tests__/dtcService.test.ts)

  1. Mevcut çekirdek kod bulunuyor (P0300) · 1b) ≥49 kayıt
  2. Kod normalize (küçük harf + boşluk)
  3. Bilinmeyen kod → prefix fallback (P9999 → Motor/Sürüş) · 3b) U → Ağ/İletişim
  4. Yeni AI alanları çekirdekte default undefined (davranış bozulmuyor)
  5. Ek katalog kaydı çekirdeği bozmadan yeni kod + AI alanları ekliyor
  6. Lazy iskelet: registerLazyDtcSource + ensureExtendedDtcLoaded merge ediyor

Risk

  • 🟢 Düşük: davranış-koruyan soyutlama; 49 kod aynen çözülür; hot-path/native/DB dokunulmadı.
  • Tip taşıması re-export ile geriye dönük uyumlu (import { DTCCode } from './dtcService' çalışmaya devam eder).

🤖 Generated with Claude Code

…TC-1)

Faz 2 temeli. Büyük veri EKLENMEDİ, davranış korundu.

- yeni src/platform/obd/dtcDataSource.ts: DTC tipleri + veri-kaynağı registry
  (registerDtcCatalog/resolveDtcRecord) + LAZY yükleme iskeleti
  (registerLazyDtcSource/ensureExtendedDtcLoaded — bundle-güvenli, talep üzerine).
- DTCCode tipi AI teşhis için genişletildi (hepsi OPSİYONEL): trDescription,
  driveSafe, estimatedCost, repairSuggestions, relatedPids.
- dtcService: tek çözümleme noktası resolveDtcRecord'a bağlandı; DTC_DB hot-core
  olarak kaydedildi; _lookupCode → public lookupDtc (saf/senkron). Tipler
  dtcDataSource'tan re-export (geriye dönük uyumlu).
- 49 çekirdek kodun davranışı BİREBİR korunur; lazy kaynak yok → bundle şişmez.
- test: çekirdek kod bulunuyor + normalize + bilinmeyen fallback + yeni alanlar
  default undefined + ek katalog genişleme + lazy iskelet merge.

Büyük DTC verisi/200+ kod/PID genişletme/Renault DID: KAPSAM DIŞI (sonraki PR'lar).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BGyEuFVP2aaEwC3JRdyUGe
@vercel

vercel Bot commented Jul 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
car-launcher-pro Ready Ready Preview, Comment Jul 9, 2026 12:52pm
carospro Ready Ready Preview, Comment Jul 9, 2026 12:52pm

@selimmujdeci selimmujdeci merged commit 8828158 into main Jul 9, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant