ASELSANMicrokernel
S209 · SOURCE-BOUND GATE EVIDENCE

G8l: typed production current-task owner invocation return handoff

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

S209Focused kod testiOperations id exactsource SHA exacttest target exact

operation: g8l-s209-production-current-task-owner-invocation-return-handoff-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 öğesiL90–L103
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_current_task_invocation_return_handoff.rs::handoff_current_task_owner_invocation_return

/// Consume the handoff exactly once. A downstream error is returned without
/// retry; the receipt cannot be recovered from the moved handoff.
pub fn handoff_current_task_owner_invocation_return<Output, HandoffError, Handoff>(
    handoff: G8lProductionCurrentTaskOwnerInvocationReturnHandoff,
    downstream: Handoff,
) -> Result<Output, HandoffError>
where
    Handoff: FnOnce(
        G8lProductionCurrentTaskOwnerInvocationReturnReceipt,
    ) -> Result<Output, HandoffError>,
{
    downstream(handoff.receipt)
}
snippet sha256: 115fe44f8ffefile sha256: 76b200357c3e
02 · Doğrulayan test kodu

Operations komutuna bağlı focused test

tam Rust öğesiL228–L241
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_current_task_invocation_return_handoff.rs::handoff_callback_receives_no_scheduler_mutation_authority

#[test]
fn handoff_callback_receives_no_scheduler_mutation_authority() {
    let (runtime, authority, receipt) = fixture();
    let handoff =
        G8lProductionCurrentTaskOwnerInvocationReturnHandoff::admit(&runtime, &authority, receipt)
            .unwrap();
    let result = handoff_current_task_owner_invocation_return(handoff, |value| {
        assert_eq!(value.exclusion_token, EXCLUSION_TOKEN);
        Ok::<_, ()>(false)
    })
    .unwrap();
    assert!(!result);
}
snippet sha256: 3c24dd108b22file sha256: b9fe14e4259d
03 · Kapı kimlik kaydı

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

tam Operations kaydıL21209–L21258
website/src/lib/operations.ts::g8l-s209-production-current-task-owner-invocation-return-handoff-partial
  {
    id: "g8l-s209-production-current-task-owner-invocation-return-handoff-partial",
    date: "2026-08-25",
    sequence: 209,
    status: "passed",
    umbrella_status: "partial",
    title: "G8l: typed production current-task owner invocation return handoff",
    summary:
      "S209 13/13 PASS ile S208 typed invocation return receipt'ini downstream'e taşıyan non-Copy handoff sınırını kurdu: Running1/CPU1 owner/task/epoch, context generation, ASID/root, runtime identity ve exact exclusion token yeniden doğrulanır; handoff tek FnOnce callback'e tüketilir, downstream error retry edilmez ve yeni scheduler mutation yapılmaz.",
    evidence: [
      "S209 focused return-handoff grubu 13/13 PASS: exact S208 receipt, non-running/foreign owner, runtime identity, task/epoch/context/ASID/root, zero token, release acknowledgement, one-shot downstream ve source/wrapper kapıları.",
      "İki bağımsız focused koşu byte-eşit kaldı: 128 B / SHA-256 02983f1a7d644519bfddb0884a6cd0ce69f40c4b845eb54b71ecdc6e19a8ff09.",
      "S206 callsite + S206 readback + S207 invocation + S208 return acknowledgement + S209 handoff dependency matrix iki bağımsız koşuda 5 grup / 57/57 PASS ve 630 B / SHA-256 6e5e5a795b226db640fddc725222783b76110013fe5353552f16c3ebe3072d8f verdi.",
      "S155–S209 explicit sequence-ordered matrix iki bağımsız koşuda 57 grup / 540/540 PASS ve 7041 B / SHA-256 b380f5ab80e40171ed88c44bd1215f3ec2f4d5a87ca1caa0b7b5308b6bde3f28 verdi.",
      "RPi5 AArch64 compile PASS: 550 warning envanterlendi, hata yok; 258568 B / SHA-256 bba1b3128c1c38fccdb31b3e37ef8b2fc5ff706a531d18cc3ff9e5a1dd6661dd. Zero-warning iddiası yoktur.",
      "RPi5 AArch64 smp compile PASS: 550 warning envanterlendi, hata yok; 258510 B / SHA-256 5cbd9b6fd59e228af7df6f3bd12d8fef8ee6634eaef16ec620880525c58e43a3. Zero-warning iddiası yoktur.",
      "Kalıcı kapsam: `docs/M8.1-RPi5-G8l-S209-Production-Current-Task-Owner-Invocation-Return-Handoff-Proof.md`.",
      "S209 fiziksel/device operasyonu yapmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S209=NO.",
      "Görünür 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 tarihsel S124'te tamamlandı; S209'da uygulanmadı.",
      "Canlı marker: S209_13_OF_13_G8L_TYPED_PRODUCTION_CURRENT_TASK_OWNER_INVOCATION_RETURN_HANDOFF_EXACT_S208_RETURN_RECEIPT_RUNTIME_INSTANCE_TASK_CPU1_OWNER_EPOCH_CONTEXT_ASID_ROOT_EXCLUSION_TOKEN_RELEASE_ACK_REQUIRED_REVALIDATED_NONCOPY_FNONCE_DOWNSTREAM_CONSUMED_ONCE_DOWNSTREAM_ERROR_NO_RETRY_MISMATCH_FAIL_CLOSED_NO_NEW_SCHEDULER_MUTATION_PRODUCTION_HANDOFF_WRAPPER_AARCH64_COMPILED_NOT_RUNTIME_INVOKED_LEGACY_SCHEDULER_ACCESSES_WHOLE_SCHEDULER_GIC_HARDWARE_QEMU_PHYSICAL_CPU2_CPU3_HOTPLUG_SOAK_GENERIC_SMP_OPEN_FULL_PHYSICAL_RUNBOOK_VISIBLE_S369_TO_S419_S394_NO_RUNBOOK_EXECUTED_IN_S209_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_current_task_invocation_return_handoff -- --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: "s209-g8l-production-current-task-owner-invocation-return-handoff",
        title: "G8l S209 typed production invocation return handoff",
        commandLines: [
          "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_current_task_invocation_return_handoff -- --test-threads=1",
        ],
        outputLines: [
          "test result: ok; 13 passed; 0 failed",
          "S208 return receipt runtime/task/owner/epoch/context/ASID/root/token envelope revalidated",
          "non-Copy handoff consumed once by FnOnce; downstream error no retry; scheduler mutation/runtime invocation not claimed",
        ],
        exitCode: 0,
        outputMode: "selected",
      },
    ],
    terminalSessionsNote:
      "Terminal özeti S209 typed return handoff sınırını gösterir; QEMU veya fiziksel cihaz çalıştırması değildir.",
    limitations: [
      "S209 S208 return receipt'ini downstream typed handoff'a bağlar; boot/IRQ/scheduler runtime bu handoff'u henüz üretip tüketmiyor.",
      "Legacy static mut SCHEDULER erişimleri S198 primitive'iyle tamamı kapsanmadığı için whole-scheduler exclusion, GIC/SGI, CPU1 ERET assembly, QEMU ve fiziksel RPi kapsam dışıdır.",
      "S209 fiziksel/device operasyonu yapmadı; RUNBOOK_EXECUTED_IN_S209=NO.",
    ],
  },
snippet sha256: da5850f7d842file sha256: 9726dbf00f84
Focused test komutu
cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_current_task_invocation_return_handoff -- --test-threads=1
proof: docs/M8.1-RPi5-G8l-S209-Production-Current-Task-Owner-Invocation-Return-Handoff-Proof.md
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9