glm-5.3-flash
|
68d3723f6a
|
feat(dispatch): land the parse-only dispatch + the fail-closed decline core (w2-dispatch-decline-core)
- src/dispatch.rs: the ExecRoute decision, the skeleton exec-parse
probe (service prefix + path shape; wave 3 replaces with the full
grammar), the wire-reason shapers (AdministrativelyProhibited for
unfeatured/never-feature opens, ConnectFailed for the tunnel seam
stub), 7 probe unit rows
- src/handler.rs: channel_open_* gates per the feature graph (session
∨ git; tunnel; x11/auth-agent never), parse-only exec_request
dispatch before any allocation, session-row routes, request-level
declines (subsystem all-names with the sftp OQ-13 and git named
classes, env per OQ-09, x11/agent, the four listen requests), the
named wave-3 seam stubs; decline-first-alloc-never structural;
module docs carry the decline-core contract incl. the inherited
auth-agent-open upstream note
- tests/dispatch_core.rs: 26 Contract-stamped decline-matrix rows per
feature build driven through the loopback harness (none / git-only /
session-only / tunnel-only / all-features + shared never-feature
rows)
- tests/common/harness.rs: extended helper vocabulary (tunnel/x11
opens, pty/env/x11/agent requests, listen requests) — discharges
the w2-loopback-harness live-rows note
- tests/loopback_harness.rs: the skeleton decline-only session-open
row cfg-pinned to the featureless builds it describes
Verification: cargo test (91 rows, default build); per-feature
dispatch_core rows (git 11 / session 10 / tunnel 4 / all 8 / sftp 3);
cargo test --all-features; cargo clippy --all-targets -- -D warnings
(and --all-features); cargo fmt --check; cargo doc --no-deps
|
2026-10-28 09:04:42 +00:00 |
|
glm-5.3-flash
|
3b77193e85
|
feat(tests): land the loopback harness — the in-process contract-test vehicle (w2-loopback-harness)
- tests/common/harness.rs: the recorded transport decision (tokio
duplex pair + russh connect_stream; recorded over TCP loopback for
determinism, no-port portability) and placement decision (sibling
of the wave-1 doubles, the crate's contract-test vehicle convention)
- the client-side posture from the doubles: MemHostKeyPolicy bridged
into russh's check_server_key (HarnessClientHandler, decision input
byte-equal to the wave-4 dial wiring's), the Limits keepalive/
inactivity posture (client_config), fixture-key auth helpers
- thin helpers: authenticate_publickey + remaining_methods,
open_session_channel (open-failure reason observed in the Err),
request_exec/shell/subsystem, next_message / await_exit_status /
await_close, drive → LoopbackSession with clean unmount
- acceptance proof in tests/loopback_harness.rs: 6 contract-stamped
rows, incl. the full in-process connect → fixture-key auth →
authenticated-session observation (host-key decision log +
observed decline reason) and the fail-closed host-key decline
Verification: cargo test (81 pass), cargo clippy --all-targets
-- -D warnings, cargo fmt --check, taskgraph validate — all green.
|
2026-10-28 08:42:15 +00:00 |
|