S121 · SOURCE-BOUND GATE EVIDENCE
S121 G8h capture helper ve immutable physical-raw kabul yolu host-only VERIFIED
Operations komutu/kapı ailesi → gerçek repository yürütme sözleşmesi Bu sayfa yalnız S121 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S121Komut / fiziksel sözleşmeOperations id exactsource SHA exact
operation: rpi5-g8h-s121-capture-physical-raw-preparation-verified
script/Makefile/config · Operations · 2 exact excerpt
sequence-bound=true · implementation-bound=false
01 · Yürütme sözleşmesi
Gerçek script / Makefile / config kaynağı
tam Make hedefiL6297–L6313
Makefile::verify-rpi5-g8h-capture-source
verify-rpi5-g8h-capture-source:
$(CARGO) test -p aselsan_microkernel_simulation \
--test rpi5_g8h_capture_source
@$(MAKE) verify-rpi5-g8h-contract
@set -eu; \
capture_tmp=$$(mktemp -d /tmp/aselsanos-g8h-capture-source.XXXXXX); \
trap '/bin/rm -rf "$$capture_tmp"' 0 1 2 15; \
$(CC) -std=c11 -D_DARWIN_C_SOURCE -D_DEFAULT_SOURCE \
-Wall -Wextra -Wpedantic -Werror -O2 \
scripts/capture-rpi5-g8h-uart10.c \
-o "$$capture_tmp/capture-rpi5-g8h-uart10"; \
G8H_CAPTURE_HELPER="$$capture_tmp/capture-rpi5-g8h-uart10" \
G8H_CAPTURE_PTY_RAW="$$capture_tmp/uart10.raw" \
$(CARGO) test -p aselsan_microkernel_simulation \
--test rpi5_g8h_capture_pty -- --test-threads=1; \
$(CARGO) run --quiet -p aselsan_microkernel_simulation \
--example verify_rpi5_g8h_log -- "$$capture_tmp/uart10.raw"snippet sha256: b28227231109…file sha256: a8d6a7830268…
02 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL27155–L27229
website/src/lib/operations.ts::rpi5-g8h-s121-capture-physical-raw-preparation-verified
{
id: "rpi5-g8h-s121-capture-physical-raw-preparation-verified",
date: "2026-08-23",
sequence: 121,
status: "verified",
title:
"S121 G8h capture helper ve immutable physical-raw kabul yolu host-only VERIFIED",
summary:
"BOOT8H-aware UART10 helper, PTY/adversarial harness ve immutable direct-raw doğrulama zinciri yalnız host üzerinde tamamlandı. Capture source 6/6, G8g+G8h contract 24/24 ve PTY 6/6; physical-raw semantic 8/8 ile source 5/5 PASS verdi. Canonical 13.157 bayt sentetik fixture 12 authoritative validator, 60 marker occurrence ve 57 distinct tag ile geçti; `physical=NO` kaldı. Gerçek UART açılmadı, gerçek capture arm edilmedi, Pi'ye güç verilmedi ve BOOT8H çalıştırılmadı. Sıradaki fiziksel kapı ayrı exact yetkili S122 same-descriptor UART pre-arm'dır; S122'de güç yoktur.",
evidence: [
"Capture kapısı: source 6/6, contract 24/24, PTY/adversarial 6/6; tam BOOT8G satırı G8h helper'ı sonlandırmadı ve gerçek BOOT8H 4096 bayt read sınırında bölünmüşken yakalandı.",
"Helper yalnız bir serial FD için O_RDWR|O_NOCTTY|O_NONBLOCK + TIOCEXCL, effective 115200/8N1/raw/flow-off (IGNBRK/INPCK ve platform hardware-flow bayrakları dahil), VMIN/VTIME=0/0 ve TCIFLUSH sözleşmesini taşır. Fresh O_EXCL raw, arm anında exact 0600/nlink1/size0 fstat ile dev/inode kimliği yayımlar; checked 64 MiB sınırından sonra aynı dev/inode üzerinde fsync→exact 0444→fsync→fstat→close ile kapanır.",
"Immutable raw kapısı beş exact positional değer ister: canonical path, bytes, SHA-256 ve helper'ın capture_identity satırı + bağımsız canlı-FD auditinden gelen EXPECTED_DEVICE/EXPECTED_INODE. Atomic pre/post stat kayıtları beklenen dev:inode'a ve birbirine bağlanır; semantic 8/8, source 5/5, regular/non-symlink, exact 0444/nlink1, O_NOFOLLOW ve aynı bytes/SHA zinciri fail-closed'dur.",
"Canonical sentetik raw: 13157 B / `27496440bf1791d9cc4430ce4eca6f7d2ba7e7f67ac0476c7771cea650f2c155`; validators=12, milestones=60, distinct_tags=57, physical=NO.",
"İki bağımsız temiz C derlemesi byte-equal: source 20525 B / `6e438d260bbecde7c9cdeeb371f3b9edfd567b108533671a2b59287d4adc56cd`; geçici binary'ler 35048 B / `f21d002741bc3e4d327a64d229945e2857067046b94421835f80d9b265349df2`. Binary kalıcı frozen path'e publish edilmedi.",
"Final serialized workspace matrisi 419/419 test ve 66 grup (64 binary + 2 doc-test) PASS verdi.",
"Salt-okunur descriptor snapshot'ı yalnız candidate olarak `/dev/cu.usbmodem214402` + `/dev/tty.usbmodem214402`, Debug Probe 0x2e8a/0x000c rev0x0101, serial E6647C74033F9131, location 0x02144000, 12 Mbps ve address snapshot 8 verdi; endpoint açılmadı ve S122 için fresh audit zorunlu.",
"Kalıcı kanıt: `evidence/rpi5/g8h/sequence-121-capture-and-physical-raw-preparation/README.md`.",
],
commands: [
"make verify-rpi5-g8h-capture-source",
"make verify-rpi5-g8h-physical-raw-source",
"cargo test --workspace -- --test-threads=1",
],
terminalSessions: [
{
id: "s121-capture-source-pty",
title: "BOOT8H-aware capture helper host gate",
commandLines: ["make verify-rpi5-g8h-capture-source"],
outputLines: [
"capture_source=6/6 PASS",
"g8g_g8h_contract=24/24 PASS",
"capture_pty=6/6 PASS",
"PTY_CAPTURE_ARMED=YES source=TEST_FIXTURE physical=NO",
],
exitCode: 0,
outputMode: "selected",
},
{
id: "s121-immutable-physical-raw",
title: "Immutable G7a–G8h aggregate raw gate",
commandLines: ["make verify-rpi5-g8h-physical-raw-source"],
outputLines: [
"physical_raw_semantic=8/8 PASS",
"physical_raw_source=5/5 PASS",
"validators=12 milestones=60 distinct_tags=57 exact_bytes=13157 physical=NO",
"G8H_PHYSICAL_RAW_SOURCE=PASS hardware=UNTOUCHED device=0 uart=0 power=0",
],
exitCode: 0,
outputMode: "selected",
},
{
id: "s121-clean-helper-equality",
title: "İki temiz helper derlemesi byte-equal",
commandLines: [
"cc <frozen-flags> capture-rpi5-g8h-uart10.c <build-A/build-B>",
"cmp build-A build-B",
],
outputLines: [
"CLEAN_REBUILD_EQUAL=PASS builds=2",
"binary_bytes=35048 sha256=f21d002741bc3e4d327a64d229945e2857067046b94421835f80d9b265349df2",
"REAL_UART_OPEN=0 REAL_CAPTURE_ARMED=NO PI_POWER=0 PHYSICAL_BOOT8H=0",
],
exitCode: 0,
outputMode: "selected",
},
],
terminalSessionsNote:
"S121 oturumları host source/PTY ve sentetik fixture kapılarıdır. PTY helper arm'i gerçek UART arm'i değildir; physical provenance kurulmaz.",
limitations: [
"S121 physical boot veya UART pre-arm değildir: REAL_BLOCK_DEVICE_OPEN=0, REAL_UART_OPEN=0, REAL_CAPTURE_ARMED=NO, PHYSICAL_RAW=ABSENT, PI_POWER=0 ve PHYSICAL_BOOT8H=0.",
"Son boot/runtime PASS S92 BOOT8G, son storage/media PASS S119 ve son placement kaydı S120 USER-REPORTED olarak değişmeden kalır.",
"S122 fresh multi-sample USB/IOSerial identity ve holder=0 sonrası ayrı exact yetkili UART pre-arm'dır; güç verilmez. S123 power/capture ve S124 archive/promotion ayrıca ayrıdır.",
],
},snippet sha256: 0aafd23fbb96…file sha256: 9726dbf00f84…
Kayıtlı yürütme/kanıt komutu
make verify-rpi5-g8h-capture-sourceRegistry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9