Skip to content

feat(vehicle): Üretici Zekâ Motoru Temeli (PR-29)#29

Merged
selimmujdeci merged 3 commits into
mainfrom
feat/manufacturer-intelligence-engine
Jul 9, 2026
Merged

feat(vehicle): Üretici Zekâ Motoru Temeli (PR-29)#29
selimmujdeci merged 3 commits into
mainfrom
feat/manufacturer-intelligence-engine

Conversation

@selimmujdeci

Copy link
Copy Markdown
Owner

Amaç

VehicleKnowledgeBase (PR-28) üzerinde üretici/marka bazlı zekâ katmanı. Öğrenilen PID/DID verilerini marka ve profil bazında gruplayıp üretici profili adaylarına dönüştürür. Cloud/SQL/AI/gerçek katalog yazımı kapsamda değil.

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

Kapsam — ManufacturerIntelligenceEngine (salt-okunur türetme)

  • VehicleKnowledgeBase kayıtlarını okur (değiştirmez)
  • profileHint / VIN WMI / protocol üzerinden marka grubu oluşturur
  • PID/DID keşiflerini üretici bazında gruplar
  • Aynı PID/DID kaç araçta görüldü (vehicleCount) + hangi ECU'larda hesaplar
  • Deterministik confidence + profile candidate üretir

Modeller

ManufacturerKnowledge: manufacturer · profileHint · vehicleCount · ecuAddresses · observedPids · observedDids · firstSeen · lastSeen · confidence
CandidatePidDid: pidOrDid · discoverySource · mode · ecuAddresses · seenCount · vehicleCount · firstSeen · lastSeen · confidence · status: weak|candidate|strong

Confidence (deterministik, AI YOK)

  • 1 araç → düşük confidence (weak)
  • Aynı marka/profilde tekrar → confidence artar
  • ≥2 araç + ≥2 ECU (veya ≥3 araç) → strong
  • Bilinmeyen/çelişkili/bozuk veri → fail-soft

Yeni dosyalar

Dosya İçerik
src/platform/manufacturerIntelligenceEngine.ts resolveManufacturer / buildManufacturerIntelligence / candidateConfidence-Status + ManufacturerIntelligenceEngine (on-demand)
src/__tests__/manufacturerIntelligenceEngine.test.ts 12 unit test

Değişen dosyalar

Hiçbir mevcut dosya değişmedi — yalnız 2 yeni dosya. Tamamen additive, salt-okunur türetme. Kalıcı depo/boot wiring eklenmedi (on-demand hesap; gelecekteki UI/mantık çağırır).

Testler (12)

✓ Aynı marka için PID/DID gruplanıyor · ✓ Farklı markalar karışmıyor · ✓ vehicleCount doğru · ✓ seenCount doğru · ✓ ecuAddresses normalize · ✓ confidence artıyor · ✓ weak/candidate/strong status doğru · ✓ firstSeen korunuyor · ✓ lastSeen güncelleniyor · ✓ boş liste fail-soft · ✓ bozuk kayıt fail-soft · ✓ VehicleKnowledgeBase değişmiyor (salt-okunur) + engine/getManufacturerIntelligence.

Risk analizi

En düşük — sıfır mevcut-dosya değişikliği.

  • Fail-soft: motor çökse bile OBD/Discovery/Fingerprint/Auto Learning/VKB aynen sürer.
  • Salt-okunur: VKB kayıtlarını mutasyona uğratmaz (testle doğrulandı).
  • Yan etkisiz: kalıcı depo yok, boot loop yok, hot-path yok — tüketici çağırınca hesaplar.
  • Dokunulmadı: native OBD · poll · Discovery Pipeline/Queue · Auto Learning · Fingerprint algoritması · VehicleKnowledgeBase · 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
  • 2463 test yeşil (12 yeni dahil) — yalnız 23 bilinen env-gated hata (Supabase/OTA/keyBeam, ilgisiz)

Saha doğrulama

🔴 Cihazda doğrulanmadı — birden çok araç öğrenildikçe marka bazlı aday üretimi gözlemlenmeli.

Merge YAPILMADI.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Fauew13VP3vbfKqnocPdfX

VehicleKnowledgeBase (PR-28) kayıtlarını SALT-OKUNUR okuyup öğrenilen PID/DID
verilerini marka/profil bazında gruplar → üretici profili ADAYLARINA dönüştürür.
Yerel, deterministik marka-seviyesi çıkarımın çekirdeği (AI YOK).

- manufacturerIntelligenceEngine.ts (yeni, salt-okunur türetme katmanı):
  * resolveManufacturer: profileHint → VIN WMI → protocol fallback gruplama
  * buildManufacturerIntelligence: marka bazında agregasyon → ManufacturerKnowledge[]
    (vehicleCount, ecuAddresses, observedPids/Dids adayları, firstSeen/lastSeen, confidence)
  * CandidatePidDid: pidOrDid/source/mode/ecuAddresses/seenCount/vehicleCount/
    firstSeen/lastSeen/confidence/status (weak|candidate|strong)
  * candidateConfidence/candidateStatus: deterministik (1 araç=weak, çok araç/ECU=strong)
  * ManufacturerIntelligenceEngine: VKB'den on-demand hesap (kalıcı depo YOK), fail-soft

Hiçbir mevcut dosya değişmedi — tamamen additive, salt-okunur. Cloud/AI/SQL/gerçek
katalog yazımı YOK. Dokunulmadı: native OBD · poll · Discovery Pipeline/Queue · Auto
Learning · Fingerprint algoritması · VehicleKnowledgeBase · PID/DID Registry · SQL/Supabase.

12 yeni test. tsc temiz · eslint temiz · 2463 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:12pm
carospro Ready Ready Preview, Comment Jul 9, 2026 9:12pm

Selim and others added 2 commits July 9, 2026 23:59
… (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 pushed a commit that referenced this pull request Jul 9, 2026
… (PR-30)

ManufacturerProfileBuilder constructor'ı açık field+atama (erasableSyntaxOnly / tsc -b).
Davranış AYNI. (#29'a 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/vehicle-knowledge-base to main July 9, 2026 21:17
@selimmujdeci selimmujdeci reopened this Jul 9, 2026
@selimmujdeci selimmujdeci merged commit 1a5a53f 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