S344 · SOURCE-BOUND GATE EVIDENCE
S344 · Deferred current-runtime-OOM production writer guard integration
production acquire → S247 guard modülü → Operations-bound focused test Bu sayfa yalnız S344 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S344Production writer guardOperations id exactsource SHA exacttest target exact
operation: g8l-s344-deferred-current-runtime-oom-writer-guard-integration-partial
production · S247 guard · focused test · Operations · 4 exact excerpt
sequence-bound=true · implementation-bound=true
01 · Test edilen uygulama/model kodu
Kapının yürüttüğü gerçek kaynak
tam Rust öğesiL5421–L5497
kernel/src/task/scheduler.rs::service_deferred_current_runtime_oom
/// Run on a non-victim stack. It first lets the ordinary deferred slot hand
/// the exact retired task to the S130 reaper, then completes the live ticket
/// from the authoritative RuntimeMemory audit. Event delivery remains a
/// separate supervisor action on the returned coordinator.
pub unsafe fn service_deferred_current_runtime_oom(
) -> Result<Option<DeferredRuntimeOomCompletion>, RuntimeOomTaskExecutionError> {
let _irq_guard = crate::arch::aarch64::IrqGuard::new();
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s344_writer_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s344_deferred_current_runtime_oom_writer_guard_integration::acquire_s344_production_scheduler_writer_access()
.unwrap_or_else(|error| {
panic!(
"S344 deferred current-runtime-OOM scheduler writer guard failed closed: {:?}",
error
)
});
let sched = &mut *core::ptr::addr_of_mut!(SCHEDULER);
sched.reap_retired_task();
let Some(mut carrier) = sched.deferred_current_runtime_oom.take() else {
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s344_writer_access);
return Ok(None);
};
let Some(witness) = carrier.witness else {
sched.deferred_current_runtime_oom = Some(carrier);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s344_writer_access);
return Ok(None);
};
if sched.current_task.as_ref().map(|task| task.id) == Some(witness.task_id) {
sched.deferred_current_runtime_oom = Some(carrier);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s344_writer_access);
return Err(RuntimeOomTaskExecutionError::DeferredWrongLocation);
}
let event_id = match crate::mm::with_boot_runtime_memory(|memory| {
carrier
.coordinator
.complete_teardown(&mut carrier.ticket, memory, witness)
}) {
Ok(Ok(event_id)) => event_id,
Ok(Err(error)) => {
sched.deferred_current_runtime_oom = Some(carrier);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s344_writer_access);
return Err(RuntimeOomTaskExecutionError::CoordinatorCompletion(error));
}
Err(_) => {
sched.deferred_current_runtime_oom = Some(carrier);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s344_writer_access);
return Err(RuntimeOomTaskExecutionError::BootMemoryAuthority);
}
};
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s344_writer_access);
let lifecycle_complete = witness.ipc_lifecycle_closed
&& witness.address_space_quiesced
&& witness.page_tables_released
&& witness.asid_released;
let ipc_teardown = carrier
.ipc_teardown
.ok_or(RuntimeOomTaskExecutionError::IpcLifecycle)?;
let execution = RuntimeOomTaskExecution {
event_id,
task_id: witness.task_id,
domain: witness.domain,
lifecycle_complete,
ipc_teardown,
};
Ok(Some(DeferredRuntimeOomCompletion {
monitor: carrier.monitor,
coordinator: carrier.coordinator,
execution,
}))
}snippet sha256: 39bbb8aecf89…file sha256: 838dd474448c…
02 · Ortak exclusion üyeliği
S247 production writer guard
tam Rust öğesiL160–L172
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s344_deferred_current_runtime_oom_writer_guard_integration.rs::acquire_s344_production_scheduler_writer_access
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
pub fn acquire_s344_production_scheduler_writer_access(
) -> Result<G8lS344ProductionSchedulerWriterAccess, G8lS247WholeSchedulerAccessError> {
let caller_cpu =
crate::percpu::try_current_cpu_id().ok_or(G8lS247WholeSchedulerAccessError::InvalidCpu)?;
if caller_cpu != crate::g8l_runtime_contract::CPU0 {
return Err(G8lS247WholeSchedulerAccessError::InvalidCpu);
}
let access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s246_whole_scheduler_read_access_guard::S247_PRODUCTION_WHOLE_SCHEDULER_ACCESS_GATE
.try_acquire_exclusive_for_valid_cpu(caller_cpu)?;
Ok(G8lS344ProductionSchedulerWriterAccess { _access: access })
}snippet sha256: d34d202fd9de…file sha256: 22f0b3f99e89…
03 · Doğrulayan test kodu
Operations komutuna bağlı focused test
tam Rust öğesiL233–L245
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s344_deferred_current_runtime_oom_writer_guard_integration.rs::target_function_contains_one_mutable_alias_and_one_s344_acquisition
#[test]
fn target_function_contains_one_mutable_alias_and_one_s344_acquisition() {
let target = service_boundary();
assert_eq!(target.matches("addr_of_mut!(SCHEDULER)").count(), 1);
assert_eq!(
target
.matches("acquire_s344_production_scheduler_writer_access()")
.count(),
1
);
assert_eq!(target.matches("drop(s344_writer_access)").count(), 6);
}snippet sha256: 8718845a2003…file sha256: 4afb126fe5f3…
04 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL13574–L13659
website/src/lib/operations.ts::g8l-s344-deferred-current-runtime-oom-writer-guard-integration-partial
{
id: "g8l-s344-deferred-current-runtime-oom-writer-guard-integration-partial",
date: "2026-08-28",
sequence: 344,
status: "passed",
umbrella_status: "partial",
title:
"S344 · Deferred current-runtime-OOM production writer guard integration",
summary:
"S344, service_deferred_current_runtime_oom içindeki later-stack mutable SCHEDULER transaction'ını S343 ve 44 production reader'ın kullandığı aynı statik S247 state word'e bağlar. Mevcut IRQ guard'dan sonra CPU0-only S344 writer alınır; tek mutable alias retired-task reaper'ı, deferred carrier take/witness/current-location kontrolünü, bütün fail-closed carrier restore yollarını ve authoritative coordinator completion'ı kapsar. No-carrier, missing-witness, wrong-location, coordinator-error ve boot-memory-error dönüşlerinin her biri writer'ı IRQ restore'dan önce explicit bırakır; başarı yolu da event id commit'inden hemen sonra, lifecycle/output construction'dan önce bırakır. Guarded writer 17/69, açık writer 52 ve provider authority 0'dır. Production kaynakta aynı guarded helper'a ulaşan 16 direct callsite vardır fakat supported-profile S344 runtime observation=0'dır; execute_armed_current_runtime_oom_if_target içindeki sonraki mutable commit S345 için açık kalır.",
evidence: [
"Focused deferred current-runtime-OOM writer-integration kapısı 29/29 PASS verdi. Önceki S343 30/30, current deferred 5/5, effect transaction 5/5, lifecycle recovery 7/7, live IPC teardown 5/5, scheduler executor 5/5 ve timer-pressure trigger 5/5 regresyonları ayrıca geçti.",
"Aynı S247 state word üzerinde CPU0-only writer membership, non-CPU0 pre-commit rejection, reader→writer ve writer→reader exclusion, exact-once success/error release ve S343→S344 token monotonluğu doğrulandı.",
"Production kaynak sırası mevcut IRQ guard → acquire_s344 writer → tek mutable SCHEDULER alias → reap_retired_task → deferred carrier take → witness/current-location validation → coordinator.complete_teardown → success writer drop → lifecycle/output construction olarak kilitlendi.",
"No-carrier dönüşü mutation olmasa bile reaper ihtimalinden sonra writer'ı explicit bırakır. Missing-witness ve wrong-location yolları carrier'ı exact scheduler slotuna geri koyup writer'ı bırakır; coordinator ve boot-memory hata yolları da aynı restore→drop→return sırasını korur.",
"Writer authoritative RuntimeMemory coordinator completion boyunca tutulur; böylece carrier slotu geçici olarak boşken CPU1 reader'a ara durum yayınlanmaz. Completion başarıyla event id ürettiğinde writer hemen bırakılır; lifecycle_complete, IPC witness ve DeferredRuntimeOomCompletion owned output'u gate dışında kurulur.",
"Tarihsel reap → carrier take → witness validation → authoritative completion → lifecycle result sırası korunur. Önceki execute_runtime_oom_teardown S343 writer'ı ayrı kalır ve execute_armed_current_runtime_oom_if_target içindeki kaynak sırasına göre sonraki mutable commit S345 için açık bırakılır.",
"kernel/src/main.rs içinde 16 production service_deferred_current_runtime_oom çağrı noktası sayıldı. Bunların tamamı tek guarded helper sınırını paylaşır; bu source-wiring envanteridir, RPi5 supported-profile invocation, runtime telemetry veya cihaz gözlemi değildir.",
"Fresh izole AArch64 profilleri 4/4 exit 0 verdi: board-qemu 111751 B / 992b3a3f…4c04 / 293 warning header; board-rpi4 150483 B / 0ac5328e…a2d / 391; board-rpi5 537372 B / 85986251…75c / 1196; board-rpi5+smp check 537262 B / 7b5d8a83…fd9b / 1196. Zero-warning iddiası yoktur.",
"S238–S344 dependency matrisi iki bağımsız seri koşuda 108 ayrı grup / 1726/1726 PASS verdi. Ham çıktılar 14144 B ve yalnız ölçülen 0.00–0.01 s süre alanları nedeniyle 4e4a9711…1e6d / 52aa4acb…07ba'dır; 14252 B süre-normalize kanonik çıktılar 400314d7…b318 ile byte-eşittir.",
"Exact yedi tarihsel assertion adı dışlanıp --test-threads=1 kabulü kullanıldığında workspace 306 sonuç grubu / 3558 PASS / 0 fail / 7 filtered verdi; 67486 B log 3ae052f3…3a6b'dir.",
"Filtresiz workspace exit 101 ile yalnız frozen S96 wiring_does_not_mutate_timer_gic_boot_or_expand_runtime_scope source-identity reddinde durdu; 259 sonuç grubunda 3303 PASS / 1 fail, 62708 B log a36272d1…a797'dir ve global workspace GREEN iddia edilmez.",
"make verify-qemu ortak regresyonu 116447 B / a6f2c418…45c3 ile strict ELF W^X 31/31, S130–S154, IPC 20/20, scheduler SEC5 ve kernel fault marker 0 PASS verdi. RPi5-only S344 writer bu QEMU koşusunda runtime-observed değildir.",
"Website 536/536 test ile PASS; lint yalnız Roadmap 500 KB Babel optimizasyon notunu verdi, boş çıktılı TypeScript kontrolü ve 23/23 static page üretimi ayrıca geçti. İlk Cloudflare Pages production/main S344 içerik yayını 0b222dbe ile tamamlandı; çıktı 193 statik dosyadır.",
"Cache-busted custom-domain /operations/ ve /timeline/ rotaları HTTP 200 döndü ve dağıtım sonrası yerel out ile byte-exact eşleşti. Operations 10614903 B / 36204ada…ee6, Timeline 2786441 B / 29cabaea…cf0'dır.",
"Timeline'da 183 ayrı data-gate-policy kartı vardır; S344, S343, S342, S341, S340, S339, S338, S337, S325, S324 ve S323 ayrı kartlar halinde korunur. S344 policy 6064 karakter, S324–S344 minimum yoğunluğu 1055 karakterdir ve birleşik gate-policy kutusu yoktur.",
"Immutable https://0b222dbe.aselsan-microkernel.pages.dev/timeline/ erişimi bu doğrulama ortamından 10 saniyede curl exit 28 / HTTP 000 verdi; custom-domain byte-exact PASS'i bu sonucu gizlemez.",
"S245 request yalnız non-consuming incelenir; S244 admission dokunulmadan kalır. Production provider authority=0, whole-scheduler exclusion=false ve toplam 52 production writer açık kalır.",
"S344 için güç, SD kart, Mac kart erişimi, UART capture, raw validation, archive veya promotion işlemi yapılmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S344=NO.",
],
commands: [
"cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s344_deferred_current_runtime_oom_writer_guard_integration -- --nocapture",
"cargo build -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5",
"cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5,smp",
"cargo test --workspace --quiet -- --test-threads=1 [seven exact historical --skip filters]",
"make verify-qemu",
"npm run deploy",
],
terminalSessions: [
{
id: "g8l-s344-deferred-current-runtime-oom-writer-guard-integration",
title: "G8l S344 deferred current-runtime-OOM writer guard integration",
commandLines: [
"cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s344_deferred_current_runtime_oom_writer_guard_integration -- --nocapture",
],
outputLines: [
"test result: ok; S344 focused 1 group / 29 passed; 0 failed",
"shared S247 gate: 44 guarded readers + 17/69 guarded writers; 52 writers open",
"IRQ < S344 writer < reaper < carrier take/restore < authoritative completion < writer drop < lifecycle/output",
"production source callsites=16; supported-profile runtime observations=0",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8l-s344-operations-timeline-production-publication",
title: "S344 Operations/Timeline production publication",
commandLines: [
"npm run deploy",
"curl --cache-busted https://aselsan.kerege.net/{operations,timeline}/ and compare with local out",
"curl --max-time 10 https://0b222dbe.aselsan-microkernel.pages.dev/timeline/",
],
outputLines: [
"website tests 536/536; lint PASS with Roadmap >500KB optimization note; TypeScript PASS; static routes 23/23",
"Cloudflare Pages production/main deployment 0b222dbe; 193 static files",
"custom-domain operations HTTP 200; 10614903 B; sha256 36204ada4d216af9e7712b141917402243d8f2273c1f70b64e0883d3b2567ee6; byte-exact PASS",
"custom-domain timeline HTTP 200; 2786441 B; sha256 29cabaeaf730dff19e6a0f17a16093067fae808bf91215fdca31204eeb2c4cf0; byte-exact PASS",
"timeline cards=183; S344 policy=6064 chars; S324-S344 minimum=1055 chars",
"immutable deployment probe: curl exit 28; HTTP 000 after 10 seconds",
],
exitCode: 0,
outputMode: "complete",
outputNote:
"Custom-domain artifact comparison PASS'tir. Immutable hostname timeout sonucu ayrı ve görünür tutulur.",
},
],
terminalSessionsNote:
"S344 on yedinci production writer'ın kaynak entegrasyonudur. On altı source callsite aynı guarded helper'a ulaşır, fakat supported-profile runtime/cihaz gözlemi yoktur; global exclusion ya da provider authority oluşmadı.",
limitations: [
"52 production writer aynı shared gate dışında kaldığı için whole-scheduler exclusion ve provider authority açık kalır.",
"On altı production source callsite wiring kanıtıdır; supported-profile S344 invocation/observation kanıtı yoktur.",
"Downstream execute_armed_current_runtime_oom_if_target commit writer entegrasyonu S345 için açık bırakılmıştır.",
"Default-parallel PTY determinism S331'den açık taşınır; kayıtlı seri kabul matrisi kullanılır.",
"Transient-contention liveness/soak, Generic SMP ve fiziksel RPi kabulü açık kalır.",
],
},snippet sha256: 697a717fa395…file sha256: 9726dbf00f84…
Focused test komutu
cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s344_deferred_current_runtime_oom_writer_guard_integration -- --test-threads=1proof: docs/M8.1-RPi5-G8l-S344-Deferred-Current-Runtime-OOM-Writer-Guard-Integration-Proof.md
Registry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06