S224 · SOURCE-BOUND GATE EVIDENCE
G8l: production migration-lifecycle S186 mapping-retirement receipt
Operations --test hedefi → test hedefiyle aynı adlı uygulama/model modülü → kaynak kesiti Bu sayfa yalnız S224 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S224Focused kod testiOperations id exactsource SHA exacttest target exact
operation: g8l-s224-production-migration-lifecycle-s186-mapping-retirement-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 öğesiL31–L61
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s186_mapping_retirement.rs::publish_runtime_owner_tuple_from_s186_mapping_retirement_receipt
/// Consume one exact S186 mapping-retirement receipt, commit S187 once, and
/// enter S223. Every downstream error is terminal; no replacement or retry is
/// added.
pub fn publish_runtime_owner_tuple_from_s186_mapping_retirement_receipt(
queue: &mut G8lRuntimeOwnerS197TupleHandoffQueue,
mut runtime: G8lRuntimeAuthority,
authority: G8lSchedulerOwnerAuthority,
mapping_retirement: G8lTargetDispatchMappingRetirementReceipt,
caller_cpu: usize,
target_cpu: usize,
irqs_masked: bool,
) -> Result<(), G8lMigrationLifecycleS186MappingRetirementError> {
let context_switch = G8lTargetDispatchContextSwitchReceipt::commit_mapping_retirement(
&mut runtime,
caller_cpu,
target_cpu,
mapping_retirement,
)
.map_err(G8lMigrationLifecycleS186MappingRetirementError::ContextSwitch)?;
publish_runtime_owner_tuple_from_s187_context_switch_receipt(
queue,
runtime,
authority,
context_switch,
target_cpu,
target_cpu,
irqs_masked,
)
.map_err(G8lMigrationLifecycleS186MappingRetirementError::S187)
}snippet sha256: 9f1caa36eac9…file sha256: 116f6032a257…
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_s186_mapping_retirement.rs::s224_keeps_scheduler_gic_hardware_and_physical_boundaries_closed
#[test]
fn s224_keeps_scheduler_gic_hardware_and_physical_boundaries_closed() {
let source = include_str!("../../kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s186_mapping_retirement.rs");
for forbidden in [
"task::scheduler",
"SCHEDULER",
"gic::",
"send_sgi",
"runtime.context_switch(",
"write_ttbr0",
"eret()",
"power_on",
] {
assert!(
!source.contains(forbidden),
"forbidden S224 marker: {forbidden}"
);
}
}snippet sha256: 203561a012e7…file sha256: 501666c89102…
03 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL20435–L20487
website/src/lib/operations.ts::g8l-s224-production-migration-lifecycle-s186-mapping-retirement-partial
{
id: "g8l-s224-production-migration-lifecycle-s186-mapping-retirement-partial",
date: "2026-08-25",
sequence: 224,
status: "passed",
umbrella_status: "partial",
title:
"G8l: production migration-lifecycle S186 mapping-retirement receipt",
summary:
"S224 13/13 PASS ile exact non-Copy S186 MappingRetired→ReadyPublished receipt'in CPU0 producer'da by-value tüketilip S187 ReadyPublished→ContextSwitched handoff'una çevrilmesi ve ayrı CPU1 consumer'dan S223/S222 downstream'e geçmesi source/ABI olarak sabitlendi. Bounded host receipt fail-closed reddedildi; gerçek cross-CPU delivery ve exact production runtime invoke edilmedi.",
evidence: [
"S224 focused grubu iki bağımsız koşuda 13/13 PASS: bounded S186 receipt'in exact S187 sınırını geçemediği ve queue'nun boş kaldığı; by-value ABI, S187 constructor revalidation sırası, live CPU0 producer gate, non-Copy S187 handoff, ayrı live CPU1 consumer gate, S223 delegation ve explicit IRQ prerequisite forwarding doğrulandı.",
"Focused koşular byte-eşit kaldı: 128 B / SHA-256 02983f1a7d644519bfddb0884a6cd0ce69f40c4b845eb54b71ecdc6e19a8ff09.",
"S206 callsite/readback + S207–S224 dependency matrix frozen S223 prefix'i üzerine 21 grup / 251/251 PASS ve 2664 B / SHA-256 44a75fbde781becc3957ca9e677931de75e8520903878f02f88b341f4e1ce293 verdi; ilk 2536 B exact S223 dependency prefix'idir.",
"S155–S224 explicit sequence-ordered matrix frozen S223 prefix'i üzerine 73 grup / 734/734 PASS ve 9075 B / SHA-256 904fcf19f86c724630c22c1f4fad99984e70076226f09d49a72d2a4942bea159 verdi; exact S223 8947 B prefix'i korundu.",
"RPi5 AArch64 compile PASS: 582 warning envanterlendi; 291364 B / SHA-256 4ef38de376b851127e292b9900cd7643b796e886bf34915aed2b8f2865649821. `smp`: 582 warning, 291306 B / SHA-256 199e205958ab16ab92bda3bc8b6ec1e144f88f2e75dfbcd4971dd60b9a922a13. Zero-warning iddiası yoktur.",
"Kalıcı kapsam: `docs/M8.1-RPi5-G8l-S224-Migration-Lifecycle-S186-Mapping-Retirement-Proof.md`.",
"S224 target yolu CPU0 producer ve CPU1 consumer olarak ayrıldı: CPU0 S186'yı exact S187 constructor ile tüketip non-Copy handoff üretir; handoff yalnız ayrı CPU1 kimlik kontrolünden sonra S223'e devredilir. CPU1 doğrulayıp literal CPU0 adına mutasyon yapan eski tek-parça wrapper kaldırıldı. Gerçek mailbox/context-switch delivery henüz bağlı değildir.",
"S224 fiziksel/device operasyonu yapmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S224=NO.",
"S186→S187 CPU0 producer ve S187→S223 CPU1 consumer AArch64-compiled'dır; aradaki gerçek cross-CPU delivery, boot veya migration runtime callsite'ı 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ı; S224'te uygulanmadı.",
"Canlı marker: S224_13_OF_13_MIGRATION_LIFECYCLE_S186_MAPPING_RETIREMENT_CPU0_PRODUCER_EXACT_S186_NONCOPY_BY_VALUE_S187_NONCOPY_HANDOFF_CPU1_CONSUMER_GATE_S223_S222_S221_S220_S219_S218_S217_S216_S215_S214_S213_S212_DOWNSTREAM_BOUNDED_S186_REJECTED_QUEUE_UNCHANGED_CROSS_CPU_DELIVERY_NOT_WIRED_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_S384_TO_S434_S409_NO_RUNBOOK_EXECUTED_IN_S224_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_s186_mapping_retirement -- --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: "s224-g8l-production-migration-lifecycle-s186-mapping-retirement",
title: "G8l S224 migration-lifecycle S186 mapping-retirement receipt",
commandLines: [
"cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s186_mapping_retirement -- --test-threads=1",
],
outputLines: [
"test result: ok; 13 passed; 0 failed",
"bounded host S186 receipt: preceding S185 TLBI consumption absent; S187 mutation and queue mutation: absent",
"production ABI: live CPU0 consumes non-Copy S186; non-Copy S187 handoff; live CPU1 enters S223/S222",
"cross-CPU handoff delivery and exact production runtime are not invoked",
],
exitCode: 0,
outputMode: "selected",
},
],
terminalSessionsNote:
"Terminal özeti S224 exact S186→S187 source/ABI sınırını, CPU0/CPU1 split handoff'u ve bounded-negative fail-closed davranışı gösterir; gerçek cross-CPU delivery, exact production migration runtime, QEMU veya fiziksel cihaz çalıştırması değildir.",
limitations: [
"S224 CPU0 producer/CPU1 consumer kaynakları AArch64-compiled'dır; non-Copy handoff'u iki CPU arasında taşıyan gerçek scheduler mailbox/context-switch delivery bağlı değildir. Exact S186→S187→S223 runtime yürütümü iddia edilmez.",
"Whole-scheduler exclusion, legacy scheduler erişimleri, GIC/SGI capture, QEMU present-tuple yolu, fiziksel RPi ve Generic SMP açıktır.",
"S224 fiziksel/device operasyonu yapmadı; RUNBOOK_EXECUTED_IN_S224=NO.",
],
},snippet sha256: 89a525b686da…file sha256: 9726dbf00f84…
Focused test komutu
cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s186_mapping_retirement -- --test-threads=1proof: docs/M8.1-RPi5-G8l-S224-Migration-Lifecycle-S186-Mapping-Retirement-Proof.md
Registry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9