Reject invalid route folds before binding and borrow compiler sessions - #729
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Invalid route-fold installation previously reached debug-only assertions after route operations had been removed, risking missing audio in release builds. Graph binding now validates the fold before consuming caller-owned processors, observers or sources, and construction consumes that validated plan. Rack fold configuration keeps its active mask tied to the chain it constructs. Console non-source bindings use the explicit identity contract.
The graph compiler also borrows its compiled session during preparation, removing the full-session clone while preserving original input ownership on failure.
Validation: independent Astra XHIGH source review; public invalid-fold rejection and same-owner retry controls; debug/release route-fold corpus, PCM, pairing and rack controls; corrected master-identity census and strict Clippy. Reviewed combined source
5e45c7a1: 124 graph/rack debug tests and 39 release checks passed, plus compiler ownership/retry verification. Shared ordinary AudioWorklet build reproduced pina24d0cae; static/resource/host/SDK/package and three-browser mutation gates passed. All five companion artifact files are unchanged. No performance claim.Delivers #221 and #162 after required PR and exact-main qualification. #220 is the already-delivered prerequisite.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.