feat(platform-core): Vehicle HAL runtime wiring (store→provider→adapter→HAL)#65
Merged
Merged
Conversation
…er→HAL) UnifiedVehicleStore veri akışı, hazır salt-okunur provider + adapter foundation üzerinden gerçek vehicleHal singleton'ına ayna modunda bağlanır. Yalnız HAL veri girişi aktive edilir: Event Bus / Capability Registry / Platform Kernel servis kaydı / Deep Scan wiring ve tüketici migrasyonu KAPSAM DIŞI. - platformCoreVehicleHalWiring: tek-instance guard (duplicate start ikinci subscription açmaz), idempotent cleanup, bounded status, fail-soft init. - SystemBoot Wave 2: VehicleDataLayer'dan SONRA, SystemOrchestrator'dan ÖNCE _reg ile kaydedilir (LIFO shutdown'da store ayaktayken dispose olur). - Sahiplik: provider+adapter wiring'in; paylaşılan vehicleHal DISPOSE EDİLMEZ. - ignition kaynağı yok → ingest yok (supported=false); TPMS yalnız gerçek veri. - Yeni timer/polling yok; O(1) dedupe; hot-path'te stringify/clone yok. - Ledger #49 🔴 (cihazda doğrulanmadı). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012M8LbxyAqd22EU1rqtTjft
…ime-wiring # Conflicts: # docs/DEVICE_VALIDATION_LEDGER.md
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…aç/OBD yok) Boot crash/ANR yok, cold start delta ~+24ms (<50ms hedefi), idle CPU regresyonu gözlenmedi. Satır 🔴 KALIYOR: HAL sinyal akışı + ignition/TPMS fail-closed + reconnect/stale gerçek araç/OBD gerektirir. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012M8LbxyAqd22EU1rqtTjft
This was referenced Jul 12, 2026
selimmujdeci
pushed a commit
that referenced
this pull request
Jul 13, 2026
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RhFEghmLgYKdggregKbRmb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Amaç
useUnifiedVehicleStore(fused worker/CAN/OBD/GPS) veri akışını, daha önce merge edilmiş salt-okunur provider + adapter foundation üzerinden gerçekvehicleHalsingleton'ına ayna modunda bağlar. Bu PR yalnız Vehicle HAL veri girişini aktive eder.Kapsam DIŞI (bilinçli — ayrı PR'lar)
Event Bus wiring · Capability Registry wiring · Platform Kernel servis kaydı · Deep Scan bağlama · tüketicilerin HAL'e taşınması · UI · native/OBD/CAN · poll frekansı.
SystemBoot entegrasyonu (additive, 13 satır)
Wave 2'de VehicleDataLayer'dan SONRA, SystemOrchestrator'dan ÖNCE
_regile kaydedilir → LIFO shutdown'da store hâlâ ayaktayken adapter/provider dispose olur. Wave sırası (1→2→3→4) değişmez; legacy servisler Kernel'e taşınmaz.Instance / sahiplik
startikinci provider/adapter/subscription açmaz (no-op cleanup döner). HMR/restart bayat kaydı otomatik serbest bırakılır; cleanup yalnız kendi kaydını siler → boot→shutdown→boot güvenli.vehicleHalpaylaşılan singleton → cleanup HAL'i dispose etmez (çift-dispose yok).Sinyaller
Akan (store'da gerçekten var):
speed·rpm·fuel_level·odometer·reverse·coolant_temp·oil_temp·throttle·battery_voltage·gear·ambient_temp·door_state·parking_brake.TPMS yalnız gerçek 4-tuple veri varsa.
ignitionkaynağı YOK → ingest edilmez (supported=false, fail-closed). Metadata uydurulmaz; provider/adapter eşlemesi değiştirilmedi.Performans
Yeni timer/polling yok (mevcut store subscribe akışı). Aynı değer → duplicate ingest yok (adapter O(1) son-değer dedupe). Hot-path'te JSON stringify / deep clone yok; tam snapshot klonlanmaz. Low-tier'da subscription sayısı 1.
Fail-soft
Store yoksa/bozuksa boot çökmez (tek
logError+ no-op cleanup, wiring kilitlenmez). Provider / adapter start / HAL-ingest hatası izole (tek sinyal bozuksa diğerleri sürer). Cleanup hatası shutdown'ı engellemez. Public API throw etmez. Hata hâlinde legacy store tüketicileri aynen çalışır.Gözlemlenebilirlik
Bounded
getVehicleHalWiringStatus()→started/lastRefreshAt/ingestedSignalCount/refreshCount/activeSubscriptionCount/lastErrorCode(sabit kod). Ham telemetri veya prod log spam yok.Doğrulama
npx tsc -b --noEmittemizplatformCoreVehicleHalWiring.test.ts)cleanup.services+cleanup.remoteyeşilLedger
docs/DEVICE_VALIDATION_LEDGER.md#49 — 🔴 cihazda doğrulanmadı. Kabul ölçütleri: tek instance/subscription, hız-RPM-soğutma-voltaj HAL'e doğru akışı, duplicate ingest yok, reconnect/restart'ta subscription çoğalmaz, ignition supported=false kalır, boot regresyonu <50 ms, Xiaomi idle CPU regresyonu yok, Mali-400/K24 ayrıca ölçülür.🤖 Generated with Claude Code
https://claude.ai/code/session_012M8LbxyAqd22EU1rqtTjft