slice-4 (finisher): secondary-path e2e + CI seam gate (Tasks 9.2 + 10) #13

Merged
alee merged 2 commits from slice-4-finisher into main 2026-07-04 17:52:31 +00:00
Showing only changes of commit 26f48a4c6b - Show all commits

View File

@@ -40,6 +40,29 @@ jobs:
toolchain: [stable, "1.85"]
steps:
- uses: actions/checkout@v4
# Seam gate (slice-4 §7 #3 / PORT_PLAN phasing):
#
# `loop_driver.rs` and `rtc_session.rs` are the hot-path media seam
# preserved from slice-3. They MUST remain byte-identical across
# slice-4 so the reflex wrapper can be added without touching the
# core poll loop. If a legitimate change is needed, update the pinned
# blob hashes below in the same PR — loud and reviewable by design.
- name: Seam gate — loop_driver + rtc_session byte-identical to slice-3
run: |
EXPECTED_LOOP_DRIVER='744bf314edf7f4925c8bb3bd0f5176dbc88f8113'
EXPECTED_RTC_SESSION='a4c9f2ae64e56c08e1990956391514929535b526'
GOT_LOOP_DRIVER=$(git hash-object crates/rutster-media/src/loop_driver.rs)
GOT_RTC_SESSION=$(git hash-object crates/rutster-media/src/rtc_session.rs)
if [ "$GOT_LOOP_DRIVER" != "$EXPECTED_LOOP_DRIVER" ]; then
echo "::error::loop_driver.rs blob mismatch: $GOT_LOOP_DRIVER != $EXPECTED_LOOP_DRIVER"
exit 1
fi
if [ "$GOT_RTC_SESSION" != "$EXPECTED_RTC_SESSION" ]; then
echo "::error::rtc_session.rs blob mismatch: $GOT_RTC_SESSION != $EXPECTED_RTC_SESSION"
exit 1
fi
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}