slice-5: MediaAddressConfig — advertised addr + port range (review B1)

Re-pins the rtc_session.rs seam hash (loud by design). loop_driver.rs
unchanged. Default config reproduces pre-slice-5 behavior exactly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012QndwfhjyTiZcUYp87dwW8
Signed-off-by: Aaron D. Lee <himself@adlee.work>
This commit is contained in:
2026-07-04 20:01:12 -04:00
parent 04e6fec673
commit b97c083faf
8 changed files with 331 additions and 81 deletions

View File

@@ -41,17 +41,18 @@ jobs:
steps:
- uses: actions/checkout@v4
# Seam gate (slice-4 §7 #3 / PORT_PLAN phasing):
# Seam gate (slice-4 §7 #3; re-pinned slice-5):
#
# `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.
# `loop_driver.rs` stays byte-identical to slice-3 — the hot-path
# poll loop is untouched. `rtc_session.rs` was re-pinned in slice-5
# for MediaAddressConfig (2026-07-04 scalability review, B1:
# bind/advertised address split + port range). 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'
EXPECTED_RTC_SESSION='76bbcf8c85be0041abda1bcc3390b299fcef3d6f'
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