Lands the composed accept (ADR-007 variant 2 / ADR-008): the BIND
accept whose listener lives on an alktunnels 0.2.0 bind-first listen
resource, at the graduation's vanilla fidelity.
- `composed::bindfirst_accept` — the BindAcceptFactory: opens the
listen channel (reply#1 advertises the open-op reply's real
`bound`, the 0.8.0 reply projection — no expected-addr stand-in),
inserts the minted `listen` token into the correlation registry,
and returns the accept future parked on the token's oneshot.
- `composed::register_forwarded_serving` — the forwarded-op serving
half on the SOCKS5 producer's connection: the shared handler
correlates by token and owns the middle pump (either-EOF
completion; a three-party per-direction shutdown cascade would
deadlock).
- The Sync-bound wrinkle: `SyncHalves`/`OwnedWrite` (mutex
Sync-proof, no unsafe) over the forwarded halves; the owner
(`ForwardedOwner`, the TunnelListener) rides inside the write
payload — dropping the handle drops the session, halves, and
listener together (teardown structural, compiler-enforced).
- `tests/composed-accept.rs`: the full story (real bound, real peer,
raw pass-through round trip), client-gone teardown drop-witness,
distinct tokens for concurrent BINDs, per-accept isolation of a
FORBIDDEN forwarded open, late-forwarded correlation miss.
- The producer-side adopted forwarded entry rides the per-adopter
contract (transport-EOF reap), as upstream's bind-first suites
concede; the no-leak probe reflects that shape.
Verification: cargo test (default + --all-features), wasm
check/clippy (hard gate), clippy --all-targets --all-features -D
warnings, fmt --check — all clean.