S72 · SOURCE-BOUND GATE EVIDENCE
G8f quiescent handoff sözleşmesi yeşil; runtime intentional RED
Operations --test hedefi → simulation public mod g8e_contract bağı → kaynak kesiti Bu sayfa yalnız S72 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S72Focused kod testiOperations id exactsource SHA exacttest target exact
operation: rpi5-g8f-contract-source-tdd-red
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 öğesiL45–L93
kernel/src/g8e_contract.rs::MAX_G8D_HANDOFF_TICKS
pub const TASK_STACK_BYTES: usize = crate::g8d_contract::TASK_STACK_BYTES;
pub const TASK_ARGUMENT: u64 = 0x4738_4557_414b_4532; // "G8EWAKE2"
pub const TASK_RETURN: u64 = 0x4738_4552_4554_0002; // "G8ERET" + 2
pub const MAX_G8D_HANDOFF_TICKS: u64 = 5;
pub const MIN_INTER_WAKE_TICKS: u64 = 1;
pub const MAX_INTER_WAKE_TICKS: u64 = 105;
pub const MAX_STAGE_WAIT_TICKS: u64 = 100;
pub const MIN_PRIMARY_PROOF_TICKS: u64 = 10;
pub const STAGE_IDLE: u64 = 0;
pub const STAGE_RELEASE: u64 = 1;
pub const STAGE_REARM_READY: u64 = 2;
pub const STAGE_ARMED: u64 = 3;
pub const STAGE_IRQ_HANDLED: u64 = 4;
pub const STAGE_TASK_DISPATCHED: u64 = 5;
pub const STAGE_TASK_ENTERED: u64 = 6;
pub const STAGE_TASK_RETURNED: u64 = 7;
pub const STAGE_QUIESCENT: u64 = 8;
pub const STAGE_PARKED: u64 = 9;
pub const STAGE_ERROR: u64 = u64::MAX;
pub const SPSR_MODE_MASK: u64 = crate::g8d_contract::SPSR_MODE_MASK;
pub const SPSR_EL1H: u64 = crate::g8d_contract::SPSR_EL1H;
pub const DAIF_IRQ_MASK: u64 = crate::g8d_contract::DAIF_IRQ_MASK;
pub const CPACR_FPEN_MASK: u64 = crate::g8d_contract::CPACR_FPEN_MASK;
pub const GICC_CTLR_EOIMODE_NS_MASK: u64 = 1 << 9;
const _: () = assert!(SOURCE_CPU_INDEX == 0);
const _: () = assert!(TARGET_CPU_INDEX == 1);
const _: () = assert!(TARGET_LIST == 1 << TARGET_CPU_INDEX);
const _: () = assert!(SGI_INTID == 1);
const _: () = assert!(SGIR_COMMAND == 0x0002_0001);
const _: () = assert!(PRIOR_ROUNDS == 1);
const _: () = assert!(NEW_ROUNDS == 1);
const _: () = assert!(TOTAL_ROUNDS == 2);
const _: () = assert!(EXPECTED_NEW_SENDS == 1);
const _: () = assert!(EXPECTED_NEW_SENDS == EXPECTED_NEW_DELIVERIES);
const _: () = assert!(EXPECTED_NEW_DELIVERIES == EXPECTED_NEW_ACKS);
const _: () = assert!(EXPECTED_NEW_ACKS == EXPECTED_NEW_EOIS);
const _: () = assert!(EXPECTED_NEW_EOIS == EXPECTED_NEW_RESCHEDULES);
const _: () = assert!(EXPECTED_NEW_RESCHEDULES == EXPECTED_NEW_WAKEUPS);
const _: () = assert!(EXPECTED_NEW_WAKEUPS == EXPECTED_NEW_TASK_RUNS);
const _: () = assert!(EXPECTED_TOTAL_SENDS == 2);
const _: () = assert!(EXPECTED_TOTAL_SENDS == EXPECTED_TOTAL_DELIVERIES);
const _: () = assert!(EXPECTED_TOTAL_DELIVERIES == EXPECTED_TOTAL_ACKS);
const _: () = assert!(EXPECTED_TOTAL_ACKS == EXPECTED_TOTAL_EOIS);
const _: () = assert!(EXPECTED_TOTAL_EOIS == EXPECTED_TOTAL_RESCHEDULES);
const _: () = assert!(EXPECTED_TOTAL_RESCHEDULES == EXPECTED_TOTAL_WAKEUPS);snippet sha256: 05e10f94dad3…file sha256: e40b9aaccf31…
02 · Doğrulayan test kodu
Operations komutuna bağlı focused test
tam Rust öğesiL245–L289
simulation/tests/rpi5_g8e_uart.rs::order_handoff_gap_and_cpu0_timer_correlation_are_bounded
#[test]
fn order_handoff_gap_and_cpu0_timer_correlation_are_bounded() {
let duplicate = format!("{}{}", pass(), G8E_SUFFIX);
assert!(has(&failures(duplicate), "must occur exactly once"));
let first = G8E_SUFFIX.lines().next().expect("G8E0");
let second = G8E_SUFFIX.lines().nth(1).expect("G8E1");
let reordered = replace_suffix(
&format!("{first}\n{second}\n"),
&format!("{second}\n{first}\n"),
);
assert!(has(&failures(reordered), "marker order mismatch"));
assert!(has(
&failures(replace_suffix("START_TICKS=1000", "START_TICKS=1006")),
"within 5 ticks of BOOT8D"
));
assert!(has(
&failures(replace_suffix("GAP_TICKS=99", "GAP_TICKS=98")),
"must equal START_TICKS minus"
));
assert!(has(
&failures(replace_suffix("SEND_TICK=1000", "SEND_TICK=1101")),
"bounded stage window"
));
assert!(has(
&failures(replace_suffix("TICK=1001", "TICK=1101")),
"bounded stage window"
));
assert!(has(
&failures(replace_suffix(
"BASE_TICKS=1000 TICKS=1100",
"BASE_TICKS=1000 TICKS=1009"
)),
"timer delta must be at least"
));
assert!(has(
&failures(replace_suffix(
"[SEC 11] ticks=1100 drift=+0 µs (+6 count)\n",
""
)),
"requires a CPU0 SEC timer sample"
));
}snippet sha256: f1592e0273e7…file sha256: 0c76cfeee14a…
03 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL30536–L30623
website/src/lib/operations.ts::rpi5-g8f-contract-source-tdd-red
{
id: "rpi5-g8f-contract-source-tdd-red",
date: "2026-08-21",
sequence: 72,
status: "partial",
title: "G8f quiescent handoff sözleşmesi yeşil; runtime intentional RED",
summary:
"Sıra 71'de dondurulan ilk post-BOOT8E kapı için allocation-free G8f contract, strict UART parser, canonical G8F0/G8F1/BOOT8F fixture, adversarial testler ve CLI validator oluşturuldu. Transient ACK yarışı TDD sırasında kapatıldı: stage `ACKNOWLEDGED` olarak terminal kalıyor; CPU1 ayrı `REPARK_PUBLISHED=1` Release-store'u, ack generation ve ikinci SEV'i yayımlıyor; CPU0 bunları Acquire ettikten sonra ACK tick'ini kendi sayacından ölçüyor. Gözlenemeyen exact WFE wake iddiası yoktur. Parser 9/9, önceki G8e regresyonu 9/9 ve synthetic validator PASS verdi. Source TDD, SPSEL/EL1h, salt-okunur pending/active snapshot, canary, CPU0 timer on/CPU1 timer off, üç CPU0-owned marker ve bütün forbidden write/call yüzeylerini dondurdu. Hedef source testi yalnız eksik `kernel/src/rpi5_g8f.rs` nedeniyle exit 101 verdi; runtime, layout ve Makefile henüz bilinçli olarak yoktur.",
evidence: [
"Sıra 71 production deployment `17f7d301…`; canonical `/operations/` dördüncü cache-bust snapshot'ta exact 2.243.954 B / a3234c78f676a4fb7faec311262ab4dc9ae8ca58ce904d3cc6a63b141e6f9354 ve local cmp PASS verdi.",
"G8f contract 1657a9ef88d9ea9575cc68ad9461ae40d898249fda16746e0ad3e739d3016c2e; allocation-free sabitler release/ack generation=1, prior totals=2, G8f new CPU1 IRQ/SGI/task/GIC write=0 ve ack bound=5 olarak donduruldu.",
"Strict parser 67218d6187d375d87383816b1583b897a86f28d701f8b4f987ed6c479ae2dfec; canonical fixture 1.605 B / 7567f393732a235dd040854ef9aa0d72ed7121e08c1597f8a8f78781eed0de3c.",
"G8f adversarial parser 9/9 PASS; G8e parser regresyonu 9/9 PASS; simulation lib/check/example ve synthetic validator PASS verdi.",
"Validator exact `G8f PASS: release_gen=1 ack_gen=1 source_cpu=0 target_cpu=1 ack_ticks=1 proof_ticks=1 cpu1_irqs=0 new_sgi=0 new_gic_writes=0 boot8f_tick=1101` çıktısını verdi.",
"Frozen marker sırası exact G8F0→G8F1→BOOT8F; üçü de CPU0-owned, G8F1 `REPORTER=CPU0` ile CPU1 publication'larını raporlar.",
"Protokol release SEV=1 + ack/repark SEV=1 = total SEV 2; stage transient olmadan ACKNOWLEDGED kalır ve ayrı REPARK_PUBLISHED Release-store'u CPU0 tarafından Acquire edilir.",
"G8F1 MPIDR=0x100, TPIDR=1, EL=1, MODE=EL1H, SPSEL=1, IRQ masked, timer off, pending/active=0/0, GIC reads/writes=1/0 ve canary OK sözleşmesini taşır.",
"BOOT8F prior send/delivery/ack/EOI/reschedule/wake/run=2, new CPU1 IRQ/SGI/task/GIC write=0, CPU0 timer on/ticks advanced ve generic SMP/migration/TLBI/CPU2_3 off değerlerini exact field/order ile zorlar.",
"Source TDD 13.354 B / c6b22c9f55af72f6a43da148794216402a5f15595f2bd58dc4b2622713813135; hedef koşu exit 101 ve tek önceki hata eksik `kernel/src/rpi5_g8f.rs` include'ıdır.",
"Staged proof 10.929 B / 8674a8f8214e1dc21eeb5cf60704f98d7d3cb98db07414a11fd01b7d0bd65697; G8e fiziksel 15.762 B/c9909dea…51f4d temelini immutable tutar ve runtime/layout/physical iddiası yapmaz.",
"`cargo fmt --all -- --check`, G8f EOF/trailing-whitespace ve hedef diff-check kapıları PASS verdi.",
],
terminalSessionsNote:
"İlk oturum Sıra 71 plan yayınının canlı kapanışını, ikinci oturum G8f contract/parser GREEN'i, üçüncü oturum ise bilinçli ve tek-kök-neden source RED'i gösterir. Bu kayıt runtime veya fiziksel BOOT8F değildir.",
terminalSessions: [
{
id: "g8f-seq71-production-close",
title: "Sıra 71 yol haritası production ve canonical cmp kapanışı",
commandLines: [
"npm test; npm run lint; npx tsc --noEmit --incremental false; npm run build",
"npx wrangler pages deploy out --project-name=aselsan-microkernel --branch=main --commit-dirty=true",
"cache-busted canonical operations snapshots; compare one immutable snapshot with local out",
],
outputLines: [
"tests=123/123 · lint/TypeScript=PASS · static pages=22/22",
"deployment=17f7d301.aselsan-microkernel.pages.dev",
"attempts1-3=old seq70 cache · attempt4=2243954 B / a3234c78…9354 · cmp=PASS",
"sequence71 markers=5 · roadmap hash markers=3 · operations/firmware HTTP=200/200",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8f-contract-parser-green",
title: "G8f strict contract, adversarial parser ve G8e regresyonu",
commandLines: [
"cargo test -p aselsan_microkernel_simulation --test rpi5_g8f_uart",
"cargo test -p aselsan_microkernel_simulation --test rpi5_g8e_uart",
"stream G8 through G8f canonical fixtures into verify_rpi5_g8f_log",
"cargo fmt --all -- --check",
],
outputLines: [
"G8f UART adversarial=9/9 PASS · G8e regression=9/9 PASS",
"G8f PASS: release_gen=1 ack_gen=1 source_cpu=0 target_cpu=1 ack_ticks=1 proof_ticks=1",
"cpu1_irqs=0 new_sgi=0 new_gic_writes=0 boot8f_tick=1101",
"simulation lib/example/fmt/EOF/whitespace=PASS",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8f-source-intentional-red",
title: "Source TDD yalnız eksik runtime dosyasında fail-closed",
commandLines: [
"cargo test -p aselsan_microkernel_simulation --test rpi5_g8f_source",
"inspect exact compiler diagnostics and count previous errors",
],
outputLines: [
"exit=101",
"couldn't read simulation/tests/../../kernel/src/rpi5_g8f.rs: No such file or directory (os error 2)",
"source=rpi5_g8f_source.rs:13:19 · due to 1 previous error",
"other root causes=0 · intentional RED=PASS",
],
exitCode: 101,
outputMode: "complete",
outputNote:
"Exit 101 bu TDD adımında beklenen ve doğrulanan tek-kök-neden RED sonucudur.",
},
],
limitations: [
"`kernel/src/rpi5_g8f.rs`, G8e→G8f runtime seam'leri, layout gate ve Makefile wiring henüz yoktur; G8f runtime GREEN değildir.",
"Yeni image/package üretilmedi, microSD yazılmadı ve gerçek G8F0/G8F1/BOOT8F UART marker'ı görülmedi; fiziksel PASS iddia edilmez.",
"Generic SMP, per-CPU periodic timer, local preemption, runqueue, migration, ASID/TLBI, CPU2/CPU3, soak ve hotplug kapalıdır.",
"Clippy `-D warnings` G8f kaynaklarından değil, mevcut G8e/G8c/paging uyarılarında durur; kapsam dışı dosyalar bu adımda değiştirilmedi.",
"Website yayını canonical custom domain üzerinden doğrulanır; bu ortamda reset veren pages.dev direct smoke için başarı iddia edilmez.",
"Wrangler yayını dirty/untracked workspace'ten ve stale 47d22c9 source etiketiyle yapılır; canlı artifact hash'i doğrulansa da Git-provider provenance kurulmuş sayılmaz.",
],
},snippet sha256: 311993f928d9…file sha256: 9726dbf00f84…
Focused test komutu
cargo test -p aselsan_microkernel_simulation --test rpi5_g8e_uartRegistry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06