S381 · SOURCE-BOUND GATE EVIDENCE
S381 · QEMU S139 QueueFull production writer guard integration
tam production Rust öğesi + exact acquire→release odağı → S247 guard modülü → Operations-bound focused test Bu sayfa yalnız S381 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S381Production writer guardOperations id exactsource SHA exacttest target exact
operation: g8l-s381-qemu-s139-queue-full-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 öğesiL13120–L13258kapı odağı L13163–L13184
kernel/src/main.rs::qemu_s139_multi_event_caller
Tam kapsayıcı Rust öğesi gösterilir; vurgulu blok yalnız S381 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: cc118c00d93c…focus sha256: f39b4eab7fc1…
02 · Ortak exclusion üyeliği
S247 production writer guard
tam Rust öğesiL207–L219
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s381_qemu_s139_queue_full_writer_guard_integration.rs::acquire_s381_production_scheduler_writer_access
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
pub fn acquire_s381_production_scheduler_writer_access(
) -> Result<G8lS381ProductionSchedulerWriterAccess, 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(G8lS381ProductionSchedulerWriterAccess { _access: access })
}snippet sha256: 44e26dcbc31a…file sha256: 279663f66c7d…
03 · Doğrulayan test kodu
Operations komutuna bağlı focused test
tam Rust öğesiL454–L466
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s381_qemu_s139_queue_full_writer_guard_integration.rs::boundary_has_exactly_one_s381_acquire_and_release_pair
#[test]
fn boundary_has_exactly_one_s381_acquire_and_release_pair() {
let branch = queue_full_branch();
assert_eq!(
branch
.matches("acquire_s381_production_scheduler_writer_access")
.count(),
1
);
assert_eq!(branch.matches("drop(s381_writer_access)").count(), 1);
assert_eq!(branch.matches("drop(s381_irq_guard)").count(), 1);
}snippet sha256: 86405d63032d…file sha256: 215515fd69a2…
04 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL8560–L8741
website/src/lib/operations.ts::g8l-s381-qemu-s139-queue-full-writer-guard-integration-partial
{
id: "g8l-s381-qemu-s139-queue-full-writer-guard-integration-partial",
date: "2026-08-29",
sequence: 381,
status: "passed",
umbrella_status: "partial",
title: "S381 · QEMU S139 QueueFull production writer guard integration",
summary:
"S381, qemu_s139_multi_event_caller içindeki source-order ilk ve exact QueueFull bekleyen ipc_kernel_call_and_wait(...) mutable scheduler sınırını S380 ile 44 production reader'ın kullandığı aynı statik S247 state word'e bağlar. Immutable S139 transport state'i, nonzero/current caller identity, caller-owned normal Endpoint SEND authority, linked one-shot reply-cap, caller_index terminal seçimi, exact full broker snapshot'ı ve immutable overflow message writer'dan önce tamamlanır. Yalnız QueueFull dalında dedicated IRQ guard ardından gerçek per-CPU kimliğiyle CPU0-only S381 exclusive writer alınır; exact tek mutable SCHEDULER aliası ilk CALL'i taşır. Sonuç exact Err(IpcError::QueueFull) olduktan hemen sonra writer ve IRQ bırakılır; unpublished reply discard, QueueFull sentinel publication ve terminal task_exit membership dışındadır. Helper kapasite hatasını caller scheduler'dan çekilmeden, CALL park publication veya context switch oluşmadan döndürür. Tarihsel S311 QueueFull authority audit'i, S380 normal exact-ACK production membership'i ve sıradaki S382 QEMU S148 post-arbitration signal üyeliği ayrıdır. Guarded writer 54/69, açık writer 15, 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ı S381 module/source registration ve production QueueFull boundary henüz yokken compile RED verdi; S381, S380 kartına veya tarihsel S311 audit'ine topluca eklenmedi.",
"İlk RED exit 101 verdi; log 2043 B / d903133b551ce14f814d6f5c79a5549b9b8ef11b92580e4b1ed58f240129ca2f SHA-256'dır.",
"RED iki exact eksikliği gösterdi: kernel S381 modül kaynak dosyası yoktu ve simulation crate bu sequence-bound modülü export etmiyordu.",
"İlk production uygulaması canonical focused sözleşmenin tamamını karşıladı; ara davranış veya assertion RED'i oluşmadı.",
"Final focused sonuç 42/42 PASS / 0 fail'dir; log 3426 B / 6958f3cfe1afb497255508fd7319b21956979964b8dac861d8af6709fb9f5fbc SHA-256'dır.",
"Ürün, coverage veya exact source-order assertion'ı gevşetilmedi; compile RED tarihçesi final PASS ile silinmez.",
"S381 modülü S380 typed preflight outcome'unu yeniden doğrular; inherited 44 reader + 53 guarded writer + 16 open writer snapshot'ı saparsa InventoryDrift ile fail-closed kapanır.",
"S381 başarı outcome'u FiftyFourthWriterGuardedAwaitingRemaining'dir ve exact 44 guarded reader + 54/69 guarded writer + 15 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_s381_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 veya writer callback'ten önce ExclusiveBusy üretir, invalid CPU fail-closed kapanır ve callback error RAII lease'i bırakır.",
"S380 ve S381 token'ları aynı shared gate üzerinde monoton ve ayrıdır; iki kapı tek transaction, range 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; S381 başka QEMU fixture'larını coverage'a katmaz.",
"QEMU_S139_TRANSPORT_STATE writer öncesinde local Copy state'e alınır; mutable scheduler aliası transport state üretmek için kullanılmaz.",
"current_task_id nonzero caller scalar'ı writer öncesinde alınır; caller controller ve strict supervisor task kimliklerinden farklı olmak zorundadır.",
"Caller index atomic fetch-add ile alınır ve QEMU_S139_CALLERS üst sınırı writer öncesinde doğrulanı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 S381 IRQ/writer acquisition'dan önce kapanır; stale, foreign veya SEND hakkı olmayan capability writer'ı açmaz.",
"Caller-owned linked one-shot reply endpoint writer öncesinde mint edilir; reply id ve endpoint linkage ilk CALL'e immutable scalar olarak taşınır.",
"S381 yalnız caller_index == QEMU_S139_BATCH dalındadır; normal caller'lar bu membership'i almaz ve S380 exact-ACK yoluna ilerler.",
"QueueFull dalındaki QEMU_S139_TRANSPORT snapshot writer öncesinde alınır; full.queued exact QEMU_S139_BATCH olmalıdır.",
"Aynı snapshot full.in_flight alanını da exact QEMU_S139_BATCH değerine bağlar; yalnız queue-length gözlemi yeterli kabul edilmez.",
"Immutable overflow_message exact S139 event label, caller badge ve [QEMU_S139_CALLERS, 1, 1, 0x5a09] tail'i ile writer öncesinde kurulur.",
"Dedicated s381_irq_guard mutable scheduler aliasından önce local interrupt re-entry'yi kapatır; s381_writer_access IRQ guard'dan sonra ve alias kurulmadan önce alınır.",
"QueueFull dalında exact bir acquire_s381_production_scheduler_writer_access, bir mutable SCHEDULER aliası ve bir source-order ilk ipc_kernel_call_and_wait forward'ı vardır.",
"CALL original state.endpoint_id, endpoint_authority.generation, reply_cap.id ve immutable overflow_message değerlerini değişmeden taşır.",
"Source-order ikinci ipc_kernel_call_and_wait normal S380 exact-ACK yolunda kalır; S381 focus veya release range'i ikinci aliasa taşmaz.",
"İlk CALL sonucu exact Err(crate::ipc::IpcError::QueueFull) ile assert edilir; NoReceiver, InvalidCapability veya başka hata QueueFull kabulüne çevrilmez.",
"Exact QueueFull sonucu doğrulanmadan writer bırakılmaz; assertion drift'i fail-closed panic üretir.",
"Exact sonuçtan hemen sonra drop(s381_writer_access), ardından drop(s381_irq_guard) gelir; nested guard sırası ters çevrilmez.",
"discard_unpublished_reply_endpoint exact reply id ve Some(caller_task) ownership ile writer/IRQ release sonrasında çağrılır.",
"QEMU_S139_CALL_RESULTS[caller_index] exact QEMU_S139_QUEUE_FULL sentinel'ını membership dışında Release ordering ile yayımlar.",
"Terminal task_exit sentinel publication'dan sonra ve membership dışında yürür; S381 scheduler writer task-exit mutasyonunu sahiplenmez.",
"Scheduler ipc_kernel_call_and_wait helper'ı kendi IrqGuard ve IPC_TRANSACTION_LOCK sırasını korur; S381 yeni nested scheduler transaction üretmez.",
"Helper current caller identity ve current_endpoint_authority_is_live ENDPOINT_SEND sözleşmesini transaction altında yeniden doğrular.",
"ENDPOINT_REGISTRY normal endpoint shape'i ve linked reply relation transaction altında yeniden doğrulanır; reply endpoint CALL hedefi olamaz.",
"Endpoint call(caller_task, reply_cap_id, message) sonucu CallError::QueueFull veya ReplyTableFull ise exact IpcError::QueueFull'a çevrilir.",
"QueueFull map_err `?` ile caller task scheduler koleksiyonundan çekilmeden döner; partial blocked-task veya ready-queue mutation oluşmaz.",
"finish_call_park, caller withdrawal ve switch_after_ipc_park yalnız successful CALL publication sonrasındadır; S381 exact capacity error yolunda erişilemez.",
"Bu nedenle S381 membership'i context switch boyunca taşınmaz; exact immediate error boundary içinde dar ve tek ömürlüdür.",
"Tarihsel S311 writer-authority audit model/source sözleşmesidir; canlı S381 membership'i S311 sequence kimliğini veya tarihsel 69-open-writer snapshot'ını değiştirmez.",
"S380 yalnız normal exact-ACK CALL'i kapatır; QueueFull dalında s380_writer_access yoktur ve normal dalda s381 acquire yoktur.",
"S379 EL0 timed CALL başka handler, deadline rollback ve context-switch release/rejoin yaşam döngüsü taşır; S381 bunun token'ını veya coverage'ını paylaşmaz.",
"CPU1 coverage service timer zincirinde S380'den sonra ve S242 sender service'ten önce S381 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; S381 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 shared-gate davranışını kanıtlar.",
"Seçili regresyon tarihsel S310, S311, komşu S379, S380, yeni S381 ve gerçek runtime_oom_multi_event_transport gruplarını seri çalıştırdı.",
"Final seçili regresyon 6 grup / 176/176 PASS / 0 fail verdi; log 15741 B / b8ef113bc59c972ad9fac1ceb897a1082125ef7df7006732f976a792d95c7283 SHA-256'dır.",
"S238–S381 dependency listesi 145 gruptur; iki bağımsız seri koşunun her biri 3448/3448 PASS / 0 fail verdi.",
"İki kanonik dependency özeti 31182 B ve 1b7c09ca267b180d327d1b0f4e2f63e7fe7c1e008e90cbe6e0a5f734c9d7de38 SHA-256 ile byte-eşittir.",
"Exact yedi frozen G8h assertion dışındaki seri workspace 344 sonuç grubu / 5320 PASS / 0 fail / 7 filtered verdi.",
"Filtered workspace log 528326 B / b55ccc5d60e6be0d64f2a961c81e455b7768801e20bcc5839579ea076cbc3761; summary 26024 B / 3718b16bbbaa5a68f97ca9dac59d49ff7845bcf52382129223e4267ef45f085e 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: 297 grup / 5065 PASS / 1 fail; global workspace GREEN iddia edilmez.",
"Filtresiz log 496676 B / cadda96e8985de2e7966d35ef414cdeabd70f2f6f19e710ae53c04960a2073b2; summary 22498 B / 6b9ec803e5b114ed241d2350f75bbbf51d73181092bfea7f2fdb5b3792f1ca7d SHA-256'dır.",
"Fresh izole AArch64 profilleri 4/4 exit 0 verdi. board-qemu log 112202 B / c9396741ef358f772478ce4ed28c99f45bcb118d03239c4120942080c40d4b6e, 293 warning header; ELF 16813120 B / 30e4bcf666f1ef73670cd4d099329a17a69727e90b956973dac6fb7996354a51'dir.",
"board-rpi4 log 150883 B / 58189a407ce58d16be93f13ab66e641addde693e161fb24403ae3faa1cb6fee8, 391 warning header; ELF 11925400 B / 8f5ea41e42d4c42e0c6730fc4cdf1e80a618c27088e4435e26642fa1884ec368'dür.",
"board-rpi5 log 632467 B / 85502d88aa7db5b92b81fe979c60c4c7da0ab5088b6de59695382b32cf2f33f7, 1442 warning header; ELF 15155152 B / d3e7d1c94353da373f30d729643edefc8b39cf591ecbbaafbb7f84191e171115'dir.",
"board-rpi5+smp log 632572 B / ec3961c459c9b02afbdeb9c1329a71b9eaaab16c65f7ebd0d09bc57507a3515b, 1442 warning header; ELF 15164160 B / ddacc1b92c485cc3ba4226936cbb5e419e88c3881295e50df6fed5bd3f2b236a'dır. Zero-warning iddiası yoktur.",
"CARGO_INCREMENTAL=0 make verify-qemu exit 0 verdi. 116354 B log / e0058bee20a1947036e5a38ba7fbda812d8c50a84244f9e2c807ed190d9f8e85 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 S381 wrapper invocation kanıtı değildir; supported-profile runtime observation=0 kalır.",
"Source-bound Kod hedefi S1–S381 381/381 ayrı kapı, pre-S328 S1–S327 327/327, missing=none ve duplicate=0'dır. S381 kartı S310/S311/S380/S382 kartlarıyla birleştirilmez.",
"S381 Code kartı tam qemu_s139_multi_event_caller Rust öğesi içinde exact ilk QueueFull CALL'in upstream state→identity→SEND→reply mint→full snapshot→message→IRQ→writer→single alias→exact result→release→discard/sentinel/exit sınırını yayımlar.",
"Ayrı S381 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.",
"İlk source-bound registry S1–S381 aralığında 381/381 unique kapı, 1092 exact excerpt, pre-S328 S1–S327 327/327, missing=none ve duplicate=0 üretti; JSON 8343146 B / 5dc3d0816963e2efce568aabd103bfabcf35ce3d1d61e1c461b0dc25f47ba018 dosya SHA-256 ve 6b025171d64c1646f9648fc9e20f9f135fc7024dee2c9c0a526e8c512912d896 registry SHA-256 taşır.",
"İlk website kabulü 680/680 test, lint PASS, TypeScript exit 0 ve 0 B çıktı, 24/24 static page, 201 export dosyası ve Timeline/yol-haritasi 220 ayrı gate-policy kartı verdi.",
"İlk website test logu 63194 B / edd183aa941de50a7ff015a68ebb45c8aa633120a2dce270a659cdc6c86aefc8, lint 218 B / 79c084453e339ceb2efe76ed96d1d68be8ac51442957a7a048fd17dba3067ba2, TypeScript 0 B / e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ve build 1213 B / 02cc71c719969a27fd8845eb3d40b9bb10ae07ca72fac501a994f631e9805193 SHA-256'dır.",
"S381 core Operations policy'si ilk yayında 19203 karakter / 19712 UTF-8 byte ölçüldü; S380 kanıt yoğunluğu tabanı korunur.",
"İlk production/main deployment 9c9b577c-aa2a-44d8-b1b8-56571b0fd529 ile 116 uploaded + 84 existing = 200 asset olarak tamamlandı; deploy logu 1715 B / 4203e779edc3ef20ab95aceed3c6c273baa7943218a2997c2c0a821d3896c402 SHA-256'dır.",
"İlk cache-busted custom-domain readback dört rotada HTTP 200 ve raw byte-exact PASS verdi: /code/ 23557727 B / 3971c0a15c29246072b5889fba232582c01a7222365d3deb4a36c84da1b90c50, /operations/ 13830788 B / dd8b0d7df6c8119530596ed233ed3a93a53092a1bb8bc93c6fca2a6d3afc75f5, /timeline/ 5582255 B / cd86721a4bfef82bac63dec40b446e4e42c0565b298d785732358a70951b7b6a ve /yol-haritasi/ 5582003 B / 25a29132e2cbf4c901f12df22ca815dcb74cc7e7e739abe78bd57003c201929c SHA-256'dır.",
"İlk canlı /code/ no-transform header'ı taşıdı; literal kart sayımı 381/381, pre-S328 327/327, duplicate=0, S1=1, S327=1, S328=1, S380=1, S381=1 ve S382=0'dır.",
"S381 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_S381=NO.",
"S381 bazlı bağlayıcı olmayan planlama görünümü R1 S381–S411, R2 S436–S486, R3 S565+, kaba S541–S591 ve risk paylı merkez yaklaşık S566'dır; ürün veya sıra taahhüdü değildir.",
],
commands: [
"cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s381_qemu_s139_queue_full_writer_guard_integration -- --test-threads=1",
"run S310, S311, S379, S380, S381 and runtime_oom_multi_event_transport serially",
"run four fresh isolated AArch64 profiles; run S238-S381 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-s381-focused-source-contract",
title: "S381 focused QEMU S139 QueueFull writer membership",
commandLines: [
"cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s381_qemu_s139_queue_full_writer_guard_integration -- --test-threads=1",
],
outputLines: [
"initial result: compile RED; separate S381 module/source registration and production QueueFull boundary absent",
"final result: ok; S381 focused 1 group / 42 passed / 0 failed",
"shared S247 gate: 44 guarded readers + 54/69 guarded writers; 15 writers open",
"state/identity/SEND/reply mint/full snapshot/message < S381 writer < exact first QueueFull result < writer/IRQ release < discard/sentinel/exit",
"helper maps capacity error before caller withdrawal, park publication or context switch",
"board-qemu caller and RPi5-only wrapper do not intersect in a supported runtime profile; observations=0",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8l-s381-selected-s139-regression",
title:
"S381 selected S139 QueueFull, exact-ACK and transport regression",
commandLines: [
"run S310, S311, S379, S380, S381 and runtime_oom_multi_event_transport serially",
],
outputLines: [
"result: 6 groups / 176 passed / 0 failed",
"S310 transport and S311 QueueFull audits remain historical and separate",
"S379 timed CALL and S380 second normal exact-ACK memberships remain distinct",
"S381 owns only the source-order first immediate QueueFull CALL",
"real transport regression preserves queue/capacity/lease/ACK semantics",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8l-s381-full-acceptance",
title: "S381 four-profile, dependency, workspace and QEMU acceptance",
commandLines: [
"run four fresh isolated AArch64 profile builds with CARGO_INCREMENTAL=0",
"run S238-S381 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: 145 groups / 3448/3448 twice; 31182-byte canonical summaries byte-equal",
"filtered workspace: 344 groups / 5320 PASS / 0 fail / 7 frozen filtered",
"unfiltered workspace: exit 101; 297 groups / 5065 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 S381 RPi5 runtime observation",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8l-s381-production-publication",
title: "S381 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: [
"initial registry: S1-S381 381/381 unique gates / 1092 exact excerpts; pre-S328 S1-S327 327/327; missing=none; duplicate=0",
"S381 code layers: complete qemu_s139_multi_event_caller + exact first QueueFull CALL focus + S247 guard + focused test + proof + Operations object",
"website: 680/680 PASS; lint PASS; TypeScript 0 B; 24/24 static pages; export files=201; Timeline gate cards=220",
"initial deployment 9c9b577c-aa2a-44d8-b1b8-56571b0fd529; 116 uploaded + 84 existing = 200 assets",
"custom-domain /code/, /operations/, /timeline/ and /yol-haritasi/: HTTP 200; raw byte-exact=true; /code/ no-transform",
"live code: 381/381; pre-S328=327/327; duplicate=0; S1=1; S327=1; S328=1; S380=1; S381=1; S382=0",
],
exitCode: 0,
outputMode: "complete",
},
],
terminalSessionsNote:
"TAM ÇIKTI kayıtları S381 focused 42/42, seçili 6 grup / 176 PASS, iki kez 145 grup / 3448 PASS, filtreli workspace 344 grup / 5320 PASS, filtresiz yalnız frozen-S96 RED, dört AArch64 profil 4/4 ve ortak QEMU kabulünü ayrı oturumlar halinde taşır. İlk /code registry ve canlı readback S1–S381 aralığını 381/381 ayrı source-bound kart, pre-S328 S1–S327 kapsamını 327/327 tekil, missing=none ve duplicate=0 olarak doğruladı; ilk production deployment 9c9b577c-aa2a-44d8-b1b8-56571b0fd529'dur.",
limitations: [
"S381 yalnız qemu_s139_multi_event_caller içindeki source-order ilk immediate QueueFull CALL sınırını kapatır; S382 QEMU S148 post-arbitration signal ve kalan 15 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.",
"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_S381=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: c4a6e2894f36…file sha256: 9726dbf00f84…
Focused test komutu
cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s381_qemu_s139_queue_full_writer_guard_integration -- --test-threads=1proof: docs/M8.1-RPi5-G8l-S381-QEMU-S139-QueueFull-Writer-Guard-Integration-Proof.md
Registry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9