S218 · SOURCE-BOUND GATE EVIDENCE
G8l: production migration-lifecycle S192 mutation callsite
Operations --test hedefi → test hedefiyle aynı adlı uygulama/model modülü → kaynak kesiti Bu sayfa yalnız S218 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S218Focused kod testiOperations id exactsource SHA exacttest target exact
operation: g8l-s218-production-migration-lifecycle-s192-callsite-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 öğesiL30–L56
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s192_callsite.rs::publish_runtime_owner_tuple_from_s192_migration_callsite
/// Consume one completed lifecycle's exact S192 callsite and enter S217.
///
/// Runtime, owner authority and callsite are all consumed. S192, S193, S194,
/// S195, S196, S197 and the downstream S213/S212 path are one terminal
/// by-value chain: a failure is not replayed, replaced or retried at this
/// boundary.
pub fn publish_runtime_owner_tuple_from_s192_migration_callsite(
queue: &mut G8lRuntimeOwnerS197TupleHandoffQueue,
runtime: G8lRuntimeAuthority,
authority: G8lSchedulerOwnerAuthority,
callsite: G8lSchedulerOwnerMutationCallsite,
caller_cpu: usize,
target_cpu: usize,
) -> Result<(), G8lMigrationLifecycleS192CallsiteError> {
if caller_cpu != CPU1 {
return Err(G8lMigrationLifecycleS192CallsiteError::InvalidCallerCpu);
}
let boundary = G8lSchedulerOwnerSchedulerMutationBoundary::from_mutation_callsite(
&runtime, &authority, callsite, caller_cpu,
)
.map_err(G8lMigrationLifecycleS192CallsiteError::Boundary)?;
publish_runtime_owner_tuple_from_s193_migration_boundary(
queue, runtime, authority, boundary, caller_cpu, target_cpu,
)
.map_err(G8lMigrationLifecycleS192CallsiteError::S193Callsite)
}snippet sha256: e9ad448fad39…file sha256: 093cc86865b1…
02 · Doğrulayan test kodu
Operations komutuna bağlı focused test
tam Rust öğesiL112–L123
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s192_callsite.rs::s218_source_is_allocation_free_and_orders_s192_s193_s217
#[test]
fn s218_source_is_allocation_free_and_orders_s192_s193_s217() {
let source = include_str!("../../kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s192_callsite.rs");
assert!(!source.contains("Box<"));
assert!(!source.contains("Vec<"));
assert!(source.contains("G8lSchedulerOwnerSchedulerMutationBoundary::from_mutation_callsite"));
assert!(source.contains("publish_runtime_owner_tuple_from_s193_migration_boundary"));
assert!(source.contains("S192 -> S193 -> S217"));
assert!(!source.contains("task::scheduler"));
assert!(!source.contains("send_sgi"));
}snippet sha256: e37705e9e92b…file sha256: 121473f2025d…
03 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL20744–L20794
website/src/lib/operations.ts::g8l-s218-production-migration-lifecycle-s192-callsite-partial
{
id: "g8l-s218-production-migration-lifecycle-s192-callsite-partial",
date: "2026-08-25",
sequence: 218,
status: "passed",
umbrella_status: "partial",
title: "G8l: production migration-lifecycle S192 mutation callsite",
summary:
"S218 11/11 PASS ile exact non-Copy S192 scheduler-owner mutation-callsite'ını CPU1 caller sınırında by-value tüketip tek S193 boundary oluşturdu ve S217 üzerinden S216/S215/S214/S213/S212 zincirine bağladı. Occupied slot replacement/retry açılmaz; migration runtime callsite'ı henüz invoke edilmedi.",
evidence: [
"S218 focused S192 callsite grubu iki bağımsız koşuda 11/11 PASS: CPU1 caller gate, S192→S193→S194→S195→S196 source order, exact callsite consumption, S217/S216/S215/S214/S213/S212 ingress reuse, occupied ownership and no-retry boundaries.",
"Focused koşular byte-eşit kaldı: 126 B / SHA-256 0d9a424720ba8dcdb80aa72dd7f87ea926ef1c95de05e316e305f19e7e0fe3c5.",
"S206 callsite/readback + S207–S218 dependency matrix frozen S217 prefix'i üzerine 15 grup / 179/179 PASS ve 1902 B / SHA-256 1ed95c1729aa999665efe938874ce8a03e880e781a1f911f2ef5e8f5cedbeb63 verdi; ilk 1776 B exact S217 dependency prefix'idir.",
"S155–S218 explicit sequence-ordered matrix frozen S217 prefix'i üzerine 67 grup / 662/662 PASS ve 8313 B / SHA-256 4e662124594949b9c14afe16d17c21a9d183ccee33944b1583203c4e568b289b verdi; exact S217 8187 B prefix'i korundu.",
"RPi5 AArch64 compile PASS: 556 warning envanterlendi; 281974 B / SHA-256 fabc7de3f81f684ab9e0b72dc6b67a4340161f854bbccdc835355052348ba173. `smp`: 556 warning, 281916 B / SHA-256 b7c8f311814b9c846b776a577dad21d40a6bac2a6c7d9da3ca0273a254aaac4a. Zero-warning iddiası yoktur.",
"Kalıcı kapsam: `docs/M8.1-RPi5-G8l-S218-Migration-Lifecycle-S192-Callsite-Proof.md`.",
"S192 callsite by-value tüketilir; CPU1 caller doğrulamasından sonra S193 boundary bir kez oluşturulur ve S217/S216/S215/S214/S213/S212 zincirine geçilir. Wrong caller, foreign callsite, wrong target ve occupied slot fail-closed kalır; replacement/retry yoktur.",
"S218 fiziksel/device operasyonu yapmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S218=NO.",
"S192 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.",
"Canlı marker: S218_11_OF_11_MIGRATION_LIFECYCLE_S192_CALLSITE_CPU1_CALLER_S192_NONCOPY_CALLSITE_CONSUMED_BY_VALUE_EXACT_S193_BOUNDARY_CONSTRUCTED_ONCE_S217_S216_S215_S214_S213_S212_SINGLE_SLOT_INGRESS_NO_REPLACEMENT_NO_RETRY_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_S378_TO_S428_S403_NO_RUNBOOK_EXECUTED_IN_S218_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_s192_callsite -- --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: "s218-g8l-production-migration-lifecycle-s192-callsite",
title: "G8l S218 migration-lifecycle S192 mutation callsite",
commandLines: [
"cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s192_callsite -- --test-threads=1",
],
outputLines: [
"test result: ok; 11 passed; 0 failed",
"CPU1 caller consumes S192 callsite and constructs S193 exactly once before S217",
"S217 delegates through S216/S215/S214/S213/S212 single-slot ingress with no replacement/retry",
"production migration runtime callsite is not invoked; present request/scheduler mutation is not claimed",
],
exitCode: 0,
outputMode: "selected",
},
],
terminalSessionsNote:
"Terminal özeti S218 S192→S193→S217 callsite sınırını gösterir; production migration runtime, QEMU veya fiziksel cihaz çalıştırması değildir.",
limitations: [
"S218 S192 mutation callsite'ını wired/AArch64-compiled yapar; gerçek boot/migration caller'ı henüz invoke edilmediği için present request veya S207 runtime invocation iddia edilmez.",
"Whole-scheduler exclusion, legacy scheduler erişimleri, GIC/SGI capture, CPU1 ERET/context-switch assembly, QEMU present-tuple yolu, fiziksel RPi ve Generic SMP açıktır.",
"S218 fiziksel/device operasyonu yapmadı; RUNBOOK_EXECUTED_IN_S218=NO.",
],
},snippet sha256: 16da781755cb…file sha256: 9726dbf00f84…
Focused test komutu
cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s192_callsite -- --test-threads=1proof: docs/M8.1-RPi5-G8l-S218-Migration-Lifecycle-S192-Callsite-Proof.md
Registry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9