ASELSANMicrokernel
S215 · SOURCE-BOUND GATE EVIDENCE

G8l: production migration-lifecycle S195 dispatch callsite

Operations --test hedefi → test hedefiyle aynı adlı uygulama/model modülü → kaynak kesiti Bu sayfa yalnız S215 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.

S215Focused kod testiOperations id exactsource SHA exacttest target exact

operation: g8l-s215-production-migration-lifecycle-s195-dispatch-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 öğesiL31–L57
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s195_dispatch_callsite.rs::publish_runtime_owner_tuple_from_s195_migration_completion

/// Consume one completed lifecycle's exact S195 dispatch and enter S214.
///
/// Runtime, owner authority and dispatch are all consumed. 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_s195_migration_completion(
    queue: &mut G8lRuntimeOwnerS197TupleHandoffQueue,
    runtime: G8lRuntimeAuthority,
    authority: G8lSchedulerOwnerAuthority,
    dispatch: G8lSchedulerOwnerSchedulerMutationDispatch,
    caller_cpu: usize,
    target_cpu: usize,
) -> Result<(), G8lMigrationLifecycleS195DispatchCallsiteError> {
    if caller_cpu != CPU1 {
        return Err(G8lMigrationLifecycleS195DispatchCallsiteError::InvalidCallerCpu);
    }
    let receipt =
        G8lSchedulerOwnerSchedulerMutationDispatchReceipt::from_scheduler_mutation_dispatch(
            &runtime, &authority, dispatch, caller_cpu,
        )
        .map_err(G8lMigrationLifecycleS195DispatchCallsiteError::Receipt)?;
    publish_runtime_owner_tuple_from_s196_migration_completion(
        queue, runtime, authority, receipt, caller_cpu, target_cpu,
    )
    .map_err(G8lMigrationLifecycleS195DispatchCallsiteError::S196Callsite)
}
snippet sha256: 68adcebf829dfile sha256: fc256ea7a0fd
02 · Doğrulayan test kodu

Operations komutuna bağlı focused test

tam Rust öğesiL128–L139
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s195_dispatch_callsite.rs::s215_source_is_allocation_free_and_orders_s195_s196_s197_s213

#[test]
fn s215_source_is_allocation_free_and_orders_s195_s196_s197_s213() {
    let source = include_str!("../../kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s195_dispatch_callsite.rs");
    assert!(!source.contains("Box<"));
    assert!(!source.contains("Vec<"));
    assert!(source.contains("G8lSchedulerOwnerSchedulerMutationDispatchReceipt"));
    assert!(source.contains("publish_runtime_owner_tuple_from_s196_migration_completion"));
    assert!(source.contains("S195 -> S196 -> S214"));
    assert!(!source.contains("task::scheduler"));
    assert!(!source.contains("send_sgi"));
}
snippet sha256: 3538b40ac860file sha256: 6b350689f7d4
03 · Kapı kimlik kaydı

Operations sıra, kimlik ve başlık bağı

tam Operations kaydıL20897–L20947
website/src/lib/operations.ts::g8l-s215-production-migration-lifecycle-s195-dispatch-callsite-partial
  {
    id: "g8l-s215-production-migration-lifecycle-s195-dispatch-callsite-partial",
    date: "2026-08-25",
    sequence: 215,
    status: "passed",
    umbrella_status: "partial",
    title: "G8l: production migration-lifecycle S195 dispatch callsite",
    summary:
      "S215 11/11 PASS ile exact non-Copy S195 dispatch'i CPU1 caller sınırında by-value tüketip tek S196 receipt oluşturdu ve S214 üzerinden S213/S212 zincirine bağladı. Occupied slot replacement/retry açılmaz; migration runtime callsite'ı henüz invoke edilmedi.",
    evidence: [
      "S215 focused S195 dispatch callsite grubu iki bağımsız koşuda 11/11 PASS: CPU1 caller gate, S195→S196→S197→S213 source order, exact dispatch consumption, S214/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–S215 dependency matrix iki bağımsız koşuda 12 grup / 146/146 PASS ve 1524 B / SHA-256 0939f6eacc2afc796848a91caa57d6e5078b27c4c9cdeee89e722a34e53a4bac verdi; ilk 1398 B exact S214 dependency prefix'idir.",
      "S155–S215 explicit sequence-ordered matrix iki bağımsız koşuda 64 grup / 629/629 PASS ve 7935 B / SHA-256 f60fbfa5dd82cb64024ff9b6d0d18f8009963194710d1dd7b84d991bf8715d5c verdi; exact S214 7809 B prefix'i korundu.",
      "RPi5 AArch64 compile PASS: 544 warning envanterlendi; 277560 B / SHA-256 370229e540bbc562807d3771c15c0e969d32188d2f4bd33173b7b6d9536d0847. `smp`: 544 warning, 277502 B / SHA-256 908e32da91e8484661a142668ea649455efe6e757554c812da925156bb04ee2f. Zero-warning iddiası yoktur.",
      "Kalıcı kapsam: `docs/M8.1-RPi5-G8l-S215-Migration-Lifecycle-S195-Dispatch-Callsite-Proof.md`.",
      "S195 dispatch by-value tüketilir; CPU1 caller doğrulamasından sonra S196 receipt bir kez oluşturulur ve S214/S213/S212 zincirine geçilir. Wrong caller, foreign dispatch, wrong target ve occupied slot fail-closed kalır; replacement/retry yoktur.",
      "S215 fiziksel/device operasyonu yapmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S215=NO.",
      "S195 dispatch 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: S215_11_OF_11_MIGRATION_LIFECYCLE_S195_DISPATCH_CALLSITE_CPU1_CALLER_S195_NONCOPY_DISPATCH_CONSUMED_BY_VALUE_EXACT_S196_RECEIPT_CONSTRUCTED_ONCE_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_S375_TO_S425_S400_NO_RUNBOOK_EXECUTED_IN_S215_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_s195_dispatch_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: "s215-g8l-production-migration-lifecycle-s195-dispatch-callsite",
        title: "G8l S215 migration-lifecycle S195 dispatch callsite",
        commandLines: [
          "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s195_dispatch_callsite -- --test-threads=1",
        ],
        outputLines: [
          "test result: ok; 11 passed; 0 failed",
          "CPU1 caller consumes S195 dispatch and constructs S196 exactly once before S214",
          "S214 delegates through 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 S215 S195→S196→S214 source/target callsite sınırını gösterir; production migration runtime, QEMU veya fiziksel cihaz çalıştırması değildir.",
    limitations: [
      "S215 S195 dispatch 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.",
      "S215 fiziksel/device operasyonu yapmadı; RUNBOOK_EXECUTED_IN_S215=NO.",
    ],
  },
snippet sha256: 574f04ea6ae0file sha256: 9726dbf00f84
Focused test komutu
cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s195_dispatch_callsite -- --test-threads=1
proof: docs/M8.1-RPi5-G8l-S215-Migration-Lifecycle-S195-Dispatch-Callsite-Proof.md
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06