feat(kernel): Platform Kernel / Service Lifecycle Foundation#55
Merged
Conversation
Platform servislerinin yaşam döngüsünü, bağımlılıklarını, başlatma/durdurma sırasını, sağlık durumunu ve hata izolasyonunu yöneten merkezi çekirdek. Gerçek servisleri BAĞLAMAZ (yalnız DI ile yönetir); SystemBoot wiring/auto-start YOK (ayrı PR). Model: 11 state · 6 criticality · 6 startPolicy · 4 restartPolicy · 4 health. Descriptor + PlatformService contract (tüm method opsiyonel → eksik no-op). API: register/unregister/has/getServiceStatus/list/resolveStartOrder/initialize/start/ startAll/pause/resume/stop/stopAll/restart/markDegraded/runHealthCheck/getKernelSnapshot/ subscribe/reset/dispose. Dependency: directed-acyclic; cycle kayıt anında reddedilir; topolojik başlatma (tie-break id), ters topolojik durdurma; eksik required→başlamaz; eksik optional→degraded; dep failed→ dependent bloke. Gate (DI): Capability Registry doğrudan import edilmez; unknown/unavailable→ başlamaz; degraded→degraded; minimumDeviceTier sağlanmazsa başlamaz (Mali-400 optional gate). Timeout proje 5s konvansiyonundan (magic yok); timer yalnız aktif çağrı boyunca (settle'da temizlenir); steady-state timer/polling YOK. Restart: never/manual/on_failure/bounded_auto; bounded (safety=1/diğer=2); max aşımında circuit-open; retry timer döngüsü YOK (backoff saf fonksiyon). Health fail-soft, state mutate etmez. Event publisher DI opsiyonel (yoksa lifecycle sürer, publish hatası izole). Fail-soft (servis exception izole, unknown güvenli, dispose no-op, partial-start+stopAll); immutable snapshot/status; privacy (reason/error sanitize); global singleton yok; import yan etkisiz (yalnız DeviceTier TYPE); bounded (servis 128/listener 32). Kernel servis iş mantığını bilmez; HAL/Registry/Bus'ı kendisi yaratmaz (DI). Testler: platformKernel (53). Tam suite 3164 yeşil, tsc/eslint temiz, production build OK. Ledger #40 → 🔴. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QpXTwq5gqubmnaDWbra5MX
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| // Required capabilities (DI gate). | ||
| if (this._caps) { | ||
| for (const cap of (d.requiredCapabilities ?? [])) { | ||
| let st = 'unknown'; |
This was referenced Jul 11, 2026
…lifecycle-foundation # Conflicts: # docs/DEVICE_VALIDATION_LEDGER.md
selimmujdeci
pushed a commit
that referenced
this pull request
Jul 12, 2026
Sahte disconnect yok: ingestedSignalCount=3 (değişmedi), tek abonelik, bridge dropped=0 → bilgi taşıması HAL/bridge davranışını değiştirmedi. Boot/CPU/RAM regresyonu yok. Satır 🔴 KALIYOR: canAlive=false/reconnect gerçek araç gerektiriyor; low-tier yok; sourceHealth henüz teşhis raporunda değil (ADB'siz okunamıyor) → PR-2'de eklenmeli. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012M8LbxyAqd22EU1rqtTjft
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ç
Platform servislerinin (Vehicle HAL · Capability Registry · Event Bus · Deep Scan · Navigation · AI · Fleet · Remote · Health · Vision) yaşam döngüsünü, bağımlılıklarını, başlatma/durdurma sırasını, sağlık durumunu ve hata izolasyonunu yöneten merkezi çekirdek. Foundation — gerçek servisleri BAĞLAMAZ (yalnız DI); SystemBoot wiring / auto-start YOK (ayrı PR).
Model
PlatformServiceDescriptor+PlatformServicecontract — tüm method opsiyonel (eksik → no-op).Dependency
Directed-acyclic. Cycle kayıt anında reddedilir. Topolojik başlatma (tie-break = id), ters topolojik durdurma. Eksik required → başlamaz · eksik optional → degraded başlar · dependency failed → dependent bloke · bağımsız servis çökmeden devam eder.
Gate (DI)
Capability Registry doğrudan import edilmez (
isAvailable/getStatus/subscribecontract). Required capability unknown/unavailable/unsupported → başlamaz · degraded → degraded başlar.minimumDeviceTiersağlanmazsa başlamaz → Mali-400/low'da optional ağır servis gate edilir.Timeout / Restart / Health
computeKernelBackoffMs).service.health()varsa fail-soft çağrılır, yoksa state'ten türetilir; result state'i mutate etmez.Event (DI opsiyonel)
publishNameileplatform.runtime.started/stopped/degraded·platform.service.started/stopped/failed. Event Bus yoksa lifecycle sürer, publish hatası izole.İnvaryantlar
DeviceTierTYPE). Bounded (servis 128 · listener 32). Kernel servis iş mantığını bilmez.Doğrulama
tsc -b --noEmit✅ · ESLint ✅Saha doğrulama
docs/DEVICE_VALIDATION_LEDGER.md#40 → 🔴 cihazda test edilmedi. Gerçek servis + SystemBoot wiring ayrı PR olduğu açıkça belirtildi.🤖 Generated with Claude Code
https://claude.ai/code/session_01QpXTwq5gqubmnaDWbra5MX