ASELSANMicrokernel
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: b28227231109file 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: 0aafd23fbb96file sha256: 9726dbf00f84
Kayıtlı yürütme/kanıt komutu
make verify-rpi5-g8h-capture-source
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9