ASELSANMicrokernel
S214 · SOURCE-BOUND GATE EVIDENCE

G8l: production migration-lifecycle S196 receipt tuple callsite

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

S214Focused kod testiOperations id exactsource SHA exacttest target exact

operation: g8l-s214-production-migration-lifecycle-s196-receipt-tuple-callsite-partial

uygulama/model · focused test · Operations · 3 exact excerpt

sequence-bound=true · implementation-bound=false
01 · Testin bağlı olduğu uygulama/model kodu

Kapının yürüttüğü gerçek kaynak

tam Rust öğesiL34–L63
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s196_receipt_tuple_callsite.rs::publish_runtime_owner_tuple_from_s196_migration_completion

/// Consume one completed lifecycle's exact S196 receipt and enter S213.
///
/// Runtime, owner authority and receipt are all consumed. A commit or producer
/// failure is terminal at this callsite; occupied S212-slot ownership remains
/// available inside the producer error and is never replaced or retried.
pub fn publish_runtime_owner_tuple_from_s196_migration_completion(
    queue: &mut G8lRuntimeOwnerS197TupleHandoffQueue,
    runtime: G8lRuntimeAuthority,
    authority: G8lSchedulerOwnerAuthority,
    receipt: G8lSchedulerOwnerSchedulerMutationDispatchReceipt,
    caller_cpu: usize,
    target_cpu: usize,
) -> Result<(), G8lMigrationLifecycleS196TupleCallsiteError> {
    if caller_cpu != CPU1 {
        return Err(G8lMigrationLifecycleS196TupleCallsiteError::InvalidCallerCpu);
    }
    let commit =
        G8lSchedulerOwnerSchedulerMutationDispatchReceiptCommit::from_scheduler_mutation_dispatch_receipt(
            &runtime,
            &authority,
            receipt,
            caller_cpu,
        )
        .map_err(G8lMigrationLifecycleS196TupleCallsiteError::Commit)?;
    publish_runtime_owner_s197_tuple_from_migration_lifecycle(
        queue, runtime, authority, commit, target_cpu,
    )
    .map_err(G8lMigrationLifecycleS196TupleCallsiteError::Producer)
}
snippet sha256: be79be682d89file sha256: c9fc6507f557
02 · Doğrulayan test kodu

Operations komutuna bağlı focused test

tam Rust öğesiL228–L250
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s196_receipt_tuple_callsite.rs::occupied_s212_slot_rejects_the_new_tuple_without_replacement

#[test]
fn occupied_s212_slot_rejects_the_new_tuple_without_replacement() {
    let mut queue = G8lRuntimeOwnerS197TupleHandoffQueue::new();
    let (runtime, authority, receipt) = runtime_authority_receipt();
    publish_runtime_owner_tuple_from_s196_migration_completion(
        &mut queue, runtime, authority, receipt, CPU1, CPU1,
    )
    .unwrap();
    let (runtime, authority, receipt) = runtime_authority_receipt();
    let error = publish_runtime_owner_tuple_from_s196_migration_completion(
        &mut queue, runtime, authority, receipt, CPU1, CPU1,
    )
    .unwrap_err();
    assert!(matches!(
        error,
        G8lMigrationLifecycleS196TupleCallsiteError::Producer(
            G8lMigrationLifecycleTupleProducerError::QueueOccupied(_)
        )
    ));
    assert!(queue.take().is_some());
    assert!(queue.is_empty());
}
snippet sha256: d2aa4f15177bfile sha256: 8353d0fe5885
03 · Kapı kimlik kaydı

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

tam Operations kaydıL20948–L20998
website/src/lib/operations.ts::g8l-s214-production-migration-lifecycle-s196-receipt-tuple-callsite-partial
  {
    id: "g8l-s214-production-migration-lifecycle-s196-receipt-tuple-callsite-partial",
    date: "2026-08-25",
    sequence: 214,
    status: "passed",
    umbrella_status: "partial",
    title: "G8l: production migration-lifecycle S196 receipt tuple callsite",
    summary:
      "S214 11/11 PASS ile exact non-Copy S196 receipt'i CPU1 caller sınırında by-value tüketip tek S197 commit oluşturdu ve S213 producer üzerinden S212 ingress'e bağladı. Occupied slot replacement/retry açılmaz; migration runtime callsite'ı henüz invoke edilmedi.",
    evidence: [
      "S214 focused S196 receipt callsite grubu iki bağımsız koşuda 11/11 PASS: CPU1 caller gate, S196→S197→S213 source order, exact receipt consumption, 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–S214 dependency matrix iki bağımsız koşuda 11 grup / 135/135 PASS ve 1398 B / SHA-256 17c7fbd71c807bb5808a3d29c4eacfe16262f173da6f8eaf4056b5712f009944 verdi; ilk 1272 B exact S213 dependency prefix'idir.",
      "S155–S214 explicit sequence-ordered matrix iki bağımsız koşuda 63 grup / 618/618 PASS ve 7809 B / SHA-256 687b262ade29e2e11fb6e1be1ecbefc20dc1ef275fc9045f75a7a0512bfe89d4 verdi; exact S213 7683 B prefix'i korundu.",
      "RPi5 AArch64 compile PASS: 540 warning envanterlendi; 276046 B / SHA-256 01c20f91cef3503965a89c7e5f556437fcc00b2d13f2d2b43b971c2aa4b293b8. `smp`: 540 warning, 275988 B / SHA-256 44499a4580bdcba95c117dd4f254acb05f9842795991d713ce628745cb669446. Zero-warning iddiası yoktur.",
      "Kalıcı kapsam: `docs/M8.1-RPi5-G8l-S214-Migration-Lifecycle-S196-Receipt-Tuple-Callsite-Proof.md`.",
      "S196 receipt by-value tüketilir; CPU1 caller doğrulamasından sonra S197 commit bir kez oluşturulur ve S213 producer/S212 single-slot ingress'e geçilir. Wrong caller, foreign receipt, wrong target ve occupied slot fail-closed kalır; replacement/retry yoktur.",
      "S214 fiziksel/device operasyonu yapmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S214=NO.",
      "S196 receipt 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: S214_11_OF_11_MIGRATION_LIFECYCLE_S196_RECEIPT_TUPLE_CALLSITE_CPU1_CALLER_S196_NONCOPY_RECEIPT_CONSUMED_BY_VALUE_EXACT_S197_COMMIT_CONSTRUCTED_ONCE_S213_PRODUCER_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_S374_TO_S424_S399_NO_RUNBOOK_EXECUTED_IN_S214_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_s196_receipt_tuple_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: "s214-g8l-production-migration-lifecycle-s196-receipt-callsite",
        title: "G8l S214 migration-lifecycle S196 receipt tuple callsite",
        commandLines: [
          "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s196_receipt_tuple_callsite -- --test-threads=1",
        ],
        outputLines: [
          "test result: ok; 11 passed; 0 failed",
          "CPU1 caller consumes S196 receipt and constructs S197 exactly once before S213",
          "S213 delegates to 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 S214 S196→S197→S213 source/target callsite sınırını gösterir; production migration runtime, QEMU veya fiziksel cihaz çalıştırması değildir.",
    limitations: [
      "S214 S196 receipt 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.",
      "S214 fiziksel/device operasyonu yapmadı; RUNBOOK_EXECUTED_IN_S214=NO.",
    ],
  },
snippet sha256: 325e923dd06dfile sha256: 9726dbf00f84
Focused test komutu
cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s196_receipt_tuple_callsite -- --test-threads=1
proof: docs/M8.1-RPi5-G8l-S214-Migration-Lifecycle-S196-Receipt-Tuple-Callsite-Proof.md
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9