S223 · SOURCE-BOUND GATE EVIDENCE
G8l: production migration-lifecycle S187 context-switch receipt
Operations --test hedefi → test hedefiyle aynı adlı uygulama/model modülü → kaynak kesiti Bu sayfa yalnız S223 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S223Focused kod testiOperations id exactsource SHA exacttest target exact
operation: g8l-s223-production-migration-lifecycle-s187-context-switch-partial
uygulama/model · focused test · Operations · 3 exact excerpt
sequence-bound=true · implementation-bound=true
01 · Testin bağlı olduğu uygulama/model kodu
Kapının yürüttüğü gerçek kaynak
tam Rust öğesiL25–L53
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s187_context_switch.rs::publish_runtime_owner_tuple_from_s187_context_switch_receipt
/// Consume one exact S187 context-switch receipt, commit S188 once, and enter
/// S222. Every downstream error is terminal; no replacement or retry is added.
pub fn publish_runtime_owner_tuple_from_s187_context_switch_receipt(
queue: &mut G8lRuntimeOwnerS197TupleHandoffQueue,
mut runtime: G8lRuntimeAuthority,
authority: G8lSchedulerOwnerAuthority,
context_switch: G8lTargetDispatchContextSwitchReceipt,
caller_cpu: usize,
target_cpu: usize,
irqs_masked: bool,
) -> Result<(), G8lMigrationLifecycleS187ContextSwitchError> {
let eret = G8lTargetDispatchEretReceipt::commit_context_switch(
&mut runtime,
caller_cpu,
context_switch,
)
.map_err(G8lMigrationLifecycleS187ContextSwitchError::Eret)?;
publish_runtime_owner_tuple_from_s188_eret_receipt(
queue,
runtime,
authority,
eret,
caller_cpu,
target_cpu,
irqs_masked,
)
.map_err(G8lMigrationLifecycleS187ContextSwitchError::S188)
}snippet sha256: d1669d7d7237…file sha256: 01238a54526f…
02 · Doğrulayan test kodu
Operations komutuna bağlı focused test
tam Rust öğesiL230–L249
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s187_context_switch.rs::s223_keeps_scheduler_gic_hardware_and_physical_boundaries_closed
#[test]
fn s223_keeps_scheduler_gic_hardware_and_physical_boundaries_closed() {
let source = include_str!("../../kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s187_context_switch.rs");
for forbidden in [
"task::scheduler",
"SCHEDULER",
"gic::",
"send_sgi",
"runtime.context_switch(",
"write_ttbr0",
"eret()",
"power_on",
] {
assert!(
!source.contains(forbidden),
"forbidden S223 marker: {forbidden}"
);
}
}snippet sha256: 058cb2fc13b0…file sha256: 4e0717679234…
03 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL20488–L20539
website/src/lib/operations.ts::g8l-s223-production-migration-lifecycle-s187-context-switch-partial
{
id: "g8l-s223-production-migration-lifecycle-s187-context-switch-partial",
date: "2026-08-25",
sequence: 223,
status: "passed",
umbrella_status: "partial",
title: "G8l: production migration-lifecycle S187 context-switch receipt",
summary:
"S223 13/13 PASS ile production adaptörünün non-Copy exact S187 ReadyPublished→ContextSwitched receipt'i by-value kabul edip revalidation sonrası S188/S222 zincirine devretmesi source/ABI olarak bağlandı. Host bounded S187 receipt, ContextSwitchNotConsumed ile S188 ve kuyruk mutasyonundan önce fail-closed reddedildi. Exact production yol runtime'da invoke edilmedi.",
evidence: [
"S223 focused grubu iki bağımsız koşuda 13/13 PASS: bir behavioral bounded-negative test ile host receipt'in exact S187 sınırını geçemediği ve kuyruğun boş kaldığı doğrulandı; kalan kontroller by-value ABI, revalidation-before-identity, S187→S188→S222 source order, CPU1 target gate ve explicit IRQ prerequisite forwarding'i sabitledi. Bu sonuç host exact-receipt runtime PASS iddiası değildir.",
"Focused koşular byte-eşit kaldı: 128 B / SHA-256 02983f1a7d644519bfddb0884a6cd0ce69f40c4b845eb54b71ecdc6e19a8ff09.",
"S206 callsite/readback + S207–S223 dependency matrix frozen S222 prefix'i üzerine 20 grup / 238/238 PASS ve 2536 B / SHA-256 2c4290528559fec68b3ff14c28a4797ed038ea63637110f4ad1e221fd86cc437 verdi; ilk 2408 B exact S222 dependency prefix'idir.",
"S155–S223 explicit sequence-ordered matrix frozen S222 prefix'i üzerine 72 grup / 721/721 PASS ve 8947 B / SHA-256 e3b3864d73fb13614d63ab36e311798c9ba75ac2b474c33d107fea1a87fe621f verdi; exact S222 8819 B prefix'i korundu.",
"RPi5 AArch64 compile PASS: 576 warning envanterlendi; 289090 B / SHA-256 a06ea115133c5fc5f79a53347ba6b7b13c9506d19135fb4a4d5ef22cdbdd3af8. `smp`: 576 warning, 289032 B / SHA-256 cabce38fa6bdef870d639c7f11a1ef7c7a3dfa2d306ae240b4aa98b348b71b8e. Zero-warning iddiası yoktur.",
"Kalıcı kapsam: `docs/M8.1-RPi5-G8l-S223-Migration-Lifecycle-S187-Context-Switch-Proof.md`.",
"Production S187 adapter yalnız typed non-Copy receipt'i by-value alır ve exact constructor revalidation'ından sonra S188'e ilerler. Bounded host receipt Eret(ContextSwitch(ContextSwitchNotConsumed)) ile reddedilir; önceki makbuz tüketimini true yapan host yükseltme helper'ları kaldırılmıştır. Downstream wrong-target/occupied-slot kapıları S206–S223 dependency matrisinde korunur.",
"S223 fiziksel/device operasyonu yapmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S223=NO.",
"S187→S188 migration-lifecycle callsite wired/AArch64-compiled'dır fakat boot veya migration runtime callsite'ı henüz invoke edilmedi; present request, S207 invocation veya scheduler mutation gözlemi iddia edilmez.",
"Görünür tarihsel fiziksel sıra: Gücü kapat → SD kartı Pi'den çıkar → SD kartı Mac'e tak → Yetkili write/verify/read-back işlemini tamamla → SD kartı Mac'ten güvenli çıkar → SD kartı güçsüz Pi'ye tak → UART capture pre-arm ve exact identity kapısını doğrula → Güç ver. Bu sıra yalnız S124'te tamamlandı; S223'te uygulanmadı.",
"Canlı marker: S223_13_OF_13_MIGRATION_LIFECYCLE_S187_CONTEXT_SWITCH_EXACT_PATH_SOURCE_ABI_BOUND_BOUNDED_S187_REJECTED_CONTEXT_SWITCH_NOT_CONSUMED_QUEUE_UNCHANGED_NONCOPY_S187_BY_VALUE_REVALIDATION_BEFORE_S188_S222_S221_S220_S219_S218_S217_S216_S215_S214_S213_S212_DOWNSTREAM_SINGLE_SLOT_INGRESS_AARCH64_COMPILED_NOT_RUNTIME_INVOKED_PRESENT_REQUEST_NOT_OBSERVED_LEGACY_SCHEDULER_ACCESSES_UNCOVERED_WHOLE_SCHEDULER_GIC_HARDWARE_QEMU_PHYSICAL_CPU2_CPU3_HOTPLUG_SOAK_GENERIC_SMP_OPEN_FULL_PHYSICAL_RUNBOOK_VISIBLE_S383_TO_S433_S408_NO_RUNBOOK_EXECUTED_IN_S223_VERIFIED; deployment-specific route/hash evidence is recorded in the project-status manifest.",
],
commands: [
"cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s187_context_switch -- --test-threads=1",
"cargo check --quiet --manifest-path kernel/Cargo.toml --target aarch64-unknown-none --no-default-features --features board-rpi5",
"cargo check --quiet --manifest-path kernel/Cargo.toml --target aarch64-unknown-none --no-default-features --features board-rpi5,smp",
],
terminalSessions: [
{
id: "s223-g8l-production-migration-lifecycle-s187-context-switch",
title: "G8l S223 migration-lifecycle S187 context-switch receipt",
commandLines: [
"cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s187_context_switch -- --test-threads=1",
],
outputLines: [
"test result: ok; 13 passed; 0 failed",
"bounded host S187 receipt: ContextSwitchNotConsumed; S188 and queue mutation: absent",
"production ABI: non-Copy S187 by-value; revalidate before S188; then existing S222 downstream",
"exact production receipt/runtime path is AArch64-compiled but not invoked",
],
exitCode: 0,
outputMode: "selected",
},
],
terminalSessionsNote:
"Terminal özeti S223 exact-path source/ABI sınırını ve bounded-negative fail-closed davranışı gösterir; exact production migration runtime, QEMU veya fiziksel cihaz çalıştırması değildir.",
limitations: [
"S223 production adapter'ı typed S187 receipt'i by-value kabul eder; host tarafında exact receipt üretilemediği için exact S187→S188 runtime yürütümü iddia edilmez. Bounded receipt'in reddi kanıtlanmıştır.",
"Whole-scheduler exclusion, legacy scheduler erişimleri, GIC/SGI capture, QEMU present-tuple yolu, fiziksel RPi ve Generic SMP açıktır.",
"S223 fiziksel/device operasyonu yapmadı; RUNBOOK_EXECUTED_IN_S223=NO.",
],
},snippet sha256: 2b5b5d951602…file sha256: 9726dbf00f84…
Focused test komutu
cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s187_context_switch -- --test-threads=1proof: docs/M8.1-RPi5-G8l-S223-Migration-Lifecycle-S187-Context-Switch-Proof.md
Registry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06