ASELSANMicrokernel
S210 · SOURCE-BOUND GATE EVIDENCE

G8l: CPU1 timer-IRQ runtime-owned caller ve typed return closure

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

S210Focused kod testiOperations id exactsource SHA exacttest target exact

operation: g8l-s210-cpu1-timer-irq-runtime-owned-caller-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 öğesiL91–L133
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_current_task_runtime_owned_caller.rs::execute_runtime_owned_current_task_owner_caller

/// Consume one runtime-owned request through exactly one invocation and one
/// completion callback. Admission, invocation and completion phases remain
/// distinguishable; neither error path retries a callback.
pub fn execute_runtime_owned_current_task_owner_caller<
    InvokeOutput,
    CompleteOutput,
    InvokeError,
    CompleteError,
    Invoke,
    Complete,
>(
    request: G8lRuntimeOwnedCurrentTaskOwnerInvocation,
    invoke: Invoke,
    complete: Complete,
) -> Result<CompleteOutput, G8lRuntimeOwnedCurrentTaskOwnerCallerError<InvokeError, CompleteError>>
where
    Invoke: FnOnce(
        &G8lRuntimeAuthority,
        &G8lSchedulerOwnerAuthority,
        G8lProductionCurrentTaskOwnerInvocationPermit,
    ) -> Result<InvokeOutput, InvokeError>,
    Complete: FnOnce(
        &G8lRuntimeAuthority,
        &G8lSchedulerOwnerAuthority,
        G8lProductionCurrentTaskOwnerInvocationReceipt,
        InvokeOutput,
    ) -> Result<CompleteOutput, CompleteError>,
{
    request
        .revalidate()
        .map_err(G8lRuntimeOwnedCurrentTaskOwnerCallerError::Admission)?;
    let G8lRuntimeOwnedCurrentTaskOwnerInvocation {
        runtime,
        authority,
        permit,
    } = request;
    let invocation_receipt = permit.receipt();
    let output = invoke(&runtime, &authority, permit)
        .map_err(G8lRuntimeOwnedCurrentTaskOwnerCallerError::Invoke)?;
    complete(&runtime, &authority, invocation_receipt, output)
        .map_err(G8lRuntimeOwnedCurrentTaskOwnerCallerError::Complete)
}
snippet sha256: c77306188145file sha256: c20b8fddbcb5
02 · Doğrulayan test kodu

Operations komutuna bağlı focused test

tam Rust öğesiL296–L303
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_current_task_runtime_owned_caller.rs::target_completion_composes_s208_s209_and_s210_acknowledgement

#[test]
fn target_completion_composes_s208_s209_and_s210_acknowledgement() {
    let source = include_str!("../../kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_current_task_runtime_owned_caller.rs");
    assert!(source.contains("acknowledge_production_current_task_owner_invocation"));
    assert!(source.contains("G8lProductionCurrentTaskOwnerInvocationReturnHandoff::admit"));
    assert!(source.contains("acknowledge_production_current_task_owner_invocation_return_handoff"));
}
snippet sha256: 7cbbca5707bcfile sha256: 2d82c2711a56
03 · Kapı kimlik kaydı

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

tam Operations kaydıL21155–L21208
website/src/lib/operations.ts::g8l-s210-cpu1-timer-irq-runtime-owned-caller-partial
  {
    id: "g8l-s210-cpu1-timer-irq-runtime-owned-caller-partial",
    date: "2026-08-25",
    sequence: 210,
    status: "passed",
    umbrella_status: "partial",
    title: "G8l: CPU1 timer-IRQ runtime-owned caller ve typed return closure",
    summary:
      "S210 iki grupta 25/25 PASS ile typed S209 acknowledgement yardımcısını korudu ve gerçek RPi5 CPU1 timer-IRQ kaynağını runtime authority + scheduler-owner authority + non-Copy S207 permit'i tek request olarak sahiplenen exact-once caller'a bağladı. Boş queue no-op'tur; henüz production producer olmadığı için gerçek S207 entrypoint çalıştırıldı veya scheduler mutation gözlendi iddiası yoktur.",
    evidence: [
      "S210 focused acknowledgement + runtime-owned caller kapıları iki bağımsız koşuda 2 grup / 25/25 PASS: exact S208/S209 closure, CPU1-only admission, runtime/owner/permit unit ownership, exact-once invoke→complete ordering, queue take-before-invoke, empty-queue idle ve gerçek exceptions.rs callsite sırası.",
      "İki bağımsız focused koşu byte-eşit kaldı: 255 B / SHA-256 ba39706dffd8206750cf38c5b59bd80f38ecb7d9cf3b02e7e556cc2659961bba.",
      "S206 callsite + S206 readback + S207 invocation + S208 return acknowledgement + S209 handoff + S210 acknowledgement + S210 runtime-owned caller dependency matrix iki bağımsız koşuda 7 grup / 82/82 PASS ve 885 B / SHA-256 432261c0edcd7fb85d60946f891209cbed6715689ad510260f45a7e4f3d0219e verdi.",
      "S155–S210 explicit sequence-ordered matrix iki bağımsız koşuda 59 grup / 565/565 PASS ve 7296 B / SHA-256 a245a6c059d9ea8263a11b20dc3c7e0df781473cdf810b71ac308d4bbe484419 verdi; ilk 7041 B exact S209 hash'ini korudu.",
      "RPi5 AArch64 compile PASS: 525 warning envanterlendi, hata yok; 270152 B / SHA-256 3addef50badd576d6209b1b221905fcf2174f5a2cd1fde5bf994a9d2c8e4b01c. Zero-warning iddiası yoktur.",
      "RPi5 AArch64 smp compile PASS: 525 warning envanterlendi, hata yok; 270094 B / SHA-256 e7024a946bc7534194ea4048f0a702f493fa346dd76e6b5ca7dc589a197ad6d4. Zero-warning iddiası yoktur.",
      "Gerçek RPi5 CPU1 timer-IRQ source callsite queue service'i G7d timer dispatcher'dan önce çağırır. Production producer henüz yoktur; queue boşken Idle döner, bu nedenle runtime S207 entrypoint/scheduler mutation çalıştı iddiası üretilmez.",
      "Kalıcı kapsam: `docs/M8.1-RPi5-G8l-S210-Production-Current-Task-Owner-Invocation-Return-Handoff-Acknowledgement-Proof.md`.",
      "S210 fiziksel/device operasyonu yapmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S210=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ı; S210'da uygulanmadı.",
      "Canlı marker: S210_25_OF_25_G8L_CPU1_TIMER_IRQ_RUNTIME_OWNED_CALLER_AND_TYPED_HANDOFF_ACKNOWLEDGEMENT_REAL_EXCEPTIONS_SOURCE_CALLSITE_WIRED_QUEUE_EMPTY_NO_PRODUCER_RUNTIME_ENTRYPOINT_NOT_OBSERVED_EXACT_ONCE_NO_RETRY_LEGACY_SCHEDULER_ACCESSES_UNCOVERED_WHOLE_SCHEDULER_GIC_HARDWARE_QEMU_PHYSICAL_CPU2_CPU3_HOTPLUG_SOAK_GENERIC_SMP_OPEN_FULL_PHYSICAL_RUNBOOK_VISIBLE_S370_TO_S420_S395_NO_RUNBOOK_EXECUTED_IN_S210_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_ack -- --test-threads=1",
      "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_current_task_runtime_owned_caller -- --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: "s210-g8l-cpu1-timer-irq-runtime-owned-caller",
        title: "G8l S210 CPU1 timer-IRQ runtime-owned caller",
        commandLines: [
          "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_current_task_invocation_return_handoff_ack -- --test-threads=1",
          "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_current_task_runtime_owned_caller -- --test-threads=1",
        ],
        outputLines: [
          "test result: ok; 13 passed; 0 failed",
          "test result: ok; 12 passed; 0 failed",
          "CPU1 timer-IRQ source callsite wired; queue owns runtime + owner + non-Copy permit and takes before invocation",
          "queue has no production producer: empty service is Idle; runtime scheduler mutation is not claimed",
        ],
        exitCode: 0,
        outputMode: "selected",
      },
    ],
    terminalSessionsNote:
      "Terminal özeti S210 typed closure ve gerçek CPU1 IRQ source-wiring sınırını gösterir; QEMU, fiziksel cihaz veya present-request runtime capture değildir.",
    limitations: [
      "S210 gerçek CPU1 timer-IRQ kaynağında runtime-owned service çağrısını bağlar; ancak production producer yoktur, queue boş kalır ve S207 entrypoint/scheduler mutation runtime'da gözlenmemiştir.",
      "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.",
      "S210 fiziksel/device operasyonu yapmadı; RUNBOOK_EXECUTED_IN_S210=NO.",
    ],
  },
snippet sha256: 172d27cb609cfile sha256: 9726dbf00f84
Focused test komutu
cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_current_task_runtime_owned_caller -- --test-threads=1
proof: docs/M8.1-RPi5-G8l-S210-Production-Current-Task-Owner-Invocation-Return-Handoff-Acknowledgement-Proof.md
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06