feat: the forwarded op's serving side + the lenient reply projection (ADR-008 as amended)
- `ForwardedHandler` — the injected assembly handler (parsed params +
channel `BiStream`); the assembly owns the pump, correlating by the
`listen` token against its waiting-listener bookkeeping
- `make_forwarded_op_handler` — the built-in no-establisher wrapper:
deny-unknown params parse (a malformed open fails loud → early
return → teardown-at-birth reaps the channel, no phantom),
`accept_bi` FIRST (R-02 accepted-flag telemetry), the injected
handler's `JoinHandle` awaited inline (R-02)
- `register_tunnel_forwarded_openable` — `register_openable` shape
(no establisher; the data plane starts immediately), scope gate
`tunnel:forwarded` (ingress, never implied by `tunnel:open`/
`tunnel:direct`)
- `listen_reply_fields` — the lenient, infallible reply projection
(unknown extra reply fields tolerated; a malformed shape logs loud
and surfaces both-`None`), shared with `TunnelListener`, delegating
to `parse_listen_reply`
- Tests: 4 unit (reply projection) + 4 integration
(serving-half e2e round-trip, FORBIDDEN gate, malformed-params
teardown at both gates, correlation-miss teardown)
Verified: cargo test green (126 default; 146 --all-features),
clippy --all-targets -D warnings clean (native + wasm32), fmt clean,
wasm32-unknown-unknown check passes, cargo doc --no-deps clean