Skip to content

feat(vehicle): Araç Bilgi Tabanı Temeli (PR-28)#28

Merged
selimmujdeci merged 3 commits into
mainfrom
feat/vehicle-knowledge-base
Jul 9, 2026
Merged

feat(vehicle): Araç Bilgi Tabanı Temeli (PR-28)#28
selimmujdeci merged 3 commits into
mainfrom
feat/vehicle-knowledge-base

Conversation

@selimmujdeci

Copy link
Copy Markdown
Owner

Amaç

PR-25/26/27 ile öğrenilen bilgileri araç bazlı, organize, istatistikli bir yerel bilgi tabanına dönüştürür. Her fingerprint için tek zengin kayıt; aynı bilgiyi tekrar yazmaz; yerel istatistik üretir; offline-first. Cloud/AI/SQL bu PR'ın kapsamı değil.

⚠️ STACKED PR: Zincir #25#26#27#28. Base bilerek feat/auto-learning-engine (PR #27) → temiz incremental diff. Merge sırası: #25#26#27#28. #27 main'e merge olunca bu PR otomatik main'e retarget olur.

Kapsam — VehicleKnowledgeBase

  • Her fingerprint için bilgi tabanı kaydı tutar
  • Discovery öğrenmelerini (Auto Learning'in ürettiği VehicleKnowledge) SALT-OKUNUR okuyup organize eder
  • Aynı bilgiyi tekrar yazmaz (idempotent upsert)
  • Yerel istatistik üretir (toplam PID/DID/ECU/Discovery)
  • Offline-first (safeStorage, ağ yok)

Knowledge Record (şema)

fingerprintHash · vehicleSignature · vin · profileHint · protocol · discoveredPids · discoveredDids · discoveredEcus · firstSeen · lastSeen · totalConnections · totalDiscoveries · confidence · firmwareVersions · supportedModes
Her PID/DID için: firstSeen · lastSeen · seenCount · confidence

Yeni dosyalar

Dosya İçerik
src/platform/vehicleKnowledgeBase.ts buildKnowledgeRecord/vehicleStats/upsertKnowledge (saf) + VehicleKnowledgeBaseStore (bounded LRU) + VehicleKnowledgeBase (abonelik)
src/__tests__/vehicleKnowledgeBase.test.ts 14 unit test

Değişen dosyalar (additive)

Dosya Değişiklik
src/utils/safeStorage.ts car-vehicle-knowledge-baseLRU_PROTECTED (yeni storage anahtarı)
src/platform/system/SystemBoot.ts Wave-3'e startVehicleKnowledgeBase() + _reg cleanup (tek satır)

Foundation/builder/Auto Learning dosyaları değişmedi — KB salt-okunur projeksiyon (Clean Arch).

Testler (14)

✓ Yeni araç knowledge oluşturuyor · ✓ Aynı araç duplicate oluşturmuyor · ✓ PID istatistikleri doğru · ✓ DID istatistikleri doğru · ✓ firstSeen korunuyor · ✓ lastSeen güncelleniyor · ✓ confidence artıyor · ✓ toplam Discovery doğru · ✓ toplam PID doğru · ✓ toplam DID doğru · ✓ fail-soft · ✓ bounded(8) cache · ✓ safeStorage kalıcılığı + canlı projeksiyon + zero-leak stop.

Risk analizi

Düşük — tamamen additive.

  • Fail-soft: KB çökse bile OBD / Discovery / Fingerprint / Auto Learning aynen sürer (testle kilitli).
  • Salt-okunur: öğrenme/fingerprint/discovery davranışı değişmez.
  • Bounded(8) LRU + zero-leak: disk sınırı + boot _reg cleanup.
  • Offline-first: ağ yok, safeStorage.
  • Dokunulmadı: native OBD · poll · Discovery Pipeline/Queue · Auto Learning · Fingerprint algoritması · PID/DID Registry · SQL/Supabase · cloud sync · AI · PR feat(diag): support snapshot — remote logs, OBD lifecycle, thermal/connectivity diagnostics #11.

Doğrulama

  • tsc --noEmit temiz · eslint temiz
  • 2451 test yeşil (14 yeni dahil) — yalnız 23 bilinen env-gated hata (Supabase/OTA/keyBeam, ilgisiz)

Saha doğrulama

🔴 Cihazda doğrulanmadı — gerçek araçta bilgi tabanı kaydı + istatistik birikimi gözlemlenmeli.

Merge YAPILMADI.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Fauew13VP3vbfKqnocPdfX

PR-25/26/27 ile öğrenilen bilgileri araç bazlı, organize, istatistikli bir YEREL
bilgi tabanına dönüştürür. Her fingerprint için tek zengin kayıt; aynı bilgiyi tekrar
yazmaz; yerel istatistik üretir; offline-first.

- vehicleKnowledgeBase.ts (yeni, projeksiyon katmanı):
  * VehicleKnowledgeRecord: fingerprintHash/vehicleSignature/vin/profileHint/protocol +
    discoveredPids/discoveredDids/discoveredEcus + firstSeen/lastSeen +
    totalConnections/totalDiscoveries + confidence + firmwareVersions/supportedModes
  * buildKnowledgeRecord: idempotent birleştirme (firstSeen korunur, lastSeen/seenCount/
    confidence güncellenir, duplicate yok)
  * vehicleStats: toplam PID/DID/ECU/Discovery
  * VehicleKnowledgeBaseStore: bounded(8) LRU + safeStorage (offline-first, fail-soft)
  * VehicleKnowledgeBase: discovery+VID aboneliği, fingerprint deposundan SALT-OKUNUR
    okuyup KB'ye upsert; fail-soft
- safeStorage: car-vehicle-knowledge-base → LRU_PROTECTED (yeni anahtar)
- SystemBoot Wave-3: startVehicleKnowledgeBase() additive wiring + _reg cleanup

Cloud/AI/SQL YOK. Dokunulmadı: native OBD · poll · Discovery Pipeline/Queue · Auto
Learning · Fingerprint algoritması · PID/DID Registry · SQL/Supabase · cloud sync.
Foundation/builder/engine DEĞİŞMEDİ (KB salt-okunur projeksiyon).

14 yeni test. tsc temiz · eslint temiz · 2451 test yeşil (yalnız 23 bilinen env-gated, ilgisiz)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fauew13VP3vbfKqnocPdfX
@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 9:09pm
carospro Ready Ready Preview, Comment Jul 9, 2026 9:09pm

Selim and others added 2 commits July 9, 2026 23:58
… (PR-28)

VehicleKnowledgeBase constructor'ı açık field+atama (erasableSyntaxOnly / tsc -b).
Davranış AYNI. (#27'ye kadar olan fix'ler merge-forward ile devralındı.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fauew13VP3vbfKqnocPdfX
selimmujdeci pushed a commit that referenced this pull request Jul 9, 2026
… (PR-29)

ManufacturerIntelligenceEngine constructor'ı açık field+atama (erasableSyntaxOnly /
tsc -b). Davranış AYNI. (#28'e kadar olan fix'ler merge-forward ile devralındı.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fauew13VP3vbfKqnocPdfX
@selimmujdeci selimmujdeci changed the base branch from feat/auto-learning-engine to main July 9, 2026 21:11
@selimmujdeci selimmujdeci reopened this Jul 9, 2026
@selimmujdeci selimmujdeci merged commit 9298304 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