ASELSANMicrokernel
S213 · SOURCE-BOUND GATE EVIDENCE

G8l: production migration-lifecycle runtime-owner/S197 tuple producer

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

S213Focused kod testiOperations id exactsource SHA exacttest target exact

operation: g8l-s213-production-migration-lifecycle-runtime-owner-s197-tuple-producer-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–L63
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_runtime_owner_s197_tuple.rs::produce_runtime_owner_s197_tuple_from_migration_lifecycle

/// Produce the exact S212 handoff from the completed migration lifecycle.
///
/// The runtime and owner authorities are consumed so the producer cannot
/// retain a second copy of the identity envelope. The S197 commit is also
/// consumed after revalidation; a stale or foreign commit cannot reach S212.
pub fn produce_runtime_owner_s197_tuple_from_migration_lifecycle(
    runtime: G8lRuntimeAuthority,
    authority: G8lSchedulerOwnerAuthority,
    commit: G8lSchedulerOwnerSchedulerMutationDispatchReceiptCommit,
    target_cpu: usize,
) -> Result<G8lRuntimeOwnerS197TupleHandoff, G8lMigrationLifecycleTupleProducerError> {
    if target_cpu != CPU1 {
        return Err(G8lMigrationLifecycleTupleProducerError::InvalidTargetCpu);
    }
    if runtime.phase() != RuntimePhase::Running1 {
        return Err(G8lMigrationLifecycleTupleProducerError::RuntimePhaseMismatch);
    }
    if authority.owner_cpu() != CPU1
        || authority.task_id() != runtime.migration_input().task_id
        || runtime.migration_input().owner_cpu != CPU1
        || commit.task_id() != authority.task_id()
        || commit.target_cpu() != CPU1
        || commit.owner_epoch() != authority.epoch()
    {
        return Err(G8lMigrationLifecycleTupleProducerError::RuntimeOwnerMismatch);
    }
    commit
        .revalidate(&authority, &runtime)
        .map_err(G8lMigrationLifecycleTupleProducerError::Commit)?;
    G8lRuntimeOwnerS197TupleHandoff::from_upstream(runtime, authority, commit, target_cpu)
        .map_err(G8lMigrationLifecycleTupleProducerError::Handoff)
}
snippet sha256: 05fd6b2166b7file sha256: 09f59142cf41
02 · Doğrulayan test kodu

Operations komutuna bağlı focused test

tam Rust öğesiL284–L292
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_runtime_owner_s197_tuple.rs::production_adapter_is_target_only_and_keeps_hardware_outside_s213

#[test]
fn production_adapter_is_target_only_and_keeps_hardware_outside_s213() {
    let source = include_str!("../../kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_runtime_owner_s197_tuple.rs");
    assert!(source.contains("publish_runtime_owner_s197_tuple_from_production_migration_lifecycle"));
    assert!(source.contains("current_cpu_id()"));
    assert!(!source.contains("gic::"));
    assert!(!source.contains("send_sgi"));
}
snippet sha256: 3aceeba73440file sha256: 2407b8018749
03 · Kapı kimlik kaydı

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

tam Operations kaydıL20999–L21050
website/src/lib/operations.ts::g8l-s213-production-migration-lifecycle-runtime-owner-s197-tuple-producer-partial
  {
    id: "g8l-s213-production-migration-lifecycle-runtime-owner-s197-tuple-producer-partial",
    date: "2026-08-25",
    sequence: 213,
    status: "passed",
    umbrella_status: "partial",
    title:
      "G8l: production migration-lifecycle runtime-owner/S197 tuple producer",
    summary:
      "S213 11/11 PASS ile yalnız exact Running1/CPU1 owner-task-epoch zarfı ve non-Copy S197 commit revalidated olduktan sonra S212 tuple'ını üreten allocation-free producer adapter'ını bağladı. S212 single-slot ingress occupied replacement/retry yapmaz; production migration runtime caller'ı henüz çalıştırılmadı.",
    evidence: [
      "S213 focused migration-lifecycle producer grubu iki bağımsız koşuda 11/11 PASS: Running1 prerequisite, CPU1 target, owner/task/epoch revalidation, exact S197 commit validation, S212 ingress reuse, occupied ownership return and no-retry boundaries.",
      "Focused koşular byte-eşit kaldı: 126 B / SHA-256 0d9a424720ba8dcdb80aa72dd7f87ea926ef1c95de05e316e305f19e7e0fe3c5.",
      "S206 callsite/readback + S207–S213 dependency matrix iki bağımsız koşuda 10 grup / 124/124 PASS ve 1272 B / SHA-256 2e5a4a1d62cfcf6455e6c9e269d95094659c71497abb318751aca80e326378f7 verdi; ilk 1146 B exact S212 dependency prefix'idir.",
      "S155–S213 explicit sequence-ordered matrix iki bağımsız koşuda 62 grup / 607/607 PASS ve 7683 B / SHA-256 850ffd6f2ebcfe515578464b5a75fbf79c4afecac5e82d6e4feac7e3fb228c0b verdi; exact S212 7557 B prefix'i korundu.",
      "RPi5 AArch64 compile PASS: 536 warning envanterlendi; 274530 B / SHA-256 eeb15c7f8b53cc20270be4f5d7dd31961c07fc487df4fec63b7e3feeb8a90b27. `smp`: 536 warning, 274472 B / SHA-256 e843e14199424d8f53ce87e55df6d325058fa82a91d75bac7ce917aadd27a11a. Zero-warning iddiası yoktur.",
      "Kalıcı kapsam: `docs/M8.1-RPi5-G8l-S213-Migration-Lifecycle-Runtime-Owner-S197-Tuple-Producer-Proof.md`.",
      "Producer runtime authority, scheduler-owner authority ve S197 commit'i by-value tüketir; Running1/CPU1/task/owner-epoch yeniden doğrulaması başarısızsa tuple oluşmaz. S212 ingress'i aynı single-slot replacement/no-retry sınırında kullanılır.",
      "S213 fiziksel/device operasyonu yapmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S213=NO.",
      "Migration lifecycle producer adapter'ı 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: S213_11_OF_11_MIGRATION_LIFECYCLE_RUNTIME_OWNER_S197_TUPLE_PRODUCER_RUNNING1_CPU1_OWNER_TASK_EPOCH_EXACT_S197_COMMIT_REVALIDATED_S212_SINGLE_SLOT_INGRESS_NO_REPLACEMENT_NO_RETRY_TARGET_ADAPTER_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_S373_TO_S423_S398_NO_RUNBOOK_EXECUTED_IN_S213_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_runtime_owner_s197_tuple -- --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: "s213-g8l-production-migration-lifecycle-tuple-producer",
        title: "G8l S213 migration-lifecycle runtime-owner/S197 tuple producer",
        commandLines: [
          "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_runtime_owner_s197_tuple -- --test-threads=1",
        ],
        outputLines: [
          "test result: ok; 11 passed; 0 failed",
          "Running1/CPU1 owner-task-epoch and exact S197 commit revalidation precede tuple construction",
          "S212 single-slot ingress returns ownership on occupied rejection; no replacement/retry",
          "production migration runtime callsite is not invoked; present request/scheduler mutation is not claimed",
        ],
        exitCode: 0,
        outputMode: "selected",
      },
    ],
    terminalSessionsNote:
      "Terminal özeti S213 producer adapter source boundary'sini gösterir; production migration runtime, QEMU veya fiziksel cihaz çalıştırması değildir.",
    limitations: [
      "S213 migration-lifecycle producer adapter'ı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.",
      "S213 fiziksel/device operasyonu yapmadı; RUNBOOK_EXECUTED_IN_S213=NO.",
    ],
  },
snippet sha256: 8ccc0e0d4cb3file sha256: 9726dbf00f84
Focused test komutu
cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_runtime_owner_s197_tuple -- --test-threads=1
proof: docs/M8.1-RPi5-G8l-S213-Migration-Lifecycle-Runtime-Owner-S197-Tuple-Producer-Proof.md
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9