S563 · R1 uygulama: sınırlı toparlanma ve hata sınırlama modeli
S563 kaynak/host model kapısı PASS'tir: altı fault sınıfı (DataAbort, InstrAbort, Oom, IpcTimeout, WatchdogMiss, CapabilityViolation), üç containment domain'i (task, service group, subsystem), seviye başına bütçe ve cool-down tick'leri taşıyan beş seviyeli Contain → RestartTask → RestartGroup → SafeMode → Halt eskalasyon merdiveni, zincirli FNV-1a-32 checksum'lı ve overflow'da sayım kaybetmeyen 64 girişlik fault journal ring'i, safe-mode allowed-service allowlist'i ve (fault, history) → action deterministik karar fonksiyonu modellenmiştir. Bütçe tükenmesi fail-closed Halt'a iner; bilinmeyen sınıf/domain kodları, rezerve service id, monoton olmayan tick, safe-mode dışı servis, halt sonrası fault, dolu domain tablosu ve 256 üstü diziler reddedilir. Focused 21/21 PASS'tir; modül kernel ve simulation'da kayıtlıdır fakat hiçbir boot, IRQ, scheduler veya watchdog yoluna bağlı değildir. S540 ve S543 fiziksel RED immutable kalır; physical observation=0, RUNBOOK_EXECUTED_IN_S563=NO, Boot-to-UI=false ve R1 acceptance=false'dur. S564 aynı R1 4. aşamanın host-only update paket manifest/hash zinciri model kapısıdır.
Doğrulanan kanıt
- S563, S562'den ayrı kernel model modülü, 21-test focused binary, proof, status bloğu, Operations kaydı ve complete Code kartına sahiptir; modül kernel main.rs ve simulation lib.rs'te kayıtlıdır fakat hiçbir boot, exception, IRQ, scheduler, watchdog veya sürücü yoluna bağlanmamıştır.
- Dar S563 source/host model status=PASS; R1 umbrella=PARTIAL, S540 ve S543 physical gate status=RED olarak ayrı tutulur.
- Fault sınıfı kümesi kapalıdır: DataAbort(0), InstrAbort(1), Oom(2), IpcTimeout(3), WatchdogMiss(4), CapabilityViolation(5); 6 ve üzeri her kod UnknownFaultClass ile fail-closed reddedilir.
- Containment domain kümesi kapalıdır: Task(0, taban 0), ServiceGroup(1, taban 1), Subsystem(2, taban 2); bilinmeyen domain kodu UnknownContainmentDomain ile reddedilir.
- Eskalasyon merdiveni tablo sabitidir: Contain bütçe 3 / cool-down 16 tick, RestartTask 3/64, RestartGroup 2/256, SafeMode 1/1024, Halt 0/0 terminal ve yapışkandır; bütçeler artmaz, cool-down'lar kesin artar.
- Deterministik karar fonksiyonu decide_s563_action(fault, history) → action'dır: etkin taban max(sınıf tabanı, domain tabanı)'dır, mevcut seviyenin cool-down'u kadar sessiz tick geçerse history tabana decay olur, her fault bir kullanım tüketir ve bütçe aşımında merdiven bir seviye eskalasyon yapar; seviye 4 Halt'tır.
- Tek task domain'ine art arda on Oom fault'u exact Contain x3, RestartTask x3, RestartGroup x2, SafeMode x1, Halt x1 üretir; bütçe tükenmesi fail-closed Halt'a iner ve sonrası FaultAfterHalt ile reddedilir.
- Fault journal 64 girişlik ring'dir; her giriş 16 byte kodlanır ve zincirli FNV-1a-32 checksum (basis 0x811C9DC5, prime 0x01000193) atılan girişleri de kapsamaya devam eder.
- Journal overflow sayım kaybetmez: len + dropped == total_recorded değişmezi checked aritmetikle korunur; 100 kayıt sonrası len=64, dropped=36, total=100 exact doğrulanır ve tutarsızlık JournalAccountingMismatch ile reddedilir.
- Safe-mode allowlist'i dört servistir (0x0001-0x0004); SafeMode'a girildikten sonra allowlist dışı servislerden gelen fault'lar ServiceNotAllowedInSafeMode ile reddedilir ve reddedilen fault engine durumunu değiştirmez.
- Sınırlar fail-closed'dur: en fazla 16 izlenen (domain, id) anahtarı (DomainTableFull), dizi başına en fazla 256 fault (FaultSequenceTooLong), boş dizi (EmptyFaultSequence), rezerve service id 0 (ReservedServiceId) ve monoton olmayan tick (NonMonotonicTick).
- service_s563_model_contain_faults exact replay'de aynı receipt ile Retained döner; input digest sayesinde aynı sayaçları üreten farklı diziler dahil her divergence PublishedStateDrift ile reddedilir.
- On üç hata varyantı 1..13 arası sıfırdan farklı benzersiz diagnostic kod taşır.
- Focused target 1 grup / 21 passed / 0 failed / 0 ignored / 0 filtered verdi.
- Implementation 26725 B / c4e89737df176ab345343a20ffbc1fbab3497c52adb5ecc3b9e48264421895ab; focused test 27401 B / ef6ad34dfb83004603f659d098c2d84562ef19e4068e8113230723d70f4e76b0 SHA-256'dır.
- Proof 5319 B'dir ve model tablolarını, fail-closed koşullarını ve non-claim listesini aynen taşır.
- S563 sırasında hiçbir SD write/read-back/eject, UART open/capture, power transition, fiziksel retry veya yeni immutable raw üretimi yapılmadı; bu kapı için panel/modem/touch/board yoktur.
- RUNBOOK_EXECUTED_IN_S563=NO; supported-profile runtime observations=0, physical observations=0, Boot-to-UI physically observed=false ve R1 acceptance=false'dur.
- S564 aynı R1 uygulama/recovery/update aşamasında host-only update paket manifest ve hash zinciri modelini kuracaktır; aygıt veya fiziksel koşu yetkisi değildir.
Sınır / bekleyen kanıt
- S563 modeli yalnız host'ta focused test ile doğrulanmıştır; hiçbir donanım/panel/modem/board gözlemi yoktur ve model hiçbir production boot/IRQ/scheduler yoluna bağlanmamıştır.
- S540 ve S543 fiziksel RED immutable kalır; otomatik promotion yoktur ve bu kapı fiziksel kararı değiştiremez.
- Merdiven bütçeleri, cool-down tick'leri ve safe-mode allowlist'i host tablo değerleridir; gerçek watchdog, abort veya OOM davranışı gözlenmemiştir.
- Boot-to-UI physically observed=false ve R1 acceptance complete=false kalır; RUNBOOK_EXECUTED_IN_S563=NO'dur.
- S564 update paket manifest/hash zinciri modeli tamamlanmadan R1 4. aşamanın update gösterimi ilerlemez; S564 de host-only'dir ve aygıt yetkisi vermez.
Terminal komutları ve gerçek yanıtlar
S563 kaynak/host model kapısıdır; supported-profile runtime veya fiziksel PASS değildir. S540 ve S543 RED raw'ları ve kararları değişmez.
$ CARGO_INCREMENTAL=0 cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s563_r1_bounded_recovery_fault_containment_model -- --test-threads=1test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
S563 focused=1 group / 21 passed / 0 failed
hardware=none physical=0 runbook=NO