949d0bbbe490168ac285111c9873c93b3b678320
- ServeConfig: OQ-08 shell_argv / exec_wrapper_argv as Option<Vec<String>> with unset-declines doc contracts (no crate default shell/wrapper); OQ-09 session_cwd/session_env (assembly-supplied, never wire-derived); injected Arc<dyn IdentityProvider> + Arc<dyn HostKeySource> handles; optional Arc<ChannelClient> route-1 handle (absent -> tunnel rows decline even under the tunnel feature); Limits. - DialConfig: address + injected Arc<dyn KeySource> and Arc<dyn HostKeyPolicy> handles + Limits. - Limits: the bounded-resources budget model both directions carry — in-crate caps (max_concurrent_channels 64, max_exec_command_len 8192) and the russh-knob mapping with documented postures (max_auth_attempts 10 per ADR-004 decision 6; window 2 MiB / packet 32 KiB / buffer 100; inactivity 600 s always-set shape; keepalive Some(15 s)/3 client posture). - Types only: no russh Config construction (wave 2), no dialing (wave 4); no construction-time validation — unset-declines lives in the type shape (error.rs no-config-error contract). Verified: cargo test (36), cargo test --all-features, clippy (all-targets, -D warnings, default + all-features), fmt --check.
Languages
Rust
99.2%
Python
0.6%
Shell
0.2%