feat(deep-scan): W5-3b — Offline Pass Trigger + Runtime Wiring + Minimal Diagnostics#85
Merged
Merged
Conversation
…mal Diagnostics W5-3a'daki runOfflinePass() İLK kez üretim wiring'ine bağlandı. Tek deterministik giriş noktası triggerDeepScanOfflinePass() (hash/dedup guard + single-flight) + cancelDeepScanOfflinePass() + bounded getDeepScanOfflinePassStatus() eklendi; SystemBoot Wave 3'te (Wave 2 ownership KURULDUKTAN SONRA) fire-and-forget çağrılır. Davranış DEĞİŞMEZ (yalnız çağrılabilir altyapı): - Handler GEÇİLMEZ → tüm offline fazlar skipped → GERÇEK İŞ YAPILMAZ. - change detection / knowledge / fingerprint / evidence / report ÇALIŞMAZ. - Aktif ECU/PID/DID/Firmware sorgusu YOK (aktif-kayıt API'leri hiç çağrılmaz — gerçek zincir testiyle kanıtlı). runtime idle → running → idle (pass sonunda reset). Guard: aynı guard anahtarı (varsayılan deepscan.offline.boot) EN FAZLA bir kez pass başlatır (duplicate yok); yürüyen pass varken ikinci tetik reddedilir (single-flight); restart'ta guard doğal sıfırlanır (durum wiring örneğine bağlı). Ownership korunur: OwnedOrchestrator offline runOfflinePass/cancelOfflinePass'i gösterir ama AKTİF tarama API'lerini (start/run/runNextPhase) ASLA göstermez (compile-time). W5-3a'nın 2 kapsam kilidi bu yeni davranışa GÜNCELLENDİ (kaldırılmadı). Diagnostics (bounded + immutable): present/started/running/active/cancelled/ triggerCount/lastRun/lastDuration/lastResult/lastReason/lastError/phaseCount/ summaryAvailable — hepsi primitive/enum; VIN/GPS/secret/ham CAN-OBD/guard-anahtarı YOK. DEĞİŞMEDİ: Event Bus / Capability Registry / HAL / Assistant / Driver DNA / Prediction / SQL / Supabase / Native / CAN / OBD (wiring bunları import etmez). Doğrulama: yeni trigger-wiring testleri (25+ senaryo); tam suite 3820 yeşil (210 dosya); tsc -b --noEmit temiz; lint 0 error; production build OK. Ledger: W5-3b 🔴 (gerçek handler yok · gerçek discovery yok · W5-3c değer üreten PR · aktif ECU sorgusu yok · Mali-400 doğrulaması bekliyor). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014VRXRfa6ZD3qJ74ozfzugm
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| st.cancelled = summary.cancelled; | ||
| st.lastSummaryAvailable = true; | ||
| st.lastError = null; | ||
| let doneAt = startedAt; |
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.
W5-3b — Deep Scan Offline Pass Trigger + Runtime Wiring + Minimal Diagnostics
W5-3a'daki
runOfflinePass()İLK kez üretim wiring'ine bağlanır. Bu PR yalnız çağrılabilir altyapıyı kurar — gerçek offline analiz / aktif discovery / handler hâlâ ÇALIŞMAZ.Ne eklendi
triggerDeepScanOfflinePass()— tek deterministik giriş noktası (hash/dedup guard + single-flight).cancelDeepScanOfflinePass()— yürüyen pass'i iptal (fail-soft).getDeepScanOfflinePassStatus()— bounded + immutable teşhis.void … .catch→ boot bloklanmaz).Guard (deterministik, tek çalışma)
deepscan.offline.boot) EN FAZLA bir kez pass başlatır → duplicate YOK.Üretim davranışı DEĞİŞMEZ
skipped→ gerçek iş yapılmaz.idle → running → idle(pass sonundaruntime.reset()W5-3a garantisi).Ownership korunur
OwnedOrchestratorofflinerunOfflinePass/cancelOfflinePass'i gösterir ama AKTİF tarama API'lerini (start/run/runNextPhase) ASLA göstermez (compile-time garanti). W5-3a'nın 2 kapsam kilidi bu yeni davranışa GÜNCELLENDİ (kaldırılmadı — regresyon kasası kuralı).Diagnostics modeli (bounded + immutable)
present · started · running · active · cancelled · triggerCount · lastRun · lastDuration · lastResult · lastReason · lastError · phaseCount · summaryAvailable— hepsi primitive/enum/sayı; VIN/GPS/secret/ham CAN-OBD/guard-anahtarı TAŞIMAZ.Bu PR'da DEĞİŞMEDİ (import bile edilmez)
Event Bus · Capability Registry · HAL · Assistant Context · Driver DNA · Prediction · SQL · Supabase · Native · CAN · OBD.
Doğrulama
tsc -b --noEmittemiz · ESLint 0 errorDeğişen dosyalar
src/platform/system/platformCoreDeepScanWiring.ts(OwnedOrchestrator offline yüzey + trigger/cancel/status + bounded state)src/platform/system/SystemBoot.ts(Wave 3 trigger, fire-and-forget)src/__tests__/deepScanOfflineTriggerWiring.test.ts(yeni, 25+ senaryo)src/__tests__/platformCoreDeepScanWiring.test.ts(fake offline yüzey)src/__tests__/deepScanOfflinePass.test.ts(2 kapsam kilidi güncellendi)docs/DEVICE_VALIDATION_LEDGER.md(W5-3b 🔴 perf(map): VisionOverlay AR-kapalı idle render döngüsünü durdur #64)Ledger
W5-3b 🔴 — gerçek handler yok · gerçek discovery yok · W5-3c değer üreten PR · aktif ECU sorgusu yok · Mali-400 doğrulaması bekliyor (Xiaomi 23090RA98I + low-tier K24/Mali-400/T507).
Bilinen riskler
getDeepScanOfflinePassStatushenüzdiagnosticSections'a eklenmedi (ADB'siz okuma için ayrı küçük PR).🤖 Generated with Claude Code