Skip to content

feat(vehicle): Learning Integration Layer (P2-5)#39

Merged
selimmujdeci merged 1 commit into
mainfrom
feat/vehicle-learning-integration
Jul 10, 2026
Merged

feat(vehicle): Learning Integration Layer (P2-5)#39
selimmujdeci merged 1 commit into
mainfrom
feat/vehicle-learning-integration

Conversation

@selimmujdeci

Copy link
Copy Markdown
Owner

Amaç

P2-1→P2-4 arasında oluşturulan öğrenme katmanlarını (Evidence Store · Confidence Decay · Pattern Engine) uygulamanın kullanıcıya değer üreten mevcut ekran/tanı akışlarına SALT-OKUNUR bağlar. Öğrenilmiş evidence/pattern verileri artık Diagnostic Knowledge, Discovery Dashboard ve Expert Mode'da görünür/kullanılabilir.

Hiçbir registry/profile/store'a otomatik yazmaz; hiçbir güvenlik-kritik kararı tek başına değiştirmez.

Yeni dosyalar

  • src/platform/vehicleLearningIntegrationService.ts
  • src/components/settings/expert/VehicleLearningInspector.tsx
  • src/__tests__/vehicleLearningIntegrationService.test.ts (16 test)

Değişen dosyalar

  • src/components/discovery/discoveryDashboardModel.ts — öğrenme filtreleri + AnnotationResolver (opsiyonel param → mevcut davranış korunur)
  • src/components/discovery/DiscoveryDashboard.tsx — öğrenme rozetleri/alanları/filtreleri
  • src/components/settings/ExpertModePanel.tsx — "Araç Öğrenme" bölümü wiring
  • docs/DEVICE_VALIDATION_LEDGER.md — kayıt feat(vehicle): Araç Parmak İzi Temel Katmanı (PR-25, foundation-only) #25 🔴

1. Diagnostic entegrasyonu

enrichInsight(insight) → insight'a opsiyonel learning bağlamı ekler: learnedEvidenceCount, learnedPatternCount, strongestCandidateConfidence, learnedOnThisVehicle, learnedOnManufacturer, relatedStrongPids, relatedStrongDids, learningWarnings, requiresManualReview.

  • Öğrenme verisi yoksa insight aynen korunur (aynı referans).
  • safety/severity/driveSafe/confidence DEĞİŞMEZ — yalnız ek bağlam.

2. Discovery Dashboard entegrasyonu

Her keşif kaydına salt-okunur öğrenme rozetleri: WEAK · CANDIDATE · STRONG · MANUAL_REVIEW · STALE · CONFLICT. Alanlar: confidence · decayed confidence · distinct vehicle count · observation count · ECU count · pattern status · conflict reason. Yeni filtreler: Strong · Candidate · Manuel İnceleme · Conflict. Mevcut filtre/arama/export bozulmadı (resolver opsiyonel).

3. Expert Mode entegrasyonu

Yeni salt-okunur "Araç Öğrenme" bölümü: toplam evidence · weak/candidate/strong · manual-review · stale/prune · en güçlü PID/DID adayları · marka cluster özeti · son öğrenme zamanı. Onayla / registry'ye yaz / otomatik promote butonu YOK.

4. Learning Integration Service

Evidence Store'dan okur → decay uygular (P2-3) → pattern üretir (P2-4) → Diagnostic context + Dashboard/Expert view-model. Fail-soft · girdiyi mutate etmez.

DeviceTier davranışı

  • BASIC_JS (low): yalnız özet istatistik; ağır pattern/conflict detayı kapalı (patternDetailEnabled=false, manual/conflict=0, annotation'da conflict yok).
  • BALANCED/HIGH (mid/high): tam pattern + conflict görünümü.

Performans / sınırlar

Hot-path'e girmez · OBD 3Hz poll akışına dokunmaz · on-demand/idle · memoized (aynı veri → buildPatterns tek hesap; saat-kovası granülaritesi) · bounded ≤512 · zero-leak dispose · yeni bağımlılık yok · ağ yok. Cloud/SQL/LLM/Native YOK.

Dokunulmayan: OBD poll/frekans · Discovery capture/queue · Fingerprint · Auto Learning · VKB · Manufacturer Intelligence · Profile Builder · Evidence Store merge · decay formülü · pattern promotion kuralları · PID/DID registry.

Test / CI

16 yeni test · tüm suite 2603 test yeşil · tsc -b temiz · prod build OK · ESLint temiz.

Ledger

docs/DEVICE_VALIDATION_LEDGER.md #25 🔴 — kabul ölçütleri: gerçek araçta discovery→evidence→doğru rozet, duplicate vehicleCount şişirmez, Expert özeti doğru, Diagnostic insight öğrenme bağlamı gösterir, düşük tier'da FPS/CPU regresyonu yok.

Risk

Düşük–Orta. Yalnız mevcut öğrenme verisini görünür/kullanılabilir yapar; yanlış learning güvenlik kararını değiştirmez, registry/profile yazmaz — yalnız bilgi/aday/manual-review olarak görünür.

🔴 Saha doğrulama

Cihazda henüz test edilmedi (Ledger #25).

🤖 Generated with Claude Code

P2-1→P2-4 öğrenme katmanlarını (Evidence Store · Decay · Pattern Engine)
uygulamanın mevcut ekran/tanı akışlarına SALT-OKUNUR bağlar. Hiçbir
registry/profile/store'a otomatik yazmaz; güvenlik-kritik kararı değiştirmez.

- vehicleLearningIntegrationService (yeni): Evidence Store'dan okur → decay
  uygular → pattern üretir → Diagnostic context + Dashboard/Expert view-model.
  Memoized (buildPatterns tek hesap) · bounded ≤512 · fail-soft · zero-leak.
- Diagnostic: enrichInsight() öğrenme bağlamı ekler (learnedEvidenceCount,
  strongestCandidateConfidence, relatedStrongPids/Dids, requiresManualReview…).
  Veri yoksa insight AYNEN korunur; safety/severity/driveSafe DEĞİŞMEZ.
- Discovery Dashboard: WEAK/CANDIDATE/STRONG/MANUAL_REVIEW/STALE/CONFLICT
  rozetleri + confidence/decay/araç/gözlem/ECU alanları + Strong/Candidate/
  Manual/Conflict filtreleri (opsiyonel AnnotationResolver → mevcut davranış korunur).
- Expert Mode: "Araç Öğrenme" salt-okunur özet bölümü (sayımlar + güçlü PID/DID
  adayları + marka cluster + son öğrenme). Onayla/yaz/promote butonu YOK.
- DeviceTier: BASIC_JS(low) yalnız özet istatistik (ağır pattern/conflict detayı
  kapalı); BALANCED/HIGH tam pattern + conflict görünümü.
- DEVICE_VALIDATION_LEDGER #25 🔴 (cihazda test bekliyor).

Cloud/SQL/LLM/Native/hot-path YOK. OBD poll/Discovery capture/Fingerprint/VKB/
Manufacturer Intelligence/Profile Builder/Evidence Store merge/decay formülü/
pattern promotion kuralları/PID-DID registry DEĞİŞMEZ.

16 yeni test. Tüm suite yeşil (2603 test), tsc -b temiz, prod build OK, ESLint temiz.

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

vercel Bot commented Jul 10, 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 10, 2026 7:07am
carospro Ready Ready Preview, Comment Jul 10, 2026 7:07am


private _compute(): _Computed {
const now = this._now();
let tier: DeviceTier = 'high';
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.

2 participants