ASELSANMicrokernel
S401 · SOURCE-BOUND GATE EVIDENCE

S401 · Provider-authority timer callsite

tam S401 implementation modülü → Operations --test hedefi ile bağlı tam focused test → ayrı Operations kaydı Bu sayfa yalnız S401 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.

S401Focused kod testiOperations id exactsource SHA exacttest target exact

operation: g8l-s401-provider-authority-timer-callsite-partial

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

sequence-bound=true · implementation-bound=true
01 · Yürütme / doğrulama kodu

Kapının gerçek repository sözleşmesi

tam dosyaL1–L188
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s401_provider_authority_timer_callsite.rs::S401 provider authority timer callsite implementation
#![allow(unexpected_cfgs)]

//! S401 bounded provider-authority timer callsite.
//!
//! S400 exposed the first real CPU1 constructor but deliberately left it
//! dormant. S401 invokes that exact constructor from the production CPU1 timer
//! chain. A constructed authority is checked while its S247 exclusive lease is
//! live and then explicitly released before this service returns. The returned
//! receipt is audit data only: it cannot retain or recreate exclusion.
//!
//! This gate adds no S244 admission publisher, never enters S243/S236, and does
//! not claim that the supported profile was observed on physical hardware.

use crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s244_whole_scheduler_exclusion_admission_request::{
    G8lS245WholeSchedulerExclusionAdmissionRequestState, S245_SOURCE_CPU0, S245_TARGET_CPU1,
};
use crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s246_whole_scheduler_read_access_guard::{
    G8lS247WholeSchedulerAccessError, G8lS247WholeSchedulerAccessGate,
};
use crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s400_whole_scheduler_provider_authority_constructor::{
    try_construct_s400_model_provider_authority, G8lS400ProviderAuthorityConstructorError,
    G8lS400ProviderAuthorityReleaseReceipt, G8lS400WholeSchedulerProviderAuthority,
    S400_DIRECT_SCHEDULER_ACCESS_SITES, S400_PRODUCTION_GUARDED_DIRECT_ACCESS_SITES,
    S400_SOURCE_AUDIT_UNITS, S400_SOURCE_MODEL_COVERED_DIRECT_ACCESS_SITES,
    S400_UNROUTED_DIRECT_ACCESS_SITES,
};

pub const S401_SOURCE_AUDIT_UNITS: usize = S400_SOURCE_AUDIT_UNITS;
pub const S401_DIRECT_SCHEDULER_ACCESS_SITES: usize = S400_DIRECT_SCHEDULER_ACCESS_SITES;
pub const S401_SOURCE_MODEL_COVERED_DIRECT_ACCESS_SITES: usize =
    S400_SOURCE_MODEL_COVERED_DIRECT_ACCESS_SITES;
pub const S401_PRODUCTION_GUARDED_DIRECT_ACCESS_SITES: usize =
    S400_PRODUCTION_GUARDED_DIRECT_ACCESS_SITES;
pub const S401_UNROUTED_DIRECT_ACCESS_SITES: usize = S400_UNROUTED_DIRECT_ACCESS_SITES;
pub const S401_MODEL_PROVIDER_INVOCATION_SITES: usize = 1;
pub const S401_PRODUCTION_PROVIDER_INVOCATION_CALLSITES: usize = 1;
pub const S401_PRODUCTION_ADMISSION_PUBLISHER_SITES: usize = 0;
pub const S401_SUPPORTED_PROFILE_RUNTIME_OBSERVATIONS: usize = 0;
pub const S401_PROVIDER_AUTHORITY_TIMER_CALLSITE_COMPLETE: bool = true;
pub const S401_AUTHORITY_RELEASED_BEFORE_TIMER_SERVICE_RETURN: bool = true;
pub const S401_END_TO_END_EXCLUSION_ADMISSION_COMPLETE: bool = false;

/// Non-authoritative observation retained only after the live S400 authority
/// and its exclusive lease have both been released.
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct G8lS401ProviderAuthorityTimerCallsiteReceipt {
    request_id: u64,
    exclusive_token: u64,
}

impl G8lS401ProviderAuthorityTimerCallsiteReceipt {
    pub const fn request_id(&self) -> u64 {
        self.request_id
    }

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

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

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

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

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

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

impl From<G8lS400ProviderAuthorityReleaseReceipt> for G8lS401ProviderAuthorityTimerCallsiteReceipt {
    fn from(receipt: G8lS400ProviderAuthorityReleaseReceipt) -> Self {
        Self {
            request_id: receipt.request_id(),
            exclusive_token: receipt.exclusive_token(),
        }
    }
}

#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum G8lS401ProviderAuthorityTimerCallsiteOutcome {
    Idle,
    ProviderAuthorityInvokedAndReleased(G8lS401ProviderAuthorityTimerCallsiteReceipt),
}

#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum G8lS401ProviderAuthorityTimerCallsiteError {
    WrongCpu,
    S400(G8lS400ProviderAuthorityConstructorError),
    AuthorityInvariantDrift,
    Release(G8lS247WholeSchedulerAccessError),
}

fn validate_live_authority(authority: &G8lS400WholeSchedulerProviderAuthority<'_>) -> bool {
    authority.request_id() != 0
        && authority.source_cpu() == S245_SOURCE_CPU0
        && authority.target_cpu() == S245_TARGET_CPU1
        && authority.exclusive_token() != 0
        && authority.source_audit_units() == S401_SOURCE_AUDIT_UNITS
        && authority.direct_scheduler_access_sites() == S401_DIRECT_SCHEDULER_ACCESS_SITES
        && authority.source_model_covered_direct_access_sites()
            == S401_SOURCE_MODEL_COVERED_DIRECT_ACCESS_SITES
        && authority.production_guarded_direct_access_sites()
            == S401_PRODUCTION_GUARDED_DIRECT_ACCESS_SITES
        && authority.unrouted_direct_access_sites() == S401_UNROUTED_DIRECT_ACCESS_SITES
        && authority.request_consumed()
        && authority.is_provider_authority()
        && authority.whole_scheduler_exclusion_proven()
        && !authority.admission_published()
}

/// Host/model form of the exact production lifecycle: construct, validate
/// while live, explicitly release, then return only a non-authoritative receipt.
pub fn service_s401_model_provider_authority_timer_callsite(
    gate: &G8lS247WholeSchedulerAccessGate,
    request_state: &mut G8lS245WholeSchedulerExclusionAdmissionRequestState,
    caller_cpu: usize,
) -> Result<G8lS401ProviderAuthorityTimerCallsiteOutcome, G8lS401ProviderAuthorityTimerCallsiteError>
{
    let authority = try_construct_s400_model_provider_authority(gate, request_state, caller_cpu)
        .map_err(G8lS401ProviderAuthorityTimerCallsiteError::S400)?;
    let Some(authority) = authority else {
        return Ok(G8lS401ProviderAuthorityTimerCallsiteOutcome::Idle);
    };
    if !validate_live_authority(&authority) {
        return Err(G8lS401ProviderAuthorityTimerCallsiteError::AuthorityInvariantDrift);
    }
    let receipt = authority
        .release()
        .map_err(G8lS401ProviderAuthorityTimerCallsiteError::Release)?;
    Ok(
        G8lS401ProviderAuthorityTimerCallsiteOutcome::ProviderAuthorityInvokedAndReleased(
            receipt.into(),
        ),
    )
}

#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
fn validate_production_authority(
    authority: &crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s400_whole_scheduler_provider_authority_constructor::G8lS400ProductionWholeSchedulerProviderAuthority,
) -> bool {
    authority.request_id() != 0
        && authority.exclusive_token() != 0
        && authority.is_provider_authority()
        && authority.whole_scheduler_exclusion_proven()
        && !authority.admission_published()
}

/// CPU1 timer service. S400's wrapper keeps local IRQs masked for the entire
/// live-authority interval; explicit release drops the S247 lease before the
/// wrapper restores the prior DAIF state.
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
pub fn service_s401_provider_authority_timer_callsite_on_cpu1(
) -> Result<G8lS401ProviderAuthorityTimerCallsiteOutcome, G8lS401ProviderAuthorityTimerCallsiteError>
{
    use crate::g8l_runtime_contract::CPU1;

    if crate::percpu::try_current_cpu_id() != Some(CPU1) {
        return Err(G8lS401ProviderAuthorityTimerCallsiteError::WrongCpu);
    }
    let authority = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s400_whole_scheduler_provider_authority_constructor::try_construct_s400_production_provider_authority_on_cpu1()
        .map_err(G8lS401ProviderAuthorityTimerCallsiteError::S400)?;
    let Some(authority) = authority else {
        return Ok(G8lS401ProviderAuthorityTimerCallsiteOutcome::Idle);
    };
    if !validate_production_authority(&authority) {
        return Err(G8lS401ProviderAuthorityTimerCallsiteError::AuthorityInvariantDrift);
    }
    let receipt = authority
        .release()
        .map_err(G8lS401ProviderAuthorityTimerCallsiteError::Release)?;
    Ok(
        G8lS401ProviderAuthorityTimerCallsiteOutcome::ProviderAuthorityInvokedAndReleased(
            receipt.into(),
        ),
    )
}
snippet sha256: 383be9135f91file sha256: 383be9135f91
02 · Doğrulayan test kodu

Operations komutuna bağlı focused test

tam dosyaL1–L301
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s401_provider_authority_timer_callsite.rs::S401 provider authority timer callsite focused tests
#![recursion_limit = "256"]

use aselsan_microkernel_simulation::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s244_whole_scheduler_exclusion_admission_request::{
    service_s245_exclusion_admission_request, G8lS245ExclusionAdmissionRequestOutcome,
    G8lS245WholeSchedulerExclusionAdmissionRequestState, S245_SOURCE_CPU0, S245_TARGET_CPU1,
};
use aselsan_microkernel_simulation::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s246_whole_scheduler_read_access_guard::{
    G8lS247WholeSchedulerAccessError, G8lS247WholeSchedulerAccessGate,
};
use aselsan_microkernel_simulation::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s400_whole_scheduler_provider_authority_constructor::{
    G8lS400ProviderAuthorityConstructorError, S400_DIRECT_SCHEDULER_ACCESS_SITES,
    S400_PRODUCTION_GUARDED_DIRECT_ACCESS_SITES, S400_SOURCE_AUDIT_UNITS,
    S400_SOURCE_MODEL_COVERED_DIRECT_ACCESS_SITES, S400_UNROUTED_DIRECT_ACCESS_SITES,
};
use aselsan_microkernel_simulation::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s401_provider_authority_timer_callsite::*;

fn pending(next_request_id: u64) -> G8lS245WholeSchedulerExclusionAdmissionRequestState {
    let mut state =
        G8lS245WholeSchedulerExclusionAdmissionRequestState::with_next_request_id(next_request_id);
    assert_eq!(
        service_s245_exclusion_admission_request(&mut state, S245_SOURCE_CPU0, true, true),
        Ok(G8lS245ExclusionAdmissionRequestOutcome::RequestPublished(
            next_request_id
        ))
    );
    state
}

fn module_source() -> &'static str {
    include_str!("../../kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s401_provider_authority_timer_callsite.rs")
}

fn exception_source() -> &'static str {
    include_str!("../../kernel/src/arch/aarch64/exceptions.rs")
}

fn kernel_main_source() -> &'static str {
    include_str!("../../kernel/src/main.rs")
}

fn simulation_lib_source() -> &'static str {
    include_str!("../src/lib.rs")
}

fn s402_source() -> &'static str {
    include_str!("../../kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s402_provider_invocation_observation_publication.rs")
}

#[test]
fn constants_promote_only_the_bounded_timer_callsite() {
    assert_eq!(S401_SOURCE_AUDIT_UNITS, 7);
    assert_eq!(S401_DIRECT_SCHEDULER_ACCESS_SITES, 113);
    assert_eq!(S401_SOURCE_MODEL_COVERED_DIRECT_ACCESS_SITES, 113);
    assert_eq!(S401_PRODUCTION_GUARDED_DIRECT_ACCESS_SITES, 113);
    assert_eq!(S401_UNROUTED_DIRECT_ACCESS_SITES, 0);
    assert_eq!(S401_MODEL_PROVIDER_INVOCATION_SITES, 1);
    assert_eq!(S401_PRODUCTION_PROVIDER_INVOCATION_CALLSITES, 1);
    assert_eq!(S401_PRODUCTION_ADMISSION_PUBLISHER_SITES, 0);
    assert_eq!(S401_SUPPORTED_PROFILE_RUNTIME_OBSERVATIONS, 0);
    assert!(S401_PROVIDER_AUTHORITY_TIMER_CALLSITE_COMPLETE);
    assert!(S401_AUTHORITY_RELEASED_BEFORE_TIMER_SERVICE_RETURN);
    assert!(!S401_END_TO_END_EXCLUSION_ADMISSION_COMPLETE);
}

#[test]
fn s400_is_the_exact_constructor_predecessor() {
    assert_eq!(S401_SOURCE_AUDIT_UNITS, S400_SOURCE_AUDIT_UNITS);
    assert_eq!(
        S401_DIRECT_SCHEDULER_ACCESS_SITES,
        S400_DIRECT_SCHEDULER_ACCESS_SITES
    );
    assert_eq!(
        S401_SOURCE_MODEL_COVERED_DIRECT_ACCESS_SITES,
        S400_SOURCE_MODEL_COVERED_DIRECT_ACCESS_SITES
    );
    assert_eq!(
        S401_PRODUCTION_GUARDED_DIRECT_ACCESS_SITES,
        S400_PRODUCTION_GUARDED_DIRECT_ACCESS_SITES
    );
    assert_eq!(
        S401_UNROUTED_DIRECT_ACCESS_SITES,
        S400_UNROUTED_DIRECT_ACCESS_SITES
    );
}

#[test]
fn exact_request_is_constructed_observed_and_released_in_one_service_call() {
    let gate = G8lS247WholeSchedulerAccessGate::new();
    let mut state = pending(41);
    let outcome =
        service_s401_model_provider_authority_timer_callsite(&gate, &mut state, S245_TARGET_CPU1)
            .unwrap();
    let G8lS401ProviderAuthorityTimerCallsiteOutcome::ProviderAuthorityInvokedAndReleased(receipt) =
        outcome
    else {
        panic!("exact request must invoke and release the provider authority")
    };
    assert_eq!(receipt.request_id(), 41);
    assert_eq!(receipt.exclusive_token(), 1);
    assert!(receipt.constructor_invoked());
    assert!(receipt.authority_released());
    assert!(!receipt.authority_live());
    assert!(!receipt.whole_scheduler_exclusion_proven());
    assert!(!receipt.admission_published());
    assert!(!state.pending());
    assert_eq!(gate.active_exclusive_token(), None);
}

#[test]
fn absent_request_is_idle_and_does_not_spend_a_gate_token() {
    let gate = G8lS247WholeSchedulerAccessGate::new();
    let mut state = G8lS245WholeSchedulerExclusionAdmissionRequestState::new();
    assert_eq!(
        service_s401_model_provider_authority_timer_callsite(&gate, &mut state, S245_TARGET_CPU1),
        Ok(G8lS401ProviderAuthorityTimerCallsiteOutcome::Idle)
    );
    let lease = gate.try_acquire_exclusive(S245_TARGET_CPU1).unwrap();
    assert_eq!(lease.token(), 1);
}

#[test]
fn wrong_cpu_fails_closed_without_consuming_the_request() {
    let gate = G8lS247WholeSchedulerAccessGate::new();
    let mut state = pending(7);
    assert!(matches!(
        service_s401_model_provider_authority_timer_callsite(&gate, &mut state, S245_SOURCE_CPU0),
        Err(G8lS401ProviderAuthorityTimerCallsiteError::S400(
            G8lS400ProviderAuthorityConstructorError::WrongCpu
        ))
    ));
    assert_eq!(state.pending_request_id(), Some(7));
    assert_eq!(gate.active_exclusive_token(), None);
}

#[test]
fn reader_contention_preserves_the_exact_request_for_retry() {
    let gate = G8lS247WholeSchedulerAccessGate::new();
    let reader = gate.try_acquire_read(S245_SOURCE_CPU0).unwrap();
    let mut state = pending(9);
    assert!(matches!(
        service_s401_model_provider_authority_timer_callsite(&gate, &mut state, S245_TARGET_CPU1),
        Err(G8lS401ProviderAuthorityTimerCallsiteError::S400(
            G8lS400ProviderAuthorityConstructorError::Access(
                G8lS247WholeSchedulerAccessError::ExclusiveBusy {
                    active_readers: 1,
                    active_token: None
                }
            )
        ))
    ));
    assert_eq!(state.pending_request_id(), Some(9));
    drop(reader);
}

#[test]
fn successful_calls_release_each_authority_before_the_next_request() {
    let gate = G8lS247WholeSchedulerAccessGate::new();
    let mut state = pending(1);
    let first =
        service_s401_model_provider_authority_timer_callsite(&gate, &mut state, S245_TARGET_CPU1)
            .unwrap();
    let G8lS401ProviderAuthorityTimerCallsiteOutcome::ProviderAuthorityInvokedAndReleased(first) =
        first
    else {
        panic!("first call must complete")
    };
    assert_eq!(first.exclusive_token(), 1);
    assert_eq!(
        service_s245_exclusion_admission_request(&mut state, S245_SOURCE_CPU0, true, true),
        Ok(G8lS245ExclusionAdmissionRequestOutcome::RequestPublished(2))
    );
    let second =
        service_s401_model_provider_authority_timer_callsite(&gate, &mut state, S245_TARGET_CPU1)
            .unwrap();
    let G8lS401ProviderAuthorityTimerCallsiteOutcome::ProviderAuthorityInvokedAndReleased(second) =
        second
    else {
        panic!("second call must complete")
    };
    assert_eq!(second.request_id(), 2);
    assert_eq!(second.exclusive_token(), 2);
}

#[test]
fn model_service_orders_constructor_validation_and_explicit_release() {
    let source = module_source();
    let start = source
        .find("pub fn service_s401_model_provider_authority_timer_callsite")
        .unwrap();
    let function: String = source[start..].split_whitespace().collect();
    let construct = function
        .find("try_construct_s400_model_provider_authority")
        .unwrap();
    let validate = function.find("validate_live_authority").unwrap();
    let release = function.find("authority.release()").unwrap();
    assert!(construct < validate && validate < release);
}

#[test]
fn post_release_receipt_cannot_claim_live_exclusion() {
    let source = module_source();
    let start = source
        .find("pub struct G8lS401ProviderAuthorityTimerCallsiteReceipt")
        .unwrap();
    let section = &source[start..source[start..].find("#[derive").unwrap() + start];
    assert!(section.contains("pub const fn authority_live(&self) -> bool"));
    assert!(section.contains("pub const fn whole_scheduler_exclusion_proven(&self) -> bool"));
    assert!(section.contains("false"));
}

#[test]
fn production_service_uses_the_exact_s400_constructor_and_explicit_release() {
    let source = module_source();
    let start = source
        .find("pub fn service_s401_provider_authority_timer_callsite_on_cpu1")
        .unwrap();
    let function: String = source[start..].split_whitespace().collect();
    let construct = function
        .find("try_construct_s400_production_provider_authority_on_cpu1")
        .unwrap();
    let validate = function.find("validate_production_authority").unwrap();
    let release = function.find("authority.release()").unwrap();
    assert!(construct < validate && validate < release);
}

#[test]
fn s402_successor_invokes_s401_and_owns_the_timer_position_after_s399() {
    let exceptions = exception_source();
    let s399 = exceptions
        .find("service_s399_whole_scheduler_provider_preflight_on_cpu1")
        .unwrap();
    let s402 = exceptions
        .find("service_s402_provider_invocation_observation_publication_on_cpu1")
        .unwrap();
    let s242 = exceptions
        .find("service_s242_sender_runtime_callsite_request_on_cpu1")
        .unwrap();
    assert!(s399 < s402 && s402 < s242);
    assert!(!exceptions.contains("service_s401_provider_authority_timer_callsite_on_cpu1"));
    assert_eq!(
        s402_source()
            .matches("service_s401_provider_authority_timer_callsite_on_cpu1")
            .count(),
        1
    );
}

#[test]
fn s402_successor_accepts_only_idle_or_released_from_s401_and_propagates_error() {
    let source = s402_source();
    assert!(source.contains("G8lS401ProviderAuthorityTimerCallsiteOutcome::Idle"));
    assert!(source.contains(
        "G8lS401ProviderAuthorityTimerCallsiteOutcome::ProviderAuthorityInvokedAndReleased"
    ));
    assert!(source.contains("G8lS402ProviderInvocationObservationServiceError::S401"));
}

#[test]
fn production_path_is_exactly_rpi5_aarch64_none_and_cpu1() {
    let source = module_source();
    assert!(source.contains("target_arch = \"aarch64\""));
    assert!(source.contains("target_os = \"none\""));
    assert!(source.contains("feature = \"board-rpi5\""));
    assert!(source.contains("crate::percpu::try_current_cpu_id()"));
    assert!(source.contains("CPU1"));
}

#[test]
fn s401_does_not_publish_admission_enter_s243_or_touch_scheduler_directly() {
    let source = module_source();
    for forbidden in [
        "publish_s244",
        "service_s244_exclusion_gated_deferred_join",
        "service_s243_deferred_authority_receipt_join",
        "addr_of!(",
        "addr_of_mut!(",
        "&mut Scheduler",
    ] {
        assert!(
            !source.contains(forbidden),
            "forbidden promotion: {forbidden}"
        );
    }
}

#[test]
fn s401_is_registered_as_one_separate_kernel_and_simulation_module() {
    let name = "g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s401_provider_authority_timer_callsite";
    assert!(kernel_main_source().contains(&format!("mod {name};")));
    assert!(simulation_lib_source().contains(&format!("pub mod {name};")));
    assert_eq!(kernel_main_source().matches("_s401_").count(), 1);
    assert_eq!(simulation_lib_source().matches("_s401_").count(), 2);
}

#[test]
fn s401_allows_only_the_exact_s402_observation_successor() {
    let name = "g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s402_provider_invocation_observation_publication";
    assert!(kernel_main_source().contains(&format!("mod {name};")));
    assert!(simulation_lib_source().contains(&format!("pub mod {name};")));
}
snippet sha256: 221cf91a178efile sha256: 221cf91a178e
03 · Kapı kimlik kaydı

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

tam Operations kaydıL100–L116
website/src/lib/operations.ts::g8l-s401-provider-authority-timer-callsite-partial
  {
    id: "g8l-s401-provider-authority-timer-callsite-partial",
    sequence: 401,
    slug: "provider_authority_timer_callsite",
    title: "Provider-authority timer callsite",
    focusedTests: 16,
    sourceBytes: 8342,
    sourceSha256:
      "383be9135f911ebfb0a6cdd20be248104d8c01712fd5d63ea8f89c8f6279ff1e",
    testBytes: 12270,
    testSha256:
      "221cf91a178e8a195c9425ec464fe5dde12a4b881b75a6b048c5d3c37be06cf2",
    acceptance:
      "CPU1 timer zinciri exact S400 constructor'ını çağırır; authority receipt'i üretildikten sonra live S247 lease timer service dönüşünden önce exact-once bırakılır.",
    retainedBoundary:
      "Admission publisher yoktur; provider çağrısının cross-CPU observation publication'ı S402'ye bırakılmıştır.",
  },
snippet sha256: 77334c60246dfile sha256: 9726dbf00f84
Focused test komutu
CARGO_INCREMENTAL=0 cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s401_provider_authority_timer_callsite -- --test-threads=1
proof: docs/M8.1-RPi5-G8l-S401-Provider-Authority-Timer-Callsite-Proof.md
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9