ADR-0007 lands in code: - Rename crates/rutster-signaling-sip → crates/rutster-trunk. The crate was a stub anyway (lib.rs with a doc-comment + crate_compiles() test); the rename locks the new boundary shape — the future rented-transport ingress (CPaaS media-leg fork / out-of-tree SBC glue, **no SIP stack**) lands here at spearhead step 5. - rutster-trunk/src/lib.rs doc-comment now describes the ADR-0007 split: CPaaS media-leg adapter as primary, out-of-tree SBC for on-prem graduation. Cross-refs ADR-0007 + ADR-0008 (FOB vs. green zone: trunk is green zone; SIP lives outside the trust boundary). - rutster-spend/src/lib.rs doc-comment updated to quote ADR-0007's 'rutster mediates both the provider call-control API and the brain tap' framing — the spend gate sits in that boundary, structurally preventing a runaway brain from exceeding spend/pacing. Pulling spend out into a service re-introduces the 3-vendor structural hole. Cargo bumps: - edition = '2024' (slice-1's pinned Rust 1.85 + edition-2024 floor already requires this; rutster-media's let-else pattern in OpusDecoder::decode · Slice-2's let-else in AcceptOffer's Uuid parse_str · all rely on edition 2024's stabilized let-chains / let-else). - repository = 'https://git.adlee.work/alee/rutster' (the self-hosted Gitea remote — matches 'git remote -v' origin). The github.com/anomalyco URL was stale from the pre-pivot copy. - Cargo.lock regenerated by cargo for the rename. No behavioral code changes — the trunk crate's body is still the stub crate_compiles() test. FOB membership (per ADR-0008) is unchanged: rutster-trunk will be FOB-internal at step 5 because it's the media-leg ingress (hot path); spend-spend stays FOB because spend is security-constitutive.
47 KiB
47 KiB