ASELSANMicrokernel
S204 · SOURCE-BOUND GATE EVIDENCE

G8l: production guarded acknowledgement → explicit release receipt

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

S204Focused kod testiOperations id exactsource SHA exacttest target exact

operation: g8l-s204-scheduler-mutation-production-guarded-ack-release-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 öğesiL11–L94
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_guarded_ack_release.rs::G8lProductionSchedulerMutationGuardedAckReleaseError
use crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_guarded_ack::{
    G8lSchedulerMutationProductionGuardedAckBridge,
    G8lSchedulerMutationProductionGuardedAckBridgeError,
};

#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum G8lProductionSchedulerMutationGuardedAckReleaseError {
    Bridge(G8lSchedulerMutationProductionGuardedAckBridgeError),
}

impl From<G8lSchedulerMutationProductionGuardedAckBridgeError>
    for G8lProductionSchedulerMutationGuardedAckReleaseError
{
    fn from(error: G8lSchedulerMutationProductionGuardedAckBridgeError) -> Self {
        Self::Bridge(error)
    }
}

#[derive(Debug, PartialEq, Eq)]
pub struct G8lProductionSchedulerMutationGuardedAckRelease {
    receipt: G8lSchedulerMutationExclusionReleaseReceipt,
    runtime_instance_id: u64,
    exact_s203_bridge_consumed: bool,
}

impl G8lProductionSchedulerMutationGuardedAckRelease {
    pub fn from_bridge<'a>(
        runtime: &G8lRuntimeAuthority,
        authority: &G8lSchedulerOwnerAuthority,
        bridge: G8lSchedulerMutationProductionGuardedAckBridge<'a>,
    ) -> Result<Self, G8lProductionSchedulerMutationGuardedAckReleaseError> {
        bridge.revalidate(authority, runtime)?;
        let receipt = bridge.release(runtime, authority)?;
        Ok(Self {
            receipt,
            runtime_instance_id: runtime.instance_id(),
            exact_s203_bridge_consumed: true,
        })
    }

    pub const fn into_receipt(self) -> G8lSchedulerMutationExclusionReleaseReceipt {
        self.receipt
    }

    pub const fn token(&self) -> u64 {
        self.receipt.token
    }

    pub const fn task_id(&self) -> u64 {
        self.receipt.task_id
    }

    pub const fn runtime_instance_id(&self) -> u64 {
        self.runtime_instance_id
    }

    pub const fn caller_cpu(&self) -> usize {
        self.receipt.caller_cpu
    }

    pub const fn owner_epoch(&self) -> u64 {
        self.receipt.owner_epoch
    }

    pub const fn exact_s203_bridge_consumed(&self) -> bool {
        self.exact_s203_bridge_consumed
    }

    pub const fn exact_s198_token_released(&self) -> bool {
        true
    }

    pub const fn production_scheduler_mutated(&self) -> bool {
        false
    }

    pub const fn all_scheduler_accesses_covered(&self) -> bool {
        false
    }

    pub const fn hardware_execution_proven(&self) -> bool {
        false
    }
}
snippet sha256: 0320cc5eca11file sha256: 73e7d5259ce4
02 · Doğrulayan test kodu

Operations komutuna bağlı focused test

tam Rust öğesiL171–L183
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_guarded_ack_release.rs::release_revalidates_running1_cpu1_owner_task_and_epoch

#[test]
fn release_revalidates_running1_cpu1_owner_task_and_epoch() {
    let (runtime, authority, _, bridge) = guarded_bridge();
    assert_eq!(runtime.phase(), RuntimePhase::Running1);
    assert_eq!(authority.owner_cpu(), CPU1);
    assert_eq!(authority.task_id(), TASK);
    assert_eq!(authority.epoch(), OWNER_EPOCH + 1);
    let release =
        G8lProductionSchedulerMutationGuardedAckRelease::from_bridge(&runtime, &authority, bridge)
            .unwrap();
    assert_eq!(release.owner_epoch(), authority.epoch());
}
snippet sha256: f5f7751a2785file sha256: e3a18507bbaf
03 · Kapı kimlik kaydı

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

tam Operations kaydıL21470–L21523
website/src/lib/operations.ts::g8l-s204-scheduler-mutation-production-guarded-ack-release-partial
  {
    id: "g8l-s204-scheduler-mutation-production-guarded-ack-release-partial",
    date: "2026-08-25",
    sequence: 204,
    status: "passed",
    umbrella_status: "partial",
    title: "G8l: production guarded acknowledgement → explicit release receipt",
    summary:
      "S204, S203 production-guarded acknowledgement bridge'ini by-value tüketip exact S198 token release'ini typed receipt olarak yayınlayan 11/11 allocation-free yaşam döngüsü sınırını kapattı. Release öncesi Running1 runtime, CPU1 owner/task ve epoch 23→24 yeniden doğrulanıyor; foreign runtime/authority fail-closed, hata yollarında Drop fallback'i korunuyor. Scheduler mutation açılmadı.",
    evidence: [
      "g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_guarded_ack_release: 11/11 PASS; exact S203 bridge by-value consumption, live revalidation and exact S198 release receipt.",
      "Explicit release receipt carries token/task/caller_cpu/owner_epoch; successful release leaves the exclusion primitive unlocked.",
      "Foreign runtime and authority fail closed before release; consuming bridge Drop fallback releases the exact token on those errors.",
      "Production S203 wrapper exposes the S204 release path while retaining bridge-before-IrqGuard drop order; production release invocation is not claimed.",
      "Odaklı test iki bağımsız koşuda byte-eşit kaldı: 126 B / SHA-256 0d9a424720ba8dcdb80aa72dd7f87ea926ef1c95de05e316e305f19e7e0fe3c5.",
      "S155–S204 explicit sequence-ordered matrix iki bağımsız koşuda 50 grup / 458/458 PASS ve 6156 B / SHA-256 2c719edd5ded525f56509b4933fe225c04fbb6be5167a0dce40e091b88378015 verdi.",
      "RPi5 AArch64 compile PASS: 515 warning envanterlendi, hata yok; 242511 B / SHA-256 a517e1f0a5b462bcda40f59d3650ddbf74ad9caadaac5ba843fe86ae26e9adb0. Zero-warning iddiası yoktur.",
      "RPi5 AArch64 smp compile PASS: 515 warning envanterlendi, hata yok; 242453 B / SHA-256 5e5862cc0bd299fd56170209e0f8ce6c2ad30da3cf624afd96ccf50052f7bd49. Zero-warning iddiası yoktur.",
      "Kalıcı kapsam: `docs/M8.1-RPi5-G8l-S204-Scheduler-Mutation-Production-Guarded-Ack-Release-Proof.md`.",
      "S204 fiziksel/device operasyonu yapmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S204=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ı; S204'te uygulanmadı.",
      "Canlı marker: S204_11_OF_11_G8L_PRODUCTION_GUARDED_ACK_EXPLICIT_RELEASE_RECEIPT_SOURCE_EXACT_S203_BRIDGE_CONSUMED_BY_VALUE_REVALIDATED_RUNNING1_CPU1_OWNER_TASK_EPOCH23_TO24_EXACT_S198_TOKEN_RELEASED_RELEASE_RECEIPT_PUBLISHED_DROP_FALLBACK_ERROR_FAIL_CLOSED_PRODUCTION_RELEASE_WRAPPED_IRQGUARD_DROP_ORDER_SCHEDULER_NOT_MUTATED_WHOLE_SCHEDULER_GIC_HARDWARE_QEMU_PHYSICAL_CPU2_CPU3_HOTPLUG_SOAK_GENERIC_SMP_OPEN_FULL_PHYSICAL_RUNBOOK_VISIBLE_S364_TO_S414_S389_NO_RUNBOOK_EXECUTED_IN_S204_VERIFIED; deployment-specific route/hash evidence is recorded in the project-status manifest.",
    ],
    commands: [
      "cargo test --quiet --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_guarded_ack_release -- --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: "s204-g8l-scheduler-mutation-production-guarded-ack-release",
        title:
          "G8l S204 explicit production guarded acknowledgement release receipt",
        commandLines: [
          "cargo test --quiet --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_guarded_ack_release -- --test-threads=1",
        ],
        outputLines: [
          "running 11 tests",
          "test result: ok; 11 passed; 0 failed",
          "S203 bridge consumed by value; exact S198 release receipt published after live revalidation",
          "production scheduler mutation/global exclusion/GIC/hardware: not invoked / not claimed",
        ],
        exitCode: 0,
        outputMode: "selected",
      },
    ],
    terminalSessionsNote:
      "Terminal özeti S204 explicit release receipt kabulünü gösterir; QEMU veya fiziksel cihaz çalıştırması değildir.",
    limitations: [
      "S204 production release path'i kaynakta wired eder; production runtime invocation ve scheduler mutation yapmaz.",
      "Legacy static mut SCHEDULER erişimleri, whole-scheduler global exclusion, GIC/SGI ve CPU1 ERET assembly kapsam dışıdır.",
      "S204 fiziksel/device operasyonu yapmadı; RUNBOOK_EXECUTED_IN_S204=NO.",
    ],
  },
snippet sha256: 128d652f53aefile sha256: 9726dbf00f84
Focused test komutu
cargo test --quiet --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_guarded_ack_release -- --test-threads=1
proof: docs/M8.1-RPi5-G8l-S204-Scheduler-Mutation-Production-Guarded-Ack-Release-Proof.md
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06