S350 · SOURCE-BOUND GATE EVIDENCE
S350 · Current-runtime-OOM coordinator-preflight error restore production writer guard integration
production acquire → S247 guard modülü → Operations-bound focused test Bu sayfa yalnız S350 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S350Production writer guardOperations id exactsource SHA exacttest target exact
operation: g8l-s350-current-runtime-oom-coordinator-preflight-error-restore-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 öğesiL5190–L5420
kernel/src/task/scheduler.rs::execute_armed_current_runtime_oom_if_target
/// If the armed S131 target is current, re-audit both authority boundaries,
/// close IPC, publish Dead, move the carrier back into static scheduler
/// storage, quiesce the address space and switch away. The active task and its
/// stack are deliberately never detached or reaped in this function.
pub unsafe fn execute_armed_current_runtime_oom_if_target(
) -> Result<(), RuntimeOomTaskExecutionError> {
#[cfg(feature = "board-rpi5")]
let s258_identity_scheduler_read_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s257_runtime_oom_preflight_read_access_guard_expansion::acquire_s258_production_scheduler_read_access()
.unwrap_or_else(|error| {
panic!(
"S258 current OOM identity scheduler read access failed closed: {:?}",
error
)
});
let (armed_target, current_task_id) = {
let sched = &*core::ptr::addr_of!(SCHEDULER);
(
sched
.deferred_current_runtime_oom
.as_ref()
.map(|carrier| carrier.binding.task_id),
sched.current_task.as_ref().map(|task| task.id),
)
};
#[cfg(feature = "board-rpi5")]
drop(s258_identity_scheduler_read_access);
let Some(armed_target) = armed_target else {
return Ok(());
};
if current_task_id != Some(armed_target) {
return Ok(());
}
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s351_irq_guard = crate::arch::aarch64::IrqGuard::new();
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s351_writer_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s351_current_runtime_oom_carrier_take_writer_guard_integration::acquire_s351_production_scheduler_writer_access()
.unwrap_or_else(|error| {
panic!(
"S351 current-runtime-OOM carrier-take writer guard failed closed: {:?}",
error
)
});
let carrier_result = (&mut *core::ptr::addr_of_mut!(SCHEDULER))
.deferred_current_runtime_oom
.take();
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s351_writer_access);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s351_irq_guard);
let mut carrier = carrier_result.ok_or(RuntimeOomTaskExecutionError::DeferredTargetMismatch)?;
let ticket_preflight = match crate::mm::with_boot_runtime_memory(|memory| {
carrier
.coordinator
.preflight_teardown(&carrier.ticket, memory)
}) {
Ok(Ok(preflight)) => preflight,
Ok(Err(error)) => {
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s350_irq_guard = crate::arch::aarch64::IrqGuard::new();
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s350_writer_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s350_current_runtime_oom_coordinator_preflight_error_restore_writer_guard_integration::acquire_s350_production_scheduler_writer_access()
.unwrap_or_else(|access_error| {
panic!(
"S350 current-runtime-OOM coordinator-preflight error carrier restore writer guard failed closed: {:?}",
access_error
)
});
(&mut *core::ptr::addr_of_mut!(SCHEDULER)).deferred_current_runtime_oom = Some(carrier);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s350_writer_access);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s350_irq_guard);
return Err(RuntimeOomTaskExecutionError::CoordinatorPreflight(error));
}
Err(_) => {
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s349_irq_guard = crate::arch::aarch64::IrqGuard::new();
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s349_writer_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s349_current_runtime_oom_boot_memory_error_restore_writer_guard_integration::acquire_s349_production_scheduler_writer_access()
.unwrap_or_else(|error| {
panic!(
"S349 current-runtime-OOM boot-memory error carrier restore writer guard failed closed: {:?}",
error
)
});
(&mut *core::ptr::addr_of_mut!(SCHEDULER)).deferred_current_runtime_oom = Some(carrier);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s349_writer_access);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s349_irq_guard);
return Err(RuntimeOomTaskExecutionError::BootMemoryAuthority);
}
};
#[cfg(feature = "board-rpi5")]
let s258_binding_scheduler_read_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s257_runtime_oom_preflight_read_access_guard_expansion::acquire_s258_production_scheduler_read_access()
.unwrap_or_else(|error| {
panic!(
"S258 current OOM binding scheduler read access failed closed: {:?}",
error
)
});
let binding_result =
(&*core::ptr::addr_of!(SCHEDULER)).audit_runtime_oom_task_binding(ticket_preflight);
#[cfg(feature = "board-rpi5")]
drop(s258_binding_scheduler_read_access);
let binding = match binding_result {
Ok(binding) => binding,
Err(error) => {
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s348_irq_guard = crate::arch::aarch64::IrqGuard::new();
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s348_writer_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s348_current_runtime_oom_binding_audit_error_restore_writer_guard_integration::acquire_s348_production_scheduler_writer_access()
.unwrap_or_else(|access_error| {
panic!(
"S348 current-runtime-OOM binding-audit error carrier restore writer guard failed closed: {:?}",
access_error
)
});
(&mut *core::ptr::addr_of_mut!(SCHEDULER)).deferred_current_runtime_oom = Some(carrier);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s348_writer_access);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s348_irq_guard);
return Err(error);
}
};
if binding.location != RuntimeOomTaskLocation::Current
|| binding.task_id != carrier.binding.task_id
|| binding.domain != carrier.binding.domain
|| binding.asid != carrier.binding.asid
|| binding.frame_count != carrier.binding.frame_count
{
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s347_irq_guard = crate::arch::aarch64::IrqGuard::new();
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s347_writer_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s347_current_runtime_oom_binding_mismatch_restore_writer_guard_integration::acquire_s347_production_scheduler_writer_access()
.unwrap_or_else(|error| {
panic!(
"S347 current-runtime-OOM binding-mismatch carrier restore writer guard failed closed: {:?}",
error
)
});
(&mut *core::ptr::addr_of_mut!(SCHEDULER)).deferred_current_runtime_oom = Some(carrier);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s347_writer_access);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s347_irq_guard);
return Err(RuntimeOomTaskExecutionError::DeferredTargetMismatch);
}
let ipc_teardown = match crate::ui::capability::teardown_task_ipc_lifecycle(binding.task_id) {
Ok(lifecycle) => RuntimeOomIpcTeardown::from_lifecycle(lifecycle),
Err(_) => {
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s346_irq_guard = crate::arch::aarch64::IrqGuard::new();
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s346_writer_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s346_current_runtime_oom_ipc_lifecycle_restore_writer_guard_integration::acquire_s346_production_scheduler_writer_access()
.unwrap_or_else(|error| {
panic!(
"S346 current-runtime-OOM IPC-lifecycle carrier restore writer guard failed closed: {:?}",
error
)
});
(&mut *core::ptr::addr_of_mut!(SCHEDULER)).deferred_current_runtime_oom = Some(carrier);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s346_writer_access);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s346_irq_guard);
return Err(RuntimeOomTaskExecutionError::IpcLifecycle);
}
};
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s345_irq_guard = crate::arch::aarch64::IrqGuard::new();
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s345_writer_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s345_current_runtime_oom_commit_writer_guard_integration::acquire_s345_production_scheduler_writer_access()
.unwrap_or_else(|error| {
panic!(
"S345 current-runtime-OOM final scheduler commit writer guard failed closed: {:?}",
error
)
});
let sched = &mut *core::ptr::addr_of_mut!(SCHEDULER);
let Some(task) = sched.current_task.as_mut() else {
sched.deferred_current_runtime_oom = Some(carrier);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s345_writer_access);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s345_irq_guard);
return Err(RuntimeOomTaskExecutionError::SchedulerCommitMismatch);
};
if task.id != binding.task_id
|| task.runtime_allocation_domain() != Some(binding.domain)
|| task.asid != binding.asid
|| task
.runtime_user_frames
.as_ref()
.map_or(0, |ledger| ledger.frame_count())
!= binding.frame_count
{
sched.deferred_current_runtime_oom = Some(carrier);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s345_writer_access);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s345_irq_guard);
return Err(RuntimeOomTaskExecutionError::SchedulerCommitMismatch);
}
task.finished.store(true, Ordering::Release);
task.state = TaskState::Dead;
task.user_sp = 0;
task.saved_user_elr = 0;
task.saved_user_spsr = 0;
task.saved_user_gprs = [0; 31];
carrier.binding = binding;
carrier.ipc_lifecycle_closed = true;
carrier.ipc_teardown = Some(ipc_teardown);
sched.deferred_current_runtime_oom = Some(carrier);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s345_writer_access);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s345_irq_guard);
retire_current_asid_after_kernel_switch();
yield_now();
crate::arch::aarch64::disable_irqs();
loop {
core::arch::asm!("wfe", options(nomem, nostack));
}
}snippet sha256: ae9e4955a1e0…file sha256: 838dd474448c…
02 · Ortak exclusion üyeliği
S247 production writer guard
tam Rust öğesiL156–L168
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s350_current_runtime_oom_coordinator_preflight_error_restore_writer_guard_integration.rs::acquire_s350_production_scheduler_writer_access
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
pub fn acquire_s350_production_scheduler_writer_access(
) -> Result<G8lS350ProductionSchedulerWriterAccess, 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(G8lS350ProductionSchedulerWriterAccess { _access: access })
}snippet sha256: 1b9e15d82fa1…file sha256: d36dfce5b47e…
03 · Doğrulayan test kodu
Operations komutuna bağlı focused test
tam Rust öğesiL291–L300
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s350_current_runtime_oom_coordinator_preflight_error_restore_writer_guard_integration.rs::coordinator_error_branch_has_exactly_one_s350_acquire
#[test]
fn coordinator_error_branch_has_exactly_one_s350_acquire() {
assert_eq!(
coordinator_error_boundary()
.matches("acquire_s350_production_scheduler_writer_access")
.count(),
1
);
}snippet sha256: c46b93c03df3…file sha256: 15710e359ad7…
04 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL13068–L13152
website/src/lib/operations.ts::g8l-s350-current-runtime-oom-coordinator-preflight-error-restore-writer-guard-integration-partial
{
id: "g8l-s350-current-runtime-oom-coordinator-preflight-error-restore-writer-guard-integration-partial",
date: "2026-08-28",
sequence: 350,
status: "passed",
umbrella_status: "partial",
title:
"S350 · Current-runtime-OOM coordinator-preflight error restore production writer guard integration",
summary:
"S350, execute_armed_current_runtime_oom_if_target içindeki with_boot_runtime_memory `Ok(Err(error))` coordinator-preflight hata kolunun tek carrier-restore writer sınırını S349 ve 44 production reader'ın kullandığı aynı statik S247 state word'e bağlar. Coordinator hata kararı sonrasında ayrı IrqGuard kurulur; gerçek per-CPU kimliğiyle CPU0-only S350 exclusive writer herhangi bir mutable SCHEDULER aliasından önce alınır. Owned carrier exact deferred_current_runtime_oom slotuna geri yayınlanır; writer, ardından IRQ guard explicit bırakılır ve yalnız sonra özgün CoordinatorPreflight(error) aynen döner. Başarılı preflight ile S349 boot-memory authority error kolu S350 membership almaz. Guarded writer 23/69, açık writer 46 ve provider authority 0'dır. İki board-qemu source callsite vardır fakat RPi5-only wrapper supported-profile runtime observation=0'dır. Carrier-take aliası S351 ve arm-current writer sınırı S352 için ayrı açık kalır; sıradaki kapı S351 carrier-take entegrasyonudur.",
evidence: [
"Focused coordinator-preflight error restore writer-integration kapısı 36/36 PASS verdi. Önceki S349/S348/S347/S346 36/36 ve S345 37/37; tarihsel S258 reader 11/11; current-deferred 5/5; effect 5/5; lifecycle recovery 7/7; live IPC teardown 5/5; scheduler executor 5/5; timer trigger 5/5; S341 31/31 ve S334 26/26 regresyonları ayrıca geçti.",
"runtime_oom_current_deferred ilk regresyonunda davranış değil, yeni guard satırları nedeniyle 11.000 karakterlik kaynak penceresi service_deferred_current_runtime_oom son işaretine erişemedi. Yalnız pencere 13.000'e genişletildi; semantik assertion'lar değiştirilmeden tekrar 5/5 PASS verdi.",
"Aynı S247 state word üzerinde CPU0-only membership, non-CPU0 pre-restore rejection, reader→writer, writer→reader ve writer→writer exclusion, callback-error sonrası exact release ve S349→S350 token monotonluğu doğrulandı. Callback hiçbir fail-closed access reddinde çağrılmadı.",
"Production coordinator-error sırası carrier take → with_boot_runtime_memory closure → Ok(Err(error)) kararı → S350 IrqGuard → S350 writer acquire → tek mutable SCHEDULER alias → exact carrier restore → writer drop → IRQ drop → özgün CoordinatorPreflight(error) return olarak kaynak-kilitlidir.",
"Coordinator Err kolunda exact bir S350 acquire, bir mutable alias ve bir explicit writer drop vardır. Ok(Ok(preflight)) ile dış Err(_) boot-memory kolu S350 membership almaz; S349 boot-memory ve daha sonraki S348/S347/S346/S345 transaction'ları ayrı kalır, nested lease oluşmaz.",
"S351 carrier-take aliası ve arm_current_runtime_oom_teardown içindeki S352 writer sınırı S350 acquisition dışında kalır ve bu kapıda guarded sayılmaz.",
"S350 preflight önce S349'un 44 guarded reader / 22 guarded writer / 47 open envanterini exact doğrular; yalnız sonra 23/69 guarded writer ve 46 open sonucu üretir. Inventory drift fail-closed reddedilir. S245 request yalnız pending_view ile non-consuming incelenir; request take edilmez ve S244 admission/provider authority oluşturulmaz.",
"kernel/src/arch/aarch64/exceptions.rs içinde execute_armed_current_runtime_oom_if_target için iki direct board-qemu source callsite sayıldı. Bu çağrılar RPi5-only S350 wrapper'ın runtime invocation kanıtı değildir; supported-profile runtime observations=0'dır.",
"Fresh ve birbirinden yalıtılmış AArch64 profilleri 4/4 exit 0 verdi: board-qemu 111543 B / 5676dfce…e7dc / 293 warning header; board-rpi4 150268 B / 34827e29…b46f / 391; board-rpi5 555814 B / 72049e3b…eebb / 1244; board-rpi5+smp 555756 B / 174e07b0…216d / 1244. Warning başlıkları sayılmıştır; zero-warning iddiası yoktur.",
"S238–S350 dependency matrisi exact sıra listesiyle iki bağımsız seri koşuda 114 ayrı grup / 1943/1943 PASS verdi. İki ham özet 26731 B olup 374a7771…2ab1 ve 61667710…b554 SHA-256 değerleri yedi ölçülen süre alanında ayrışır; raw byte equality iddia edilmez. 26845 B süre-normalize kanonik özetler 97fe18a7…bed7 ile byte-eşittir.",
"Exact yedi tarihsel assertion adı dışlanıp --test-threads=1 kabulü kullanıldığında workspace 312 sonuç grubu / 3781 PASS / 0 fail / 7 filtered verdi; 68399 B log ed36a11e…4137 SHA-256'dır.",
"Filtresiz workspace exit 101 ile yalnız frozen S96 wiring_does_not_mutate_timer_gic_boot_or_expand_runtime_scope source-identity reddinde durdu; 265 sonuç grubunda 3526 PASS / 1 fail, 63621 B log 2d92eff1…260f'tur ve global workspace GREEN iddia edilmez.",
"make verify-qemu ortak regresyonu 116447 B / c4f77ec7…e476 ile strict ELF W^X 31/31, S130–S154 Runtime-OOM/deadline zinciri, IPC reply 20/20, scheduler SEC5 ve kernel fault marker 0 PASS verdi. RPi5-only S350 writer bu board-qemu koşusunda runtime-observed değildir.",
"Website S350 yüzeyi 551/551 test, lint, boş çıktılı TypeScript ve 23/23 static route build PASS verdi; çıktı 193 dosya ve Timeline 189 ayrı gate-policy kartıdır. İlk production/main içerik yayını 1c376cd7-80a4-4111-a2c5-b1a0e4ee3099 kimliğiyle 109 upload + 84 mevcut = 193 dosya olarak tamamlandı. Cache-busted custom-domain Operations HTTP 200 / 10905282 B / a5f331b0376f376c252175f8b8239843c802b69e5ece49b10ded7fd6203eed42, Timeline HTTP 200 / 3057451 B / d1a6a04647ed03947e18bd0171bf13a3e88359a1cbf7d834a8ebb3d77f1c2e50 ve yol-haritasi HTTP 200 / 3057199 B / 72ae3e39622b3b5b853800b0d243846b5a65a2ffabe7d5dd6f6ae4627f14b7b8 artifact'leri deployment build yerel out'u ile byte-exact PASS verdi. Immutable 1c376cd7 hostname probe'u 10 saniyede curl exit 28 / HTTP 000 verdi; custom-domain PASS bu erişim sınırını gizlemez.",
"S245 request yalnız non-consuming incelenir; S244 admission dokunulmadan kalır. Production provider authority=0, whole-scheduler exclusion=false ve toplam 46 production writer açık kalır.",
"S350 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_S350=NO.",
],
commands: [
"cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s350_current_runtime_oom_coordinator_preflight_error_restore_writer_guard_integration -- --test-threads=1",
"cargo check -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",
"make verify-qemu",
"npm test && npm run lint && npx tsc --noEmit && npm run build && npm run deploy",
],
terminalSessions: [
{
id: "g8l-s350-focused-coordinator-preflight-error-restore-writer-guard",
title:
"S350 focused coordinator-preflight error restore writer membership",
commandLines: [
"cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s350_current_runtime_oom_coordinator_preflight_error_restore_writer_guard_integration -- --test-threads=1",
],
outputLines: [
"test result: ok; S350 focused 1 group / 36 passed; 0 failed",
"shared S247 gate: 44 guarded readers + 23/69 guarded writers; 46 writers open",
"Ok(Err(error)) < S350 IRQ/writer < one carrier restore < writer/IRQ drop < original CoordinatorPreflight(error)",
"carrier take remains S351-open; production source callsites=2 board-qemu; RPi5 runtime observations=0",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8l-s350-operations-timeline-production-publication",
title:
"S350 ayrı Operations/Timeline/telefon kartları ve production yayını",
commandLines: [
"npm test",
"npm run lint",
"npx tsc --noEmit",
"npm run build",
"npx wrangler pages deploy out --project-name=aselsan-microkernel --branch=main --commit-dirty=true",
"curl + cmp custom-domain operations/timeline/yol-haritasi ve immutable deployment probe",
],
outputLines: [
"website tests=551/551 PASS; lint=PASS; TypeScript=PASS; static routes=23/23; files=193; Timeline cards=189",
"production deployment=1c376cd7-80a4-4111-a2c5-b1a0e4ee3099; uploaded=109; existing=84",
"operations HTTP 200 / 10905282 B / a5f331b0…ed42 / cmp 0",
"timeline HTTP 200 / 3057451 B / d1a6a046…2e50 / cmp 0; yol-haritasi HTTP 200 / 3057199 B / 72ae3e39…b7b8 / cmp 0",
"immutable 1c376cd7 hostname: curl exit 28 / HTTP 000 after 10 seconds",
],
exitCode: 0,
outputMode: "complete",
},
],
terminalSessionsNote:
"S350 yirmi üçüncü production writer'ın dar kaynak entegrasyonudur. Yalnız coordinator-preflight error restore kolu guarded'dır; S349 boot-memory ve S348–S345 downstream writer'ları ayrı kalır, daha erken carrier-take S351 için açık tutulur.",
limitations: [
"46 production writer aynı shared gate dışında kaldığı için whole-scheduler exclusion ve provider authority açık kalır.",
"İki board-qemu source callsite wiring kanıtıdır; RPi5-only S350 wrapper için supported-profile invocation/observation kanıtı yoktur.",
"Carrier-take writer entegrasyonu sıradaki ayrı S351 kapısıdır.",
"arm_current_runtime_oom_teardown writer sınırı S352 için açık bırakılmıştır.",
"Default-parallel PTY determinism, transient-contention liveness/soak, Generic SMP ve fiziksel RPi kabulü açık kalır.",
],
},snippet sha256: e0071444862c…file sha256: 9726dbf00f84…
Focused test komutu
cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s350_current_runtime_oom_coordinator_preflight_error_restore_writer_guard_integration -- --test-threads=1proof: docs/M8.1-RPi5-G8l-S350-Current-Runtime-OOM-Coordinator-Preflight-Error-Restore-Writer-Guard-Integration-Proof.md
Registry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9