S560 · R1 modem: modem alt sistemi capability ve gözetim modeli
S560 kaynak/host model kapısı PASS'tir: R1 3. aşama (modem, veri, arama ve ses) için modem alt sistemi, capability-gated bir EL0 servisi ve supervisor watchdog olarak saf bir model biçiminde yazıldı. Model {AT, SMS, DATA, VOICE, AUDIO} haklarıyla endpoint capability'yi, opcode + kesin artan sequence + en çok 256 B payload'lı sınırlı istek/yanıt şemasını, Stopped/Starting/Ready/Degraded/Restarting/Failed durum makinesini, 3 kaçırılan heartbeat sonrası Restarting'i, 60 tick penceresinde en çok 3 restart bütçesini ve 1/2/4 tick üstel backoff'u, Failed'da tüm capability'lerin iptalini ve istemci başına 10 tick'te 8 istek hız sınırını kapsar; bilinmeyen opcode, eksik hak ve büyük payload fail-closed reddedilir. Focused 22/22 PASS'tir. S540 ve S543 fiziksel raw/verdict değişmez RED kalır; hiçbir modem, SIM, UART, panel veya board yoktur; physical observation=0, SD/UART/power/new-raw=0/0/0/0, Boot-to-UI=false ve R1 acceptance=false'dur. RUNBOOK_EXECUTED_IN_S560=NO. S561 host-only izinli uygulama başlatma akışı modeli kapısıdır.
Doğrulanan kanıt
- S560, S559'dan ayrı saf model kernel modülü, 22-test focused binary, proof, status manifest, Operations kaydı ve complete Code kartına sahiptir; production callsite yoktur ve modül hiçbir boot, IRQ, scheduler veya driver yoluna bağlı değildir.
- Dar S560 source/host status=PASS; R1 umbrella=PARTIAL ve S540/S543 physical gate status=RED olarak ayrı tutulur.
- Endpoint capability hak maskesi AT=0x01, SMS=0x02, DATA=0x04, VOICE=0x08, AUDIO=0x10 ve ALL=0x1f'tir; rights=0 EmptyRights, 0x1f dışındaki her bit InvalidRights ile fail-closed reddedilir.
- En çok 4 istemci slotu vardır ve endpoint id'ler 0x5600+slot'tur; canlı istemciye ikinci grant DuplicateClient, beşinci istemci ClientTableFull verir; iptal edilmiş istemciye regrant endpoint id'yi korur ve generation'ı artırır.
- Opcode tablosu 8 girişlidir ve her opcode tam bir hak ister: AtCommand=0x01 (AT), SmsSend=0x10/SmsRead=0x11 (SMS), DataAttach=0x20/DataDetach=0x21 (DATA), VoiceDial=0x30/VoiceHangup=0x31 (VOICE), AudioRoute=0x40 (AUDIO); diğer her wire değeri UnknownOpcode'dur.
- Payload 256 B ile sınırlıdır: 256 B kabul, 257 B hem encoder'da hem servis adımında PayloadOversize'dır; encoder deterministik FNV-1a digest kaydeder ve istemci sequence'ı kesin artmalıdır (SequenceOutOfOrder, u32::MAX sonrası SequenceOverflow).
- Yanıt endpoint id, opcode, sequence, Accepted/AcceptedDegraded ve tablo güdümlü sınırlı uzunluk taşır: AtCommand istek uzunluğunu yansıtır, SmsRead 176, DataAttach 16, VoiceDial 8, SmsSend/AudioRoute 4, DataDetach/VoiceHangup 0.
- Durum makinesi Stopped→Starting→Ready, Ready↔Degraded, Degraded→Restarting→Starting ve terminal Failed'dır; heartbeat yalnız Ready/Degraded'da geçerlidir, kaçırılan her heartbeat Degraded'a götürür ve üçüncü ardışık kaçırma restart tetikler.
- Restart bütçesi 60 tick penceresinde en çok 3'tür ve n'inci restart 1/2/4 tick (üst sınır 8) üstel backoff ile Restarting'e girer; backoff dolmadan Start BackoffNotElapsed verir, pencere içindeki dördüncü restart servisi Failed yapar ve tüm capability'leri iptal eder, pencere dolunca bütçe sıfırlanır.
- İstemci başına hız sınırı 10 tick penceresinde 8 istektir; dokuzuncu istek ClientRateLimited ile reddedilir ve diğer istemciler etkilenmez.
- Ledger en çok 64 adım tutar; her kabul edilen adım tick, from/to durum, heartbeat kaçırma, pencere içi restart, backoff, capability sayıları ve opsiyonel yanıt içeren bir receipt üretir; exact replay StepRetained ile aynı receipt'i döndürür, yayınlanmış adımda farklı olay PublishedStateDrift, sıra dışı adım StepOutOfOrder verir.
- 22 hata kodu sıfırdan farklı ve tekildir; kaynakta unsafe, asm!, write_volatile, crate::uart, crate::arch, #[no_mangle] ve spin:: yüzeyi yoktur ve tick aritmetiği checked_add ile yapılır.
- Focused target 1 grup / 22 passed / 0 failed / 0 ignored / 0 filtered verdi.
- Implementation 27621 B / e9beae450e35fa8a13e45c8a46258c2452667d5cd138f0f5babf973c826af7d2; focused test 29745 B / 1c71dd45bcd7e547bcc383105e1e29f2f6d3602b599e5822a0d565690b288caf SHA-256'dır.
- Proof 6407 B'dir.
- S540 immutable raw 20525 B ve S543 immutable raw 20509 B fiziksel RED olarak byte-exact korunur; automatic promotion=false ve rerun=false'dur.
- S560 sırasında modem, SIM, AT transport, SD write/read-back/eject, UART open/capture, power transition, fiziksel koşu veya yeni immutable raw üretimi yapılmadı.
- RUNBOOK_EXECUTED_IN_S560=NO; supported-profile runtime observations=0, physical observations=0, hardware present=false, Boot-to-UI physically observed=false ve R1 acceptance=false'dur.
- S561 yalnız host üzerinde izinli uygulama başlatma akışı modelini yazacaktır; aygıt veya fiziksel koşu yetkisi değildir.
Sınır / bekleyen kanıt
- S560 saf bir kaynak/host modelidir; hiçbir donanım/panel/modem/board gözlemi yoktur ve gerçek bir modem servisi, heartbeat'i veya restart'ı gözlenmemiştir.
- Modülün production callsite'ı yoktur; gerçek EL0 servisi, IPC endpoint bağlantısı, AT transport ve modem sürücüsü bu kapının dışındadır.
- S540 ve S543 fiziksel RED immutable kalır; S546 fiziksel koşusunun kararı bu kapıda varsayılmaz.
- BOOT_TO_UI_READY gerçek UART'ta görülmedi; Boot-to-UI ve R1 acceptance false kalır.
- S561 host-only izinli uygulama başlatma akışı modelidir; yeni SD/UART/power koşusu ayrı kapı, fresh target revalidation, açık operatör yetkisi ve yeni immutable raw ister.
Terminal komutları ve gerçek yanıtlar
S560 kaynak/host model PASS'tir; supported-profile runtime, modem veya fiziksel PASS değildir. S540 ve S543 RED raw 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_s560_r1_modem_subsystem_capability_supervision_model -- --test-threads=1test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
S560 focused=1 group / 22 passed / 0 failed
hardware=none physical=0 runbook=NO