S380 · SOURCE-BOUND GATE EVIDENCE
S380 · QEMU S139 exact-ACK production writer guard integration
tam production Rust öğesi + exact acquire→release odağı → S247 guard modülü → Operations-bound focused test Bu sayfa yalnız S380 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S380Production writer guardOperations id exactsource SHA exacttest target exact
operation: g8l-s380-qemu-s139-exact-ack-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 öğesiL13057–L13195kapı odağı L13150–L13168
kernel/src/main.rs::qemu_s139_multi_event_caller
Tam kapsayıcı Rust öğesi gösterilir; vurgulu blok yalnız S380 exact production writer üyeliği sınırıdır. Komşu kod, guard kapsamı iddiası değildir.
#[cfg(feature = "board-qemu")]
extern "C" fn qemu_s139_multi_event_caller() -> ! {
use crate::mm::RuntimeOomTransportError;
use crate::ui::capability::{CapabilityRights, IpcMessage};
const S139_EVENT_LABEL: u64 = 0x5331_3339;
const S139_EXACT_ACK_LABEL: u64 = 0x4143_4b39;
let state = QEMU_S139_TRANSPORT_STATE
.lock()
.as_ref()
.copied()
.expect("S139 transport state");
let caller_task = crate::task::current_task_id().expect("S139 caller task");
assert_ne!(caller_task, state.controller_task);
assert_ne!(caller_task, state.supervisor_task);
let caller_index = QEMU_S139_NEXT_CALLER.fetch_add(1, Ordering::AcqRel) as usize;
assert!(caller_index < QEMU_S139_CALLERS);
let endpoint_authority = crate::task::current_task_cnode()
.and_then(|cnode| cnode.lookup_capability_by_id(state.endpoint_id).copied())
.filter(|capability| {
capability.owner == caller_task
&& capability.parent == Some(state.endpoint_id)
&& capability.generation != 0
&& capability.rights.contains(CapabilityRights::ENDPOINT_SEND)
})
.expect("S139 caller SEND authority");
let reply_cap =
crate::ui::capability::mint_reply_endpoint_for_call(caller_task, state.endpoint_id)
.expect("S139 caller reply mint");
if caller_index == QEMU_S139_BATCH {
let full = QEMU_S139_TRANSPORT.lock().snapshot();
assert_eq!(full.queued, QEMU_S139_BATCH);
assert_eq!(full.in_flight, QEMU_S139_BATCH);
let overflow_message = IpcMessage {
label: S139_EVENT_LABEL,
badge: caller_task,
data: [QEMU_S139_CALLERS as u64, 1, 1, 0x5a09],
};
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s381_irq_guard = crate::arch::aarch64::IrqGuard::new();
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s381_writer_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s381_qemu_s139_queue_full_writer_guard_integration::acquire_s381_production_scheduler_writer_access()
.unwrap_or_else(|error| {
panic!(
"S381 QEMU S139 QueueFull scheduler writer guard failed closed: {:?}",
error
)
});
assert_eq!(
unsafe {
(&mut *core::ptr::addr_of_mut!(crate::task::scheduler::SCHEDULER))
.ipc_kernel_call_and_wait(
state.endpoint_id,
endpoint_authority.generation,
reply_cap.id,
overflow_message,
)
},
Err(crate::ipc::IpcError::QueueFull)
);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s381_writer_access);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s381_irq_guard);
assert!(crate::ui::capability::discard_unpublished_reply_endpoint(
reply_cap.id,
Some(caller_task),
));
QEMU_S139_CALL_RESULTS[caller_index].store(QEMU_S139_QUEUE_FULL, Ordering::Release);
unsafe { crate::task::task_exit() }
}
let now_tick = crate::arch::aarch64::exceptions::TICKS.load(Ordering::Acquire);
let lease = QEMU_S139_TRANSPORT
.lock()
.claim_next(now_tick, 1 << 20)
.expect("S139 exact broker lease");
assert_eq!(lease.event().sequence_id(), caller_index as u64 + 1);
let message = IpcMessage {
label: S139_EVENT_LABEL,
badge: caller_task,
data: [
lease.event().sequence_id(),
lease.event().source_event_id(),
lease.event().oom_epoch(),
lease.event().fingerprint(),
],
};
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s380_irq_guard = crate::arch::aarch64::IrqGuard::new();
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
let s380_writer_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s380_qemu_s139_exact_ack_writer_guard_integration::acquire_s380_production_scheduler_writer_access()
.unwrap_or_else(|error| {
panic!(
"S380 QEMU S139 exact-ACK scheduler writer guard failed closed: {:?}",
error
)
});
let reply = unsafe {
(&mut *core::ptr::addr_of_mut!(crate::task::scheduler::SCHEDULER)).ipc_kernel_call_and_wait(
state.endpoint_id,
endpoint_authority.generation,
reply_cap.id,
message,
)
}
.expect("S139 strict EL0 exact reply transport");
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s380_writer_access);
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
drop(s380_irq_guard);
assert_eq!(reply.label, S139_EXACT_ACK_LABEL);
assert_eq!(reply.badge, state.supervisor_task);
assert_eq!(reply.data, message.data);
let ack_tick = crate::arch::aarch64::exceptions::TICKS.load(Ordering::Acquire);
assert_eq!(
QEMU_S139_TRANSPORT
.lock()
.acknowledge_exact(lease, ack_tick),
Ok(lease.event())
);
assert_ne!(
QEMU_S139_TRANSPORT
.lock()
.expire_exact(lease, ack_tick.wrapping_add(1)),
Ok(lease.event()),
);
assert!(matches!(
QEMU_S139_TRANSPORT
.lock()
.expire_exact(lease, ack_tick.wrapping_add(1)),
Err(RuntimeOomTransportError::StaleLease)
));
QEMU_S139_CALL_RESULTS[caller_index].store(lease.event().sequence_id(), Ordering::Release);
unsafe { crate::task::task_exit() }
}snippet sha256: c7188d47604f…file sha256: 3348a0639f2c…focus sha256: 8bd2600a833f…
02 · Ortak exclusion üyeliği
S247 production writer guard
tam Rust öğesiL204–L216
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s380_qemu_s139_exact_ack_writer_guard_integration.rs::acquire_s380_production_scheduler_writer_access
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
pub fn acquire_s380_production_scheduler_writer_access(
) -> Result<G8lS380ProductionSchedulerWriterAccess, 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(G8lS380ProductionSchedulerWriterAccess { _access: access })
}snippet sha256: fa9a47ba554a…file sha256: d842d26a1600…
03 · Doğrulayan test kodu
Operations komutuna bağlı focused test
tam Rust öğesiL460–L472
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s380_qemu_s139_exact_ack_writer_guard_integration.rs::boundary_has_exactly_one_s380_acquire_and_success_release_pair
#[test]
fn boundary_has_exactly_one_s380_acquire_and_success_release_pair() {
let caller = s139_caller();
assert_eq!(
caller
.matches("acquire_s380_production_scheduler_writer_access")
.count(),
1
);
assert_eq!(caller.matches("drop(s380_writer_access)").count(), 1);
assert_eq!(caller.matches("drop(s380_irq_guard)").count(), 1);
}snippet sha256: c41618efef6e…file sha256: 3df2c1917f12…
04 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL8742–L8916
website/src/lib/operations.ts::g8l-s380-qemu-s139-exact-ack-writer-guard-integration-partial
{
id: "g8l-s380-qemu-s139-exact-ack-writer-guard-integration-partial",
date: "2026-08-29",
sequence: 380,
status: "passed",
umbrella_status: "partial",
title: "S380 · QEMU S139 exact-ACK production writer guard integration",
summary:
"S380, qemu_s139_multi_event_caller içindeki source-order ikinci ve normal exact-ACK ipc_kernel_call_and_wait(...) mutable scheduler sınırını S379 ve 44 production reader'ın kullandığı aynı statik S247 state word'e bağlar. Immutable S139 transport snapshot'ı, nonzero/current caller identity, caller-owned Endpoint SEND authority, linked one-shot reply-cap, terminal QueueFull predecessor, exact broker lease ve immutable event message writer'dan önce tamamlanır. Normal yolda dedicated IRQ guard ardından gerçek per-CPU kimliğiyle yalnız CPU0 için S380 exclusive writer alınır; exact tek mutable SCHEDULER aliası ikinci CALL'i taşır. Successful reply döndükten hemen sonra writer ve IRQ bırakılır; exact ACK label/badge/data, broker acknowledge, stale-expiry reddi ve result publication membership dışındadır. Tarihsel S310 exact-ACK authority audit'i, S311 QueueFull audit'i, S379 timed CALL ve sıradaki S381 QueueFull production membership'i ayrıdır. Guarded writer 53/69, açık writer 16, provider authority 0 ve whole-scheduler exclusion false'dur. S139 caller board-qemu, wrapper ise RPi5-only olduğundan supported-profile runtime observation=0 açıkça korunur.",
evidence: [
"İlk canonical focused komut ayrı S380 module/source registration ve production boundary henüz yokken compile RED verdi; S380, S379 kartına veya tarihsel S310 audit'ine topluca eklenmedi.",
"İlk RED exit 101 verdi; log 2033 B / d25431fc52deecab4ef7859b9db28e818f1cf2d913ed7641cfa8e5e132110c77 SHA-256'dır.",
"Focused sözleşme 42 bağımsız assertion'a genişletildi. İlk geniş koşu 41/42 PASS verdi; tek RED production davranışı değil, proof içindeki exact 'Sixteen production writers remain' cümlesinin satır bölünmesiydi.",
"Envanter, source membership veya acceptance gevşetilmedi; yalnız kanıt metninin exact source-contract yazımı düzeltildi.",
"Final focused sonuç 42/42 PASS / 0 fail'dir; log 3476 B / 02e69c757ea1a5359f1a47e183b0495c84c8a3cf94ba758c0561f6b0ed2b36fd SHA-256'dır.",
"İlk geniş 41/42 logu 4259 B / b9232e3540856de2d795700730d91a16dc8e6821b8c1a6e412872b767fe95d1e SHA-256 ile korunur; RED tarihçesi PASS ile silinmez.",
"S380 modülü S379 typed preflight outcome'unu yeniden doğrular; inherited 44 reader + 52 guarded writer + 17 open writer snapshot'ı saparsa InventoryDrift ile fail-closed kapanır.",
"S380 başarı outcome'u FiftyThirdWriterGuardedAwaitingRemaining'dir ve exact 44 guarded reader + 53/69 guarded writer + 16 open writer envanterini sabitler.",
"Production wrapper exact target_arch=aarch64, target_os=none, feature=board-rpi5 cfg kesişimindedir; host executor production runtime observation diye sunulmaz.",
"acquire_s380_production_scheduler_writer_access gerçek try_current_cpu_id sonucunu kullanır; caller-supplied production CPU parametresi yoktur ve CPU0 dışı InvalidCpu verir.",
"Writer lease S247_PRODUCTION_WHOLE_SCHEDULER_ACCESS_GATE üzerinde try_acquire_exclusive_for_valid_cpu ile alınır; yeni static veya ikinci exclusion domain yaratılmaz.",
"Host executor callback'i exact bir kez çağırır; canlı reader ya da writer callback'ten önce ExclusiveBusy üretir, invalid CPU fail-closed kapanır ve callback error RAII lease'i bırakır.",
"S379 ve S380 token'ları aynı shared gate üzerinde monoton ve ayrıdır; iki kapı tek transaction, dispatcher veya Kod kartı değildir.",
"Exact production/source giriş sınırı kernel/src/main.rs içindeki qemu_s139_multi_event_caller fonksiyonudur; S380 başka QEMU fixture'larını coverage'a katmaz.",
"QEMU_S139_TRANSPORT_STATE snapshot'ı writer öncesinde local Copy state'e alınır; scheduler aliası transport state üretmek için kullanılmaz.",
"current_task_id nonzero caller scalar'ı writer öncesinde alınır; caller controller ve supervisor task kimliklerinden farklı olmak zorundadır.",
"Current CNode lookup exact endpoint id için caller ownership, parent endpoint relation, nonzero generation ve CapabilityRights::ENDPOINT_SEND koşullarını writer öncesinde doğrular.",
"Authority yoksa exact expect terminali S380 IRQ/writer acquisition'dan önce kapanır; stale veya foreign SEND grant writer'ı açmaz.",
"Caller-owned linked one-shot reply endpoint writer öncesinde mint edilir; reply id ve endpoint linkage ikinci CALL'e immutable scalar olarak taşınır.",
"caller_index == QEMU_S139_BATCH predecessor dalı normal S380 yolundan önce kapanır; full snapshot queued/in_flight değerleri exact batch'e eşit olmalıdır.",
"QueueFull predecessor kendi immutable overflow message'ını kurar, source-order ilk ipc_kernel_call_and_wait çağrısında exact QueueFull bekler, unpublished reply'ı discard eder, sentinel sonucu yayımlar ve task_exit ile terminal olur.",
"S380 acquire yalnız QueueFull terminalinden sonraki normal yoldadır; ilk CALL S381 için ayrı açık production membership olarak kalır.",
"Normal yol now_tick'i immutable scalar'a alır ve broker claim_next ile exact lease edinir; event sequence caller_index+1 ile writer öncesinde eşleşir.",
"IpcMessage label, caller badge ve sequence/source-event/oom-epoch/fingerprint tail alanlarını writer öncesinde local immutable value olarak kurar.",
"Dedicated s380_irq_guard mutable scheduler aliasından önce local interrupt re-entry'yi kapatır; s380_writer_access IRQ guard'dan sonra ve alias kurulmadan önce alınır.",
"qemu_s139_multi_event_caller odağında exact bir acquire_s380_production_scheduler_writer_access, bir mutable SCHEDULER aliası ve source-order ikinci ipc_kernel_call_and_wait forward'ı vardır.",
"CALL exact endpoint id, authority generation, reply-cap id ve immutable message'i taşır; S380 production membership argümanları veya event semantiğini değiştirmez.",
"Exact normal CALL başarılı reply dönmeden writer bırakılmaz; .expect('S139 strict EL0 exact reply transport') membership içinde terminal başarı sınırıdır.",
"Başarıdan hemen sonra drop(s380_writer_access), ardından drop(s380_irq_guard) gelir; exact ACK assertions veya broker lock shared scheduler writer altında çalışmaz.",
"reply.label exact S139_EXACT_ACK_LABEL, reply.badge exact supervisor task ve reply.data immutable request message tail'i ile writer release sonrasında doğrulanır.",
"Broker acknowledge_exact exact lease/event eşleşmesini writer dışında commit eder; ardından expire_exact stale lease'i iki ayrı gözlemle reddeder.",
"QEMU_S139_CALL_RESULTS publication ve terminal task_exit S380 membership dışındadır; scheduler writer kapsamı broker/result yan etkilerine genişletilmez.",
"Tarihsel S310 writer-authority audit model/source sözleşmesidir; canlı S380 membership'i S310 sequence kimliğini veya tarihsel 69-open-writer snapshot'ını değiştirmez.",
"Tarihsel S311 ilk QueueFull CALL authority audit'idir; S380 yalnız ikinci normal exact-ACK CALL'i kapatır ve S381 production guard'ını önceden sahiplenmez.",
"S379 EL0 timed CALL başka handler, deadline rollback ve context-switch release/rejoin yaşam döngüsü taşır; S380 bunun token'ını veya coverage'ını paylaşmaz.",
"CPU1 coverage service timer zincirinde S379'dan sonra ve S242 sender service'ten önce S380 preflight'ını yürütür; S245 view yalnız inspect edilir, request take edilmez ve writer acquire yoktur.",
"S139 caller yalnız feature=board-qemu altında derlenir; S380 production acquire satırları aynı öğede yalnız feature=board-rpi5 altında etkinleşir.",
"Desteklenen profil matrisi board-qemu ile board-rpi5'i birlikte çalıştırmadığından exact source seam hiçbir desteklenen profilde runtime invoke edilmiş sayılmaz.",
"Bu cfg ayrımı gizlenmez: supported-profile runtime observations=0 ve production direct supported caller path=0'dır; host executor yalnız gate davranışını kanıtlar.",
"Context switch boyunca canlı RPi5 writer lease'i gözlemlenmedi; future supported seam release/rejoin veya çağrı öncesi dar commit tasarımını ayrıca kanıtlamalıdır.",
"Seçili regresyon tarihsel S310, S311, komşu S379, yeni S380 ve gerçek runtime_oom_multi_event_transport gruplarını seri çalıştırdı.",
"Final seçili regresyon 5 grup / 134/134 PASS / 0 fail verdi; log 11702 B / 77a25e708e5f92734856b47d7ec7aa9299057dcc1bf827f79b694b6e751906ec SHA-256'dır.",
"S238–S380 dependency listesi 144 gruptur; iki bağımsız seri koşunun her biri 3406/3406 PASS / 0 fail verdi.",
"İki kanonik dependency özeti 30969 B ve ce038ca4f766352ee5c7bd4b79474ad486d0dfa35cc5a7039c47547d4617b844 SHA-256 ile byte-eşittir.",
"Exact yedi frozen G8h assertion dışındaki seri workspace 343 sonuç grubu / 5277 PASS / 0 fail / 7 filtered verdi.",
"Filtered workspace log 524837 B / 92b703e3342ca99262e6155dc3b06d6f347a058c7e9c6bf8c3d458cf9664b004; summary 25948 B / ab41b3c415147a78d7288fb85e760dc8d25993ab673676de224464a9b8689cef SHA-256'dır.",
"Filtresiz workspace exit 101 ile yalnız frozen S96 wiring_does_not_mutate_timer_gic_boot_or_expand_runtime_scope reddinde durdu: 296 grup / 5022 PASS / 1 fail; global workspace GREEN iddia edilmez.",
"Filtresiz log 493278 B / 65c7416b9ad83e88800045c00cbb7c14408e1b5600a72e715fceacfa16cf339a; summary 22422 B / 185cd1e9bfa2d6593a943760965baa4a9396d1b59b17e8e4727aa9248736262b SHA-256'dır.",
"Fresh izole AArch64 profilleri 4/4 exit 0 verdi. board-qemu log 112195 B / d23ea4d6714270bd80a7394b3a5f36e9d9061e95c5fc676e0eee134a1bb5ebff, 293 warning header; ELF 16813208 B / 72cc3e845e41d78c63d6ae526ec865036fd01cfc0ca246bc93700e4ed0f7137a'dır.",
"board-rpi4 log 150884 B / 244c3d402d3caabb56fbeaa65fb922d762424069edf9c1427d6f1bd08f122bd8, 391 warning header; ELF 11925312 B / 3d1ef01770370177ef7ceb3926d3e7351fa3323e5b46f84da647347664502487'dür.",
"board-rpi5 log 629495 B / cd818f247c5dfbcf0a58bad9b85561c61f2cb4a31543680852e6c1ac7c5013be, 1434 warning header; ELF 15158496 B / 6df8b14cecdf61a93c8e11936cac80fc811b7e7157408737b2ca924e5cf83068'dir.",
"board-rpi5+smp log 629385 B / fcff937a38f90961f04f7165ac95b0a06a794e7ceb6ad7ecb39a29800e633b82, 1434 warning header; ELF 15165056 B / 87084600f2ec379fc73172528ecc867d54d703c9093d33fa8305f706f5522b84'dür. Zero-warning iddiası yoktur.",
"CARGO_INCREMENTAL=0 make verify-qemu exit 0 verdi. 116354 B log / b14b4d760b7c3d54b8732abd189969335ae01f8b6cb8a66731fa5f8042ff082b SHA-256 ile W^X 31/31, S130–S154+S271, RuntimePmm, EL0x4096, IPC reply 20/20 ve scheduler SEC5 PASS'tir.",
"Ortak board-qemu regresyonu RPi5-only S380 wrapper invocation kanıtı değildir; supported-profile runtime observation=0 kalır.",
"cargo fmt --all -- --check exit 0 ve boş çıktı verdi; global Rust format kapısı PASS'tir.",
"Source-bound Kod hedefi S1–S380 380/380 ayrı kapı, pre-S328 S1–S327 327/327, missing=none ve duplicate=0'dır. S380 kartı S310/S311/S379/S381 kartlarıyla birleştirilmez.",
"S380 Code kartı tam qemu_s139_multi_event_caller Rust öğesi içinde exact ikinci normal CALL'in upstream state→authority→reply mint→QueueFull terminal→lease→message→IRQ→writer→single alias→success→release→ACK/broker sınırını yayımlar.",
"Ayrı S380 guard modülü, focused test, proof ve exact Operations object'i kendi source excerpt'leriyle yayımlanır; her excerpt repository path, satır aralığı, file SHA-256 ve snippet SHA-256 taşır.",
"S1–S327 tarihsel kapılar Operations sequence kimliğiyle 327/327 ayrı kart olarak korunur; S328 öncesi kayıtlar generic placeholder içinde birleştirilmez veya S328 kartına eklenmez.",
"S380 sırasında güç, SD kart, Mac kart erişimi, UART capture, raw validation, archive veya promotion yapılmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S380=NO.",
"S380 bazlı bağlayıcı olmayan planlama görünümü R1 S380–S410, R2 S435–S485, R3 S564+, kaba S540–S590 ve risk paylı merkez yaklaşık S565'tir; ürün veya sıra taahhüdü değildir.",
"İlk source-bound registry S1–S380 aralığında 380/380 unique kapı, 1088 exact excerpt, pre-S328 S1–S327 327/327, missing=none ve duplicate=0 üretti. JSON 8307529 B / 17bba78f925c78a643a7ba41de0ed8a1ff11766b31ef3f1ab9cc5b6edbabb549 SHA-256; registry content SHA-256 a78594a1e94a25160fe32fbe1e9ee4335e4a981999f79c1c19df7f35a4b5f26e'dir.",
"Website kabulü 677/677 PASS, lint PASS, boş çıktılı TypeScript exit 0 ve 24/24 static page verdi; export 201 dosya, Timeline/yol-haritasi 219 ayrı gate-policy kartı ve S380 core policy 12932 karakter / 13461 UTF-8 byte'tır.",
"Website test logu 62859 B / 5ac71630d75078e06b66ebd6f62a61e4cb75cbbd67ae37f55841b4ca7d8f4d97; lint 218 B / 79c084453e339ceb2efe76ed96d1d68be8ac51442957a7a048fd17dba3067ba2; TypeScript 0 B / e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855; build 1213 B / c3af48093a2aabf9581164d9ac71667a0f8d96f35cc0301eefd8f804bd4b4b7c SHA-256'dır.",
"Production/main deployment 73210e97-78fb-4963-b815-964d2c5609ae ile 116 uploaded + 84 existing = 200 asset yayımlandı; deploy logu 1823 B / e38d0c4ecd8bf5ad6f8b172fb074256b5e76f47475d2c1a8ca3225b93a3fb225 SHA-256'dır.",
"Cache-busted custom-domain /code/, /operations/, /timeline/ ve /yol-haritasi/ HTTP 200 ve deploy-sonrası yerel out'a raw byte-exact PASS verdi. /code/ 23463593 B / dc684cbf95b8ba4b9cdbe37b452fac4d47a00e7c4499d63d4002c8adf05d256d; /operations/ 13722782 B / f9652e27cffa4d010931679e3b0bf53ecaed8d73864cc375dd4bfacbe9b7efbe; /timeline/ 5525015 B / 6bd7474ab9a7b8d896d6d054a6fc95cdeb759f318972aa7b685ecbfaecac44f4; /yol-haritasi/ 5524763 B / 5fd7aa731ec0b1279c6aee87bee4952ca9b04a9873e1149829b7b326f8778959 SHA-256'dır.",
"Canlı /code no-transform header'ı taşır; literal kart sayımı total=380, unique=380, min=S1, max=S380, pre-S328=327, missing=none, duplicate=0, S1=1, S327=1, S328=1, S379=1, S380=1 ve S381=0 verdi. Canlı Timeline policy kartı 219'dur.",
"İlk publication artifact dizini /tmp/aselsanos-s380-web-initial.X2oQdE'dir. Immutable 73210e97 hostname probe'u curl exit 28 / HTTP 000 verdi; custom-domain PASS bunun yerine geçirilmez. Evidence-sync deployment ölçülmüş ilk snapshot'ı yayımlar ve self-reference üretmemek için kendi kimliğini bu snapshot metnine geri yazmaz.",
],
commands: [
"cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s380_qemu_s139_exact_ack_writer_guard_integration -- --test-threads=1",
"run S310, S311, S379, S380 and runtime_oom_multi_event_transport serially",
"run four fresh isolated AArch64 profiles; run S238-S380 dependency list twice; run filtered and unfiltered serial workspace audits; CARGO_INCREMENTAL=0 make verify-qemu",
"python3 scripts/render-project-status.py --write && python3 scripts/render-project-status.py --check; cargo test -p aselsan_microkernel_simulation --test project_status_manifest -- --test-threads=1",
"npm run code:generate && npm test && npm run lint && npx tsc --noEmit && npm run build",
"npm run deploy; cache-busted curl + raw cmp for /code/, /operations/, /timeline/ and /yol-haritasi/",
],
terminalSessions: [
{
id: "g8l-s380-focused-source-contract",
title: "S380 focused QEMU S139 exact-ACK writer membership",
commandLines: [
"cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s380_qemu_s139_exact_ack_writer_guard_integration -- --test-threads=1",
],
outputLines: [
"initial result: compile RED; separate S380 module/source registration and production boundary absent",
"first expanded result: 41/42 PASS; one exact proof-text line-wrap assertion RED",
"final result: ok; S380 focused 1 group / 42 passed / 0 failed",
"shared S247 gate: 44 guarded readers + 53/69 guarded writers; 16 writers open",
"upstream state/identity/SEND/reply mint/QueueFull terminal/lease/message < S380 writer < exact second CALL success < writer/IRQ release < ACK/broker/result",
"board-qemu caller and RPi5-only wrapper do not intersect in a supported runtime profile; observations=0",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8l-s380-selected-s139-regression",
title:
"S380 selected S139 authority, QueueFull and transport regression",
commandLines: [
"run S310, S311, S379, S380 and runtime_oom_multi_event_transport serially",
],
outputLines: [
"result: 5 groups / 134 passed / 0 failed",
"S310 exact-ACK audit remains historical; S311 QueueFull audit remains separate",
"S379 timed CALL membership remains separate; S380 owns only the second normal exact-ACK CALL",
"real transport regression preserves queue/lease/ACK semantics",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8l-s380-full-acceptance",
title: "S380 four-profile, dependency, workspace and QEMU acceptance",
commandLines: [
"run four fresh isolated AArch64 profile builds with CARGO_INCREMENTAL=0",
"run S238-S380 dependency list twice and compare canonical summaries",
"run filtered and unfiltered serial workspace audits",
"CARGO_INCREMENTAL=0 make verify-qemu",
],
outputLines: [
"four AArch64 profiles: 4/4 exit 0; individual log/ELF byte and SHA-256 identities recorded",
"dependency: 144 groups / 3406/3406 twice; 30969-byte canonical summaries byte-equal",
"filtered workspace: 343 groups / 5277 PASS / 0 fail / 7 frozen filtered",
"unfiltered workspace: exit 101; 296 groups / 5022 PASS / 1 frozen S96 failure; global GREEN=false",
"QEMU: W^X 31/31 + S130-S154/S271 + RuntimePmm + EL0x4096 + IPC 20/20 + scheduler SEC5 PASS",
"QEMU common regression is not an S380 RPi5 runtime observation",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8l-s380-production-publication",
title: "S380 source-code registry and production publication",
commandLines: [
"npm run code:generate && npm test && npm run lint && npx tsc --noEmit && npm run build",
"npm run deploy",
"cache-busted curl + raw cmp for /code/, /operations/, /timeline/ and /yol-haritasi/",
],
outputLines: [
"source registry: S1-S380 380/380 unique gates; 1088 exact excerpts; pre-S328 S1-S327 327/327; missing=none; duplicate=0",
"S380 code layers: complete qemu_s139_multi_event_caller + exact second normal CALL focus + S247 guard + focused test + proof + Operations object",
"website: 677/677 PASS; lint PASS; TypeScript empty; static pages 24/24; files 201; Timeline cards 219",
"deployment 73210e97-78fb-4963-b815-964d2c5609ae; 116 uploaded + 84 existing = 200 assets",
"custom-domain four routes HTTP 200 and raw byte-exact; /code no-transform; live code 380/380; pre-S328 327/327; missing=none; duplicate=0; S380=1; S381=0",
"immutable hostname curl exit 28 / HTTP 000; custom-domain result remains the publication authority",
],
exitCode: 0,
outputMode: "complete",
},
],
terminalSessionsNote:
"TAM ÇIKTI kayıtları S380 focused 42/42, seçili 5 grup / 134 PASS, iki kez 144 grup / 3406 PASS, filtreli workspace 343 grup / 5277 PASS, filtresiz yalnız frozen-S96 RED, dört AArch64 profil 4/4, ortak QEMU kabulü ve production publication'ı ayrı oturumlar halinde taşır. /code S1–S380 aralığını 380 ayrı source-bound kart olarak yayımlar; özellikle S1–S327 tarihsel kapsam 327/327 tekildir. Dört custom-domain rota HTTP 200/raw byte-exact, missing=none, duplicate=0, S380=1 ve S381=0'dır; S381 ayrı ve açık kalır.",
limitations: [
"S380 yalnız qemu_s139_multi_event_caller içindeki source-order ikinci normal exact-ACK CALL sınırını kapatır; S381 QueueFull ve kalan 16 writer açıktır.",
"board-qemu caller ile RPi5-only production wrapper desteklenen tek bir profilde kesişmez; supported-profile runtime invocation=0'dır.",
"Context-switch capable supported RPi5 seam için lease release/rejoin yaşam döngüsü henüz kanıtlanmadı; source membership bunu ikame etmez.",
"Production provider authority=0, whole-scheduler exclusion=false ve S244 admission publication yoktur.",
"Transient contention liveness/soak, default-parallel PTY determinism ve Generic SMP cross-CPU arbitration ürün kabulü değildir.",
"CPU2/CPU3, migration, load balancing, hotplug ve cross-CPU ASID/TLB arbitration açıktır.",
"Filtresiz workspace frozen S96 source assertion'ı nedeniyle global GREEN değildir.",
"Fiziksel RPi latency/power/thermal, UART/raw ve product threshold kabulü yapılmadı; RUNBOOK_EXECUTED_IN_S380=NO.",
"R1/R2/R3 sıra görünümü bağlayıcı olmayan planlama projeksiyonudur; ürün teslim taahhüdü değildir.",
],
},snippet sha256: 785a897a2328…file sha256: 9726dbf00f84…
Focused test komutu
cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s380_qemu_s139_exact_ack_writer_guard_integration -- --test-threads=1proof: docs/M8.1-RPi5-G8l-S380-QEMU-S139-Exact-ACK-Writer-Guard-Integration-Proof.md
Registry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06