ASELSANMicrokernel
S363 · SOURCE-BOUND GATE EVIDENCE

S363 · Timed notification-cancel production writer guard integration

production acquire → S247 guard modülü → Operations-bound focused test Bu sayfa yalnız S363 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.

S363Production writer guardOperations id exactsource SHA exacttest target exact

operation: g8l-s363-timed-notification-cancel-writer-guard-integration-partial

production · S247 guard · focused test · Operations · 4 exact excerpt

sequence-bound=true · implementation-bound=true
01 · Test edilen uygulama/model kodu

Kapının yürüttüğü gerçek kaynak

tam Rust öğesiL2627–L2718
kernel/src/ui/capability.rs::cancel_timed_notification_under_transaction

pub(crate) fn cancel_timed_notification_under_transaction(
    expected: crate::ipc_wait::WaitRecord,
) -> Result<TimedNotificationCancellation, TimedNotificationCancelError> {
    if expected.kind().tag() != crate::ipc_wait::WaitKindTag::Notification {
        return Err(TimedNotificationCancelError::NotNotificationWait);
    }
    let waiter_task = expected.key().task_id();
    let notification_id = expected.kind().object_id();
    let notification_generation = expected.kind().object_generation();
    let mask = expected
        .kind()
        .notification_mask()
        .ok_or(TimedNotificationCancelError::MissingMask)?;
    let waiter = crate::ipc_notification::NotificationWaiter::try_new(
        waiter_task,
        notification_generation,
        mask,
    )
    .map_err(|_| TimedNotificationCancelError::AuthorityGraphMismatch)?;

    let mut registry = NOTIFICATION_REGISTRY.lock();
    if registry
        .iter()
        .filter(|object| object.id() == notification_id)
        .count()
        != 1
    {
        return Err(TimedNotificationCancelError::AuthorityGraphMismatch);
    }
    let object_index = registry
        .iter()
        .position(|object| object.id() == notification_id)
        .ok_or(TimedNotificationCancelError::AuthorityGraphMismatch)?;
    if registry[object_index].waiter_snapshot() != Some(waiter) {
        return Err(TimedNotificationCancelError::WaiterNotParked);
    }

    #[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
    let s363_writer_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s363_timed_notification_cancel_writer_guard_integration::acquire_s363_production_scheduler_writer_access()
        .unwrap_or_else(|error| {
            panic!(
                "S363 timed notification-cancel scheduler writer guard failed closed: {:?}",
                error
            )
        });
    let scheduler = unsafe { &mut *core::ptr::addr_of_mut!(crate::task::scheduler::SCHEDULER) };
    let commit_result = (|| {
        let authority = scheduler
            .capability_for_task(waiter_task, notification_id)
            .filter(|capability| {
                capability.id == notification_id
                    && capability.owner == waiter_task
                    && capability.generation == notification_generation
                    && capability.kind == CapabilityKind::Notification
                    && capability
                        .rights
                        .contains(CapabilityRights::NOTIFICATION_WAIT)
            })
            .ok_or(TimedNotificationCancelError::AuthorityGraphMismatch)?;
        let waiter_is_exact = registry[object_index].waiter_snapshot() == Some(waiter);
        let parked_graph_revalidation = if !waiter_is_exact
            || scheduler.notification_blocked_task_count_on(waiter_task, notification_id) != 1
        {
            Err(TimedNotificationCancelError::WaiterNotParked)
        } else {
            Ok(())
        };
        parked_graph_revalidation?;
        let capacity_revalidation = if scheduler.ipc_wake_capacity_available(1) {
            Ok(())
        } else {
            Err(TimedNotificationCancelError::WakeCapacityUnavailable)
        };
        capacity_revalidation?;

        registry[object_index]
            .cancel_waiter_exact(waiter)
            .expect("preflighted timed notification waiter changed inside one IPC transaction");
        scheduler.wake_timed_out_notification_exact(waiter_task, authority);
        Ok::<TimedNotificationCancellation, TimedNotificationCancelError>(
            TimedNotificationCancellation {
                waiter_task,
                notification_id,
                mask,
            },
        )
    })();
    #[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
    drop(s363_writer_access);
    commit_result
}
snippet sha256: 5666db4fc460file sha256: 304e1227daf9
02 · Ortak exclusion üyeliği

S247 production writer guard

tam Rust öğesiL175–L187
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s363_timed_notification_cancel_writer_guard_integration.rs::acquire_s363_production_scheduler_writer_access

#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
pub fn acquire_s363_production_scheduler_writer_access(
) -> Result<G8lS363ProductionSchedulerWriterAccess, G8lS247WholeSchedulerAccessError> {
    let caller_cpu =
        crate::percpu::try_current_cpu_id().ok_or(G8lS247WholeSchedulerAccessError::InvalidCpu)?;
    if caller_cpu != crate::g8l_runtime_contract::CPU0 {
        return Err(G8lS247WholeSchedulerAccessError::InvalidCpu);
    }
    let access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s246_whole_scheduler_read_access_guard::S247_PRODUCTION_WHOLE_SCHEDULER_ACCESS_GATE
        .try_acquire_exclusive_for_valid_cpu(caller_cpu)?;
    Ok(G8lS363ProductionSchedulerWriterAccess { _access: access })
}
snippet sha256: 60e77ea8b817file sha256: 5ce1cb340bef
03 · Doğrulayan test kodu

Operations komutuna bağlı focused test

tam Rust öğesiL404–L415
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s363_timed_notification_cancel_writer_guard_integration.rs::boundary_has_exactly_one_s363_acquire_and_one_shared_cleanup_release

#[test]
fn boundary_has_exactly_one_s363_acquire_and_one_shared_cleanup_release() {
    let boundary = notification_cancel_boundary();
    assert_eq!(
        boundary
            .matches("acquire_s363_production_scheduler_writer_access")
            .count(),
        1
    );
    assert_eq!(boundary.matches("drop(s363_writer_access)").count(), 1);
}
snippet sha256: b4ea1d0898c3file sha256: 804fee88f8f6
04 · Kapı kimlik kaydı

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

tam Operations kaydıL11499–L11641
website/src/lib/operations.ts::g8l-s363-timed-notification-cancel-writer-guard-integration-partial
  {
    id: "g8l-s363-timed-notification-cancel-writer-guard-integration-partial",
    date: "2026-08-28",
    sequence: 363,
    status: "passed",
    umbrella_status: "partial",
    title:
      "S363 · Timed notification-cancel production writer guard integration",
    summary:
      "S363, cancel_timed_notification_under_transaction içindeki exact notification timeout mutation transaction'ını S362 ile 44 production reader'ın kullandığı aynı statik S247 state word'e bağlar. Caller outer IPC transaction ve deadline-registry lock'unu zaten taşır. Notification kind, immutable waiter task/object id/generation/mask, unique notification object ve exact waiter shape writer'dan önce kapanır. Gerçek per-CPU kimliğinden yalnız CPU0 için S363 exclusive writer exact tek mutable scheduler aliasından önce alınır. Notification CNode WAIT authority, waiter ve blocked-task graph lease altında yeniden doğrulanır; wake kapasitesi destructive commit'ten önce kontrol edilir. Exact waiter cancellation ile timed-out notification wake aynı writer membership'indedir ve writer owned sonuç dönmeden explicit bırakılır. Guarded writer 36/69, açık writer 33, provider authority 0 ve whole-scheduler exclusion false'dur. Bir direct production source path vardır; supported-profile runtime observation=0'dır. Endpoint-object teardown admission S364 için ayrı açık kalır.",
    evidence: [
      "Focused S363 timed notification-cancel kapısının production entegrasyonu öncesindeki ilk koşusu 27/48 PASS ve 21 RED verdi. RED'ler production wrapper, actual notification boundary acquisition/revalidation/cleanup, module registration ve CPU1 service henüz bağlı olmadığı için gerçek kaynak eksikleriydi.",
      "Production wrapper, boundary ve CPU1 service bağlandıktan sonraki ilk koşu 46/48 verdi. Kalan iki red davranışsal değildi: exact waiter cancellation, S364 endpoint-object teardown admission remains open ve thirty-three writers remain kaynak sözleşmeleri rustdoc satırlarında bölünmüştü. Exact ifadeler tek satıra alındı; product veya coverage assertion'ı gevşetilmedi.",
      "Final focused sonuç 1 grup / 48 passed / 0 failed'dır; S363 focused kabulü 48/48 PASS'tir. Envanter 44 guarded reader + 36/69 guarded writer + 33 open writer olarak model sabiti, pending-request outcome ve source assertion katmanlarında birlikte doğrulanır.",
      "Kaynak sınırı WaitKindTag::Notification → immutable waiter task/notification id/generation/mask → NotificationWaiter tuple → unique object → exact waiter snapshot → S363 CPU0-only writer → exact tek mutable SCHEDULER aliası → notification CNode WAIT authority → waiter+blocked graph → wake capacity → cancel_waiter_exact → timed-out notification wake → writer drop → owned Result olarak kilitlidir.",
      "Wait kind exact Notification değilse NotNotificationWait döner. Waiter task, notification id ve object generation immutable wait record'dan owned scalar olarak çıkarılır; notification_mask yoksa MissingMask writer denenmeden döner.",
      "NotificationWaiter::try_new task/generation/mask tuple'ını doğrular. Geçersiz waiter shape AuthorityGraphMismatch ile registry lock, exclusive membership ve mutable scheduler pointer kurulmadan kapanır.",
      "Notification registry exact id için identity count=1 ister. Missing veya duplicate object AuthorityGraphMismatch üretir; başka notification object'i üzerinden best-effort cancellation yapılmaz.",
      "Registry waiter snapshot'ı writer öncesinde exact waiter value'suna eşit olmalıdır. Missing veya stale waiter WaiterNotParked döndürür ve S247 writer alınmaz.",
      "Production wrapper exact target_arch=aarch64, target_os=none ve feature=board-rpi5 cfg kesişimindedir. try_current_cpu_id gerçek kimliği türetir; yalnız CPU0 kabul edilir ve exact S247_PRODUCTION_WHOLE_SCHEDULER_ACCESS_GATE üzerinde try_acquire_exclusive_for_valid_cpu çağrılır.",
      "cancel_timed_notification_under_transaction boundary'sinde exact bir acquire_s363 occurrence'ı, exact bir addr_of_mut!(SCHEDULER) aliası ve ortak tail'de exact bir drop(s363_writer_access) vardır. S362 ve S364 acquisition'ları bu boundary'de yoktur.",
      "Writer altındaki authority scheduler.capability_for_task(waiter_task, notification_id) ile alınır; id, owner, generation, Notification kind ve NOTIFICATION_WAIT hakkı birlikte yeniden doğrulanır. Stale veya yanlış CNode authority destructive mutation'dan önce AuthorityGraphMismatch verir.",
      "Registry waiter writer altında ikinci kez okunur ve preflighted exact waiter ile eşleşir. Scheduler blocked graph ayrıca notification_blocked_task_count_on(waiter_task, notification_id)==1 ister; registry waiter ile scheduler task state'i ayrı ledger olarak birlikte doğrulanır.",
      "Wake kapasitesi ipc_wake_capacity_available(1) ile cancel_waiter_exact çağrısından önce doğrulanır. Kapasite yokluğu WakeCapacityUnavailable olarak owned commit_result'a gider ve waiter/task state'i destructive mutation görmez.",
      "Commit exact preflighted waiter value'sunu cancel_waiter_exact çağrısına verir. Aynı outer IPC transaction içinde beklenmeyen waiter drift'i sessiz kısmi başarı değil fail-stop expect invariant'ıdır.",
      "Timed-out wake wake_timed_out_notification_exact(waiter_task, authority) ile writer lease canlıyken yapılır. Generic endpoint wake, IPC CALL/RECV wake veya task taraması kullanılmaz; exact notification authority by-value taşınır.",
      "Başarılı public payload yalnız waiter_task, notification_id ve mask owned değerlerini taşır. Scheduler referansı, registry borcu, waiter referansı veya guard token public çıktıya sızmaz.",
      "Writer sonrası recoverable authority, parked-graph ve capacity hataları let commit_result=(|| { ... })() içinde owned edilir. Guarded dilimde doğrudan return Err yoktur; success ve error tek görünür writer-drop tail'inden geçer.",
      "Caller outer IPC transaction ve deadline-registry lock'unu zaten taşır. Helper IPC_TRANSACTION_LOCK, deadline registry veya IrqGuard'ı yeniden edinmez; S363 yalnız inner scheduler exclusion membership'idir ve mevcut lock order'ı değiştirmez.",
      "Deadline service match'inde yalnız Notification varyantı bu helper'a dispatch eder. CALL S361, RECEIVE S362 sınırlarında kalır; aynı service içindeki yakın üç dal tek toplu writer kapısı sayılmaz.",
      "S363 notification object'i registry'den kaldırmaz, notification grant revoke etmez, deadline registry policy'sini değiştirmez, endpoint/reply lifecycle'ına veya S364 endpoint-object teardown admission'a dokunmaz.",
      "Host-testable execute_s363_guarded_timed_notification_cancel_commit yalnız gerçek CPU0 sabitini kabul eder. Non-CPU0, active reader veya active writer callback'ten önce fail-closed olur; callback error membership'i bırakır ve release sonrasında gate yeniden alınabilir.",
      "S362→S363 token monotonluğu ve iki ayrı exclusive transaction doğrulandı. Timed RECEIVE lease'i timed notification cancellation'a taşınmaz; nested upgrade veya state-word kopyası yoktur.",
      "S363 preflight S362'nin 44 reader / 35 guarded writer / 34 open snapshot'ını exact doğrular ve yalnız doğru zincir 36/69 guarded, 33 open sonucu üretir. Inventory drift fail-closed error'dır.",
      "Pending S245 request yalnız non-consuming view ile incelenir. Request id korunur, request take edilmez, S244 admission yayınlanmaz, provider authority oluşturulmaz ve whole-scheduler exclusion kanıtı uydurulmaz.",
      "CPU1 coverage service S362 service'inden sonra ve tarihsel S242 consumer'dan önce bağlıdır. Bu yalnız pending-request coverage/preflight observation'dır; CPU1 S247 writer edinmez ve notification cancellation runtime'ı çalıştırmaz.",
      "S363 module constants timed notification cancel, exact notification authority revalidation, waiter cancel ve timed-out notification wake için exact bir site kaydeder. Direct source path=1 public API sayısı veya runtime çağrı frekansı değildir.",
      "Tarihsel S286 timed notification cancel writer-authority audit'i ayrı kalır. S286 model-level lease/order audit'iydi; gerçek board-rpi5 static wrapper ve exact production helper acquisition'ı değildi.",
      "S362 tarihsel focused assertion'ı global capability.rs absence yerine kendi RECEIVE boundary'sinde S363 absence ve distinct notification boundary'sinde exact-one S363 acquire şartını birlikte doğrulayacak biçimde güncellendi. S362 semantiği ve 35/69 sayısı korunur.",
      "Final seçili regresyon 8 grup / 235/235 PASS'tir: S363 48/48, S362 48/48, S286 15/15, S358 47/47, S359 49/49, notification deadline 10/10, notification lifecycle 10/10 ve notification race 8/8.",
      "Fresh izole AArch64 profilleri 4/4 exit 0 verdi. Build logları board-qemu 112039 B / 53e053dd4e660777f5b2fe7221f009fc2df158e2a0dd081b6e337874f962e84b / 293 warning header; board-rpi4 150936 B / f190078c0b1a742fa7ba1055c58c279a305a862777c903a7d66d3e292b0cd0a1 / 391; board-rpi5 588833 B / 6f3feef0a84d750689ae9e7cf5f45424ef2b01169863f856e51c1a7ecaa887de / 1330 ve board-rpi5+smp 588775 B / 91cf849379d2f5a43a44b50afb326b60b03f79bee33a3604cf2f6532c43fbc5b / 1330'dur. Zero-warning iddiası yoktur.",
      "Build log ölçüleri ELF boyutu gibi sunulmaz. Fresh ELF artifact'leri board-qemu 17280448 B / 52a6d6eef3af948d4ad865e7556c974b7780c45a987ec48caaed5e83175be458; board-rpi4 12329680 B / 44da9ab47f9107076a00f2d1adc76c217eb22385b1ef8a9be99e0e81004c62cb; board-rpi5 18207656 B / bf50f055debf2c0774969aa1e818ee370c3095c9c38cf2a8237bab46ddf3ce7b ve board-rpi5+smp 18217544 B / ebc741a283c10c1dc60f53bd4f7f1553c06be15dc7eabdf8b55a0209091ea56a olarak ayrı ölçüldü.",
      "S238–S363 dependency matrisi 127 gruptur ve iki bağımsız seri koşunun her biri 2521/2521 PASS verdi. 12064 B raw özetler 150b2f0bc600010f90a8325afac64710d1acd141c4036ff1c2cd77a282c3d6ce / a7a2cb405f34f459abc6f79cffe211afdadfce12f43d0a05b730b62f2bcd50ed; 101 diff satırı timing alanıdır. 12318 B normalize özetler 1c5ead5a5db2e1a8fa2a7ca5b5826c1c457eadafe70ef08846daac727485464c ile byte-eşittir.",
      "Exact yedi frozen G8h assertion dışındaki seri workspace 326 sonuç grubu / 4375 PASS / 0 fail / 7 filtered verdi; 30852 B summary SHA-256 e598340f16ac56bb01755ee7ca9def2430ffebb8a9bb591afe32b6598814a425'tir.",
      "Filtresiz workspace exit 101 ile yalnız frozen S96 wiring_does_not_mutate_timer_gic_boot_or_expand_runtime_scope source-identity reddinde durdu; 279 sonuç grubunda 4120 PASS / 1 fail, 26433 B summary SHA-256 bdf4c98e5ef9914eb41f31e505fedb7b9a9d3461d0b47498debe61f400a6876c'dir. Global workspace GREEN iddia edilmez.",
      "make verify-qemu 116354 B / 2888735017016e272982968026cdea16dee22efce5ea7b2de6c4e792824021ea ile strict ELF W^X 31/31, S130–S154+S271, RuntimePmm, EL0x4096, IPC reply 20/20, scheduler SEC5 ve kernel fault/panic marker 0 PASS verdi. Board-qemu sonucu S363 RPi5 runtime invocation kanıtı değildir.",
      "S363 modülü, focused testi ve güncellenen S362 boundary testi scoped rustfmt check'inde boş çıktılı PASS'tir. Seçili git diff check de boş çıktı verdi. Global cargo fmt 98082 B / 9bd830eec468f524b04878ae5eea9b2959406827acbf442a3964a052cd3206f5 ile miras farklarda RED'dir; global format GREEN iddia edilmez.",
      "Fresh build, dependency, workspace, QEMU ve format artifact dizinleri sırasıyla /tmp/aselsanos-s363-builds-final.vcxRPW, /tmp/aselsanos-s363-dependency-final.OASAm4, /tmp/aselsanos-s363-workspace-final.uRJu6V, /tmp/aselsanos-s363-qemu-final.INjzaI ve /tmp/aselsanos-s363-format-final.timIdc olarak kaydedildi. Geçici path'ler kalıcı proof/status yerine geçmez.",
      "Status manifest S363'ü ayrı g8l_s363_timed_notification_cancel_writer_guard_integration nesnesi ve ayrı gate marker'ıyla kaydeder. JSON parse, generated README write/check ve publication-öncesi project-status 246/246 PASS'tir.",
      "Source-bound Kod generator sequence=363 Operations identity'sini production cancel_timed_notification_under_transaction acquire satırı, exact S363 S247 guard wrapper'ı, focused test ve ayrı Operations kaydıyla eşledi. İlk publication snapshot registry'si S1–S363 aralığında 363/363 ayrı kapı, 1015 exact excerpt, pre-S328 327/327 ve missing=none verdi; SHA-256 3ce239f9f7eaeda0f374440ce676b2afef11a21e83c2416b43079375089146a5'tir. Excerpt satır aralığı ile snippet/tam-dosya SHA-256 değerleri generated registry'de tutulur ve stale registry test/build/deploy'u fail-closed durdurur.",
      "S1–S327 tarihsel Kod kataloğu korunur; pre-S328 kapılar yeni S363 kartı için çıkarılmaz veya birleştirilmez. S109 mantıksal storage kimliği gerçek Make hedefi ve S119 kapanış kanıtıyla kalır; sahte production/test kodu üretilmez.",
      "S363 production/main yayını 210b4d2a-f01b-4114-8dbb-766964560b45 kimliğiyle https://210b4d2a.aselsan-microkernel.pages.dev adresine 116 upload + 84 existing = 200 export dosyası olarak tamamlandı. Yayın öncesi website 612/612, lint PASS, boş çıktılı TypeScript ve 24/24 static route build PASS verdi.",
      "Cache-busted custom-domain doğrulaması deployment build'in yerel out dosyalarıyla dört rotada HTTP 200 ve raw byte-exact PASS verdi: /code/ 19764587 B / 5f823ad407e898add6e4718197782eef163caa868d100571b97e9a113cabc96d; /operations/ 12039429 B / 7d9401fef9450180e682dcaa9ed06bbc87c917931b147495a9354ca4968c9262; /timeline/ 4122668 B / 2bdea4fa61bcf93dc422040c3b27ef1bd20e63f3e8a2d90af3408d1b0f567c6c ve /yol-haritasi/ 4122416 B / 4c14c38c2d7168cc5e1c3e79e6cd5fc77e68eccf869948b97a1cd0dd8b8f7ca0.",
      "/code/ yanıtı Cache-Control: public, max-age=0, must-revalidate, no-transform taşıdı; Cloudflare email-protection dönüşümü 0 occurrence, literal gate etiketi 363/363 ve pre-S328 etiketi 327/327 oldu. Immutable 210b4d2a hostname probe'u bağlantı timeout'u nedeniyle curl exit 28 / HTTP 000 verdi; custom-domain PASS bunun yerine geçirilmez.",
      "S363 sırasında güç, SD kart, Mac kart erişimi, UART capture, raw validation, archive veya promotion yapılmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S363=NO.",
      "S363 bazlı bağlayıcı olmayan planlama görünümü R1 S363–S393, R2 S418–S468, R3 S547+, kaba S523–S573 ve risk paylı merkez yaklaşık S548'dir. Bu projeksiyon yeni sıra veya ürün taahhüdü değildir.",
    ],
    commands: [
      "cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s363_timed_notification_cancel_writer_guard_integration -- --test-threads=1",
      "run S363, S362, S286, S358, S359 and three notification runtime groups serially",
      "run four fresh AArch64 profile builds; run S238-S363 dependency list twice; run filtered and unfiltered serial workspace audits; make verify-qemu",
      "python3 scripts/render-project-status.py --write; python3 scripts/render-project-status.py --check; cargo test -p aselsan_microkernel_simulation --test project_status_manifest -- --test-threads=1",
      "npm run code:generate; npm test; npm run lint; npx tsc --noEmit; npm run build; npm run deploy; cache-busted curl + cmp for four custom-domain routes",
    ],
    terminalSessions: [
      {
        id: "g8l-s363-focused-source-contract",
        title: "S363 focused timed notification-cancel writer membership",
        commandLines: [
          "cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s363_timed_notification_cancel_writer_guard_integration -- --test-threads=1",
        ],
        outputLines: [
          "initial test result: RED; S363 focused 27 passed; 21 failed; production wrapper/boundary/service not yet wired",
          "first integrated result: 46/48; two exact rustdoc contract phrases wrapped across source lines",
          "final test result: ok; S363 focused 1 group / 48 passed; 0 failed",
          "shared S247 gate: 44 guarded readers + 36/69 guarded writers; 33 writers open",
          "notification kind/identities/mask/object/waiter < S363 writer < CNode/waiter/blocked graph/capacity < cancel/wake < writer/output release",
          "static source paths=1; supported-profile runtime observations=0; provider authority=0",
        ],
        exitCode: 0,
        outputMode: "complete",
      },
      {
        id: "g8l-s363-selected-notification-cancel-regression",
        title: "S363 selected notification cancellation regression",
        commandLines: [
          "run S363, S362, S286, S358, S359 and three notification runtime groups serially",
        ],
        outputLines: [
          "preserved S362 RECEIVE-boundary absence and bound exact one S363 acquire to the distinct notification boundary",
          "final result: 8 groups / 235 passed / 0 failed",
        ],
        exitCode: 0,
        outputMode: "complete",
      },
      {
        id: "g8l-s363-core-acceptance",
        title: "S363 four-profile, dependency, workspace and QEMU acceptance",
        commandLines: [
          "run four fresh AArch64 profile builds",
          "run S238-S363 dependency list twice and normalize timing fields",
          "run filtered and unfiltered serial workspace audits",
          "make verify-qemu",
        ],
        outputLines: [
          "four profiles 4/4 exit 0; log and ELF byte/hash measurements recorded separately; zero-warning not claimed",
          "dependency 127 groups / 2521/2521 twice; normalized 12318-byte summaries are SHA-256 identical",
          "filtered workspace 326 groups / 4375 PASS / 7 filtered; unfiltered frozen-S96 remains RED",
          "QEMU W^X 31/31 + S130-S154 + S271 + RuntimePmm + EL0x4096 + IPC 20/20 + SEC5 PASS; not an S363 runtime observation",
          "status JSON + renderer write/check + project-status 246/246 PASS before publication",
        ],
        exitCode: 0,
        outputMode: "complete",
      },
      {
        id: "g8l-s363-production-publication",
        title: "S363 Operations/Timeline/Code production publication",
        commandLines: [
          "npm test && npm run lint && npx tsc --noEmit && npm run build",
          "npm run deploy",
          "cache-busted curl + cmp for /code/, /operations/, /timeline/ and /yol-haritasi/",
        ],
        outputLines: [
          "website 612/612 PASS; lint PASS; TypeScript exit 0 with empty output; static routes 24/24",
          "source registry S1-S363: 363/363 gates / 1015 exact excerpts / pre-S328 327/327 / missing=none / SHA-256 3ce239f9f7eaeda0f374440ce676b2afef11a21e83c2416b43079375089146a5",
          "deployment 210b4d2a-f01b-4114-8dbb-766964560b45; 116 upload + 84 existing = 200 export files",
          "four custom-domain routes HTTP 200 and byte-exact=true; /code no-transform; edge rewrite count=0",
          "immutable hostname curl exit 28 / HTTP 000; not substituted for custom-domain PASS",
        ],
        exitCode: 0,
        outputMode: "complete",
      },
    ],
    terminalSessionsNote:
      "Terminal kartları focused kaynak kabulünü, seçili notification regresyonunu, dört-profil/dependency/workspace/QEMU kabulünü ve production yayını ayrı gösterir. Raw test/build günlüklerinin byte/hash kimlikleri kalıcı proof ve status manifestinde tutulur. Ortak QEMU sonucu S363 RPi5 runtime invocation veya fiziksel kabul olarak yükseltilmez; yayın PASS yalnız gerçek deployment ve custom-domain byte-eşitliğiyle kaydedilir.",
    limitations: [
      "S363 otuz altıncı production writer'ın dar kaynak entegrasyonudur. Yalnız exact timed notification waiter cancellation ve wake transaction'ı guarded'dır; S364 endpoint-object teardown admission ayrı kalır.",
      "Production provider authority ve whole-scheduler exclusion tamamlanmadı; S245 request tüketilmez ve S244 admission yayınlanmaz.",
      "Tek static source path wiring envanteridir; S363-specific supported-profile invocation/observation kanıtı yoktur.",
      "Kalan 33 production writer, global rustfmt, frozen-S96 filtresiz workspace, default-parallel PTY determinism, transient-contention liveness/soak, Generic SMP ve fiziksel kabul açıktır.",
      "physical/device operations=0 · RUNBOOK_EXECUTED_IN_S363=NO.",
    ],
  },
snippet sha256: d9a62e9ff468file sha256: 9726dbf00f84
Focused test komutu
cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s363_timed_notification_cancel_writer_guard_integration -- --test-threads=1
proof: docs/M8.1-RPi5-G8l-S363-Timed-Notification-Cancel-Writer-Guard-Integration-Proof.md
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06