Skip to content

feat(platform-core): Capability → Event Bus bridge runtime wiring (W4)#75

Merged
selimmujdeci merged 1 commit into
mainfrom
feat/capability-event-bus-bridge-wiring
Jul 12, 2026
Merged

feat(platform-core): Capability → Event Bus bridge runtime wiring (W4)#75
selimmujdeci merged 1 commit into
mainfrom
feat/capability-event-bus-bridge-wiring

Conversation

@selimmujdeci

Copy link
Copy Markdown
Owner

Amaç (Roadmap FAZ 2 · W4 — Platform Event Bus Runtime Wiring)

Mevcut CapabilityEventBridge foundation'ını (PR #54) İLK kez gerçek capabilityRegistry
singleton'ına ve W3'ün TEK aktif appEventBus'ına bağlar. Bu, W4C'nin (Vehicle HAL → Bus
bridge) capability eşleniğidir
— birebir aynı desen.

Salt-okunur analiz (varsayım yok) — 10 soru

# Soru Cevap (kanıt)
1 Event Bus runtime wiring var mı? ✅ VAR — platformCoreEventBusWiring.ts (PR #66), tek appEventBus sahibi
2 Tek app-level bus? ✅ tek-instance guard + getAppEventBus() accessor
3 HAL bridge üretimde başlıyor mu? platformCoreVehicleHalBridgeWiring (W4C/#70), SystemBoot:548
4 Capability bridge üretimde başlıyor mu? HAYIR — bu PR'ın kapattığı boşluk
5 SystemBoot'ta kayıtlı mı? bus+HAL bridge ✅ · capability bridge ❌ (eklendi)
6 Duplicate bus/bridge riski? ❌ yok (her katmanda tek-instance guard)
7 Bridge event'leri HAL: vehicle.signal.changed(transient)+connection/ignition/identity.changed(retained) · Cap: capability.record.registered/changed/removed+capability.snapshot.changed(retained)
8 vehicle.signal.changed transient/history dışı? transient:true (vehicleHalEventBridge:186-195)
9 capability.snapshot.changed retained? retained:true (capabilityEventBridge:231-239)
10 Mali-400 riski? Düşük — capability değişimleri NADİR (boot tohumlama + seyrek); timer/polling YOK; O(1) dedup

Sonuç: appEventBus sahipliği + HAL bridge ZATEN vardı; yeniden yazılmadı. Tek boşluk = Capability→bus bridge.

Değişen dosyalar

Dosya Ne
platformCoreCapabilityBridgeWiring.ts yenicapabilityRegistry → CapabilityEventBridge → getAppEventBus()
SystemBoot.ts Wave 2, Capability Registry wiring'inden SONRA additive _reg
platformCoreCapabilityBridgeWiring.test.ts yeni — 36 test
DEVICE_VALIDATION_LEDGER.md #59 🔴

Sahiplik & sıra

İKİNCİ bus YARATILMAZ (getAppEventBus() tüketilir). Bridge Registry/Bus sahibi DEĞİL →
cleanup yalnız bridge'i dispose eder. SystemBoot LIFO: bridge önce dispose (registry/bus ayakta).

Event davranışı

capability.snapshot.changed retained, küçük payload (revision+sayımlar+bounded changedIds) —
full registry TAŞINMAZ. İmza-dedup → aynı record değişimi event üretmez. domain=capability,
source=capability_registry. HAL vehicle.signal.changed transient davranışı korunur (W4C).

Performans / Mali-400

timer/polling/throttle YOK · O(1) dedup · hot-path JSON.stringify/clone YOK · pasifken sıfır yük ·
capability değişimleri nadir → event CPU bütçesi ihmal edilebilir (HAL sinyal frekansından bağımsız).

Fail-soft / observability

Bus/Registry subscribe hatası boot'u çökertmez · publish hatası kaynağı etkilemez → droppedCount ·
public API throw etmez · cleanup idempotent · getCapabilityBridgeStatus() bounded (payload/telemetri yok).

Doğrulama

36 yeni test · tam suite 3639 yeşil (203 dosya) · tsc -b temiz · lint 0 error · build OK.
Ledger #59 🔴 — cihaz doğrulaması bekliyor (tek bus, tek başlatma, retained snapshot, Mali-400 <%2 CPU).

Not

Repoda MASTER_ROADMAP.md/PROJECT_STATUS.md yok (yalnız ROADMAP.md); atomikliği korumak için
bu PR'da roadmap dosyasına dokunulmadı.

🤖 Generated with Claude Code

Mevcut CapabilityEventBridge foundation'i (PR #54) ILK kez gercek capabilityRegistry
singleton'ina ve W3'un TEK aktif appEventBus'ina baglar (W4C'nin Vehicle HAL esleniği).
Zincir: capabilityRegistry → CapabilityEventBridge → getAppEventBus().

Salt-okunur analiz: appEventBus sahipligi (PR #66) ve HAL→bus bridge (W4C/#70) ZATEN
vardi; tek bosluk Capability→bus bridge idi (SystemBoot'ta capabilityEventBridge kaydi
yoktu). Bu PR yalniz o boslugu kapatir.

SystemBoot Wave 2'de Capability Registry wiring'inden SONRA additive _reg kaydi
(LIFO: bridge once, registry/bus sonra dispose; savunmaci try/catch fail-soft).

Event'ler: capability.record.registered/changed/removed + capability.snapshot.changed
(RETAINED, kucuk payload {revision,sayimlar,changedIds} — full registry TASINMAZ).
Imza-dedup; domain=capability, source=capability_registry. IKINCI bus YARATILMAZ
(getAppEventBus tuketilir). Deep Scan/Driver DNA/Prediction/Assistant Context/Kernel/
tuketici migrasyonu YOK; abone YOK; timer/polling/throttle YOK (capability degisimleri
NADIR → Mali-400 hot-path riski YOK); import yan etkisiz; tek-instance guard; Registry+Bus
PAYLASILAN → cleanup dispose ETMEZ.

Test: 36 yeni test (yasam dongusu/event akisi/dedup/duplicate/fail-soft/bounded status/
privacy/kapsam-siniri/SystemBoot sira kilidi). Tam suite 3639 yesil (203 dosya), tsc
temiz, lint 0 error, build OK.

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

vercel Bot commented Jul 12, 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 12, 2026 6:06pm
carospro Ready Ready Preview, Comment Jul 12, 2026 6:06pm

@selimmujdeci selimmujdeci merged commit 6959fc5 into main Jul 12, 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