diff --git a/docs/reports/rds-initial-path-validation-20261007.md b/docs/reports/rds-initial-path-validation-20261007.md index 1f95093..02a8e00 100644 --- a/docs/reports/rds-initial-path-validation-20261007.md +++ b/docs/reports/rds-initial-path-validation-20261007.md @@ -54,3 +54,36 @@ The full engine suite now runs in both supported CI test lanes. Linux/X11, current-head CI, immutable release builds and installed qualification remain required before rollout. This report does not close W3/W6/W10 or claim physical interface, suspend, power-loss or causal input-to-pixel acceptance. + +## Measurement harness increment + +Current-source `rds-bench` measurements are retained in +[rds-initial-validation-bench-20261007.json](rds-initial-validation-bench-20261007.json). +Source: `378d636a93548e7a1b15c1b1c45bb1749619a9ea`, macOS arm64, +`transport-noq`, unoptimized stripped development profile, one run per case. +Synthetic same-host direct endpoints use temporary identities. No deployed host, +private configuration or foreign desktop is part of these measurements. + +| Case | Samples or verified payload | Observed result | +|---|---|---| +| Iroh ping | 32 | p50 0.558ms; p95 0.765ms; p99/max 0.962ms | +| Noq ping | 32 | p50 0.428ms; p95 1.669ms; p99/max 1.859ms | +| Iroh receiver-verified transfer | 4MiB | 18.163MiB/s | +| Noq receiver-verified transfer | 4MiB | 25.547MiB/s | +| Noq controlled mid-transfer loss | 2MiB verified | 179 dropped datagrams; verified receipt; 1.770MiB/s | + +Transfer includes bounded streaming generation/hashing and a receiver byte-count +plus BLAKE3 receipt. The recovery case imposes15% client-egress loss and50ms +delay for a1.503s window; it verifies2MiB rather than the4MiB ordinary transfer. +It proves completion under that controlled impairment, not standby validation, +physical-network recovery or user-visible desktop latency. One run and32 ping +samples cannot establish comparative superiority, reproducibility or broad +release acceptance. No milestone/checkpoint gate is closed by this increment. + +The reproducible command family is +`rds-bench run --scenario CASE --backend BACKEND --iterations 32 --transfer-mib 4 --timeout-s 30`; +CASES are `ping`, `transfer` on both lanes and `recovery` on Noq. The versioned +[measurement method](../benchmark-transfer.md) remains authoritative. The full +corrected software CI passed both OS test lanes; the first Rust CodeQL attempt +ended during SARIF upload and its failed attempt remains retained. Final scanner +and installed acceptance are recorded independently in their deployment evidence. diff --git a/docs/reports/rds-initial-validation-bench-20261007.json b/docs/reports/rds-initial-validation-bench-20261007.json new file mode 100644 index 0000000..bfa4bb5 --- /dev/null +++ b/docs/reports/rds-initial-validation-bench-20261007.json @@ -0,0 +1,369 @@ +{ + "tool": "rds-bench 0.1.0", + "unix_ts": 1791392551, + "git": "378d636", + "reports": [ + { + "meta": { + "scenario": "ping", + "capability": "measure:ping", + "backend": "iroh", + "path": "direct", + "impairment": null, + "unix_ts": 1791392548, + "git": "378d636" + }, + "rtt": { + "count": 32, + "min_ns": 437666, + "p50_ns": 557916, + "p95_ns": 765333, + "p99_ns": 962000, + "max_ns": 962000, + "mean_ns": 584182.25 + }, + "throughput_mib_s": null, + "attempts": null, + "metrics": { + "agent_rds_net_active_connections": 1, + "agent_rds_net_bytes_received_total{via=\"direct\"}": 8007, + "agent_rds_net_bytes_received_total{via=\"relay\"}": 0, + "agent_rds_net_bytes_sent_total{via=\"direct\"}": 8294, + "agent_rds_net_bytes_sent_total{via=\"relay\"}": 0, + "agent_rds_net_congestion_events_total": 0, + "agent_rds_net_connections_accepted_total": 1, + "agent_rds_net_connections_opened_total": 0, + "agent_rds_net_cwnd_bytes": 17482, + "agent_rds_net_datagrams_lost_total{via=\"direct\"}": 0, + "agent_rds_net_datagrams_lost_total{via=\"relay\"}": 0, + "agent_rds_net_datagrams_sent_total{via=\"direct\"}": 13, + "agent_rds_net_datagrams_sent_total{via=\"relay\"}": 0, + "agent_rds_net_degraded_path_observers": 0, + "agent_rds_net_live_paths": 1, + "agent_rds_net_path_events_lost_total": 0, + "agent_rds_net_paths_seen_total{via=\"direct\"}": 1, + "agent_rds_net_paths_seen_total{via=\"relay\"}": 0, + "agent_rds_net_policy_observed_connections": 0, + "agent_rds_net_qnt_attempts_total": 0, + "agent_rds_net_qnt_success_total": 0, + "agent_rds_net_rtt_us": 1935, + "agent_rds_net_selected_path_known": 1, + "client_rds_net_active_connections": 1, + "client_rds_net_bytes_received_total{via=\"direct\"}": 12196, + "client_rds_net_bytes_received_total{via=\"relay\"}": 0, + "client_rds_net_bytes_sent_total{via=\"direct\"}": 14244, + "client_rds_net_bytes_sent_total{via=\"relay\"}": 0, + "client_rds_net_congestion_events_total": 0, + "client_rds_net_connections_accepted_total": 0, + "client_rds_net_connections_opened_total": 1, + "client_rds_net_cwnd_bytes": 8348, + "client_rds_net_datagrams_lost_total{via=\"direct\"}": 0, + "client_rds_net_datagrams_lost_total{via=\"relay\"}": 0, + "client_rds_net_datagrams_sent_total{via=\"direct\"}": 78, + "client_rds_net_datagrams_sent_total{via=\"relay\"}": 0, + "client_rds_net_degraded_path_observers": 0, + "client_rds_net_live_paths": 1, + "client_rds_net_path_events_lost_total": 0, + "client_rds_net_paths_seen_total{via=\"direct\"}": 1, + "client_rds_net_paths_seen_total{via=\"relay\"}": 0, + "client_rds_net_policy_observed_connections": 0, + "client_rds_net_qnt_attempts_total": 0, + "client_rds_net_qnt_success_total": 0, + "client_rds_net_rtt_us": 375, + "client_rds_net_selected_path_known": 1, + "phase_connect_ns": 7109459 + }, + "notes": [] + }, + { + "meta": { + "scenario": "ping", + "capability": "measure:ping", + "backend": "noq", + "path": "direct", + "impairment": null, + "unix_ts": 1791392548, + "git": "378d636" + }, + "rtt": { + "count": 32, + "min_ns": 353500, + "p50_ns": 428000, + "p95_ns": 1668875, + "p99_ns": 1858667, + "max_ns": 1858667, + "mean_ns": 525997.375 + }, + "throughput_mib_s": null, + "attempts": null, + "metrics": { + "agent_rds_net_active_connections": 1, + "agent_rds_net_bytes_received_total{via=\"direct\"}": 4226, + "agent_rds_net_bytes_received_total{via=\"relay\"}": 0, + "agent_rds_net_bytes_sent_total{via=\"direct\"}": 4486, + "agent_rds_net_bytes_sent_total{via=\"relay\"}": 0, + "agent_rds_net_congestion_events_total": 0, + "agent_rds_net_connections_accepted_total": 1, + "agent_rds_net_connections_opened_total": 0, + "agent_rds_net_cwnd_bytes": 14982, + "agent_rds_net_datagrams_lost_total{via=\"direct\"}": 0, + "agent_rds_net_datagrams_lost_total{via=\"relay\"}": 0, + "agent_rds_net_datagrams_sent_total{via=\"direct\"}": 8, + "agent_rds_net_datagrams_sent_total{via=\"relay\"}": 0, + "agent_rds_net_degraded_path_observers": 0, + "agent_rds_net_live_paths": 1, + "agent_rds_net_path_events_lost_total": 0, + "agent_rds_net_paths_seen_total{via=\"direct\"}": 1, + "agent_rds_net_paths_seen_total{via=\"relay\"}": 0, + "agent_rds_net_policy_observed_connections": 1, + "agent_rds_net_qnt_attempts_total": 0, + "agent_rds_net_qnt_success_total": 0, + "agent_rds_net_rtt_us": 1338, + "agent_rds_net_selected_path_known": 1, + "client_rds_net_active_connections": 1, + "client_rds_net_bytes_received_total{via=\"direct\"}": 9803, + "client_rds_net_bytes_received_total{via=\"relay\"}": 0, + "client_rds_net_bytes_sent_total{via=\"direct\"}": 10616, + "client_rds_net_bytes_sent_total{via=\"relay\"}": 0, + "client_rds_net_congestion_events_total": 0, + "client_rds_net_connections_accepted_total": 0, + "client_rds_net_connections_opened_total": 1, + "client_rds_net_cwnd_bytes": 5808, + "client_rds_net_datagrams_lost_total{via=\"direct\"}": 0, + "client_rds_net_datagrams_lost_total{via=\"relay\"}": 0, + "client_rds_net_datagrams_sent_total{via=\"direct\"}": 72, + "client_rds_net_datagrams_sent_total{via=\"relay\"}": 0, + "client_rds_net_degraded_path_observers": 0, + "client_rds_net_live_paths": 1, + "client_rds_net_path_events_lost_total": 0, + "client_rds_net_paths_seen_total{via=\"direct\"}": 1, + "client_rds_net_paths_seen_total{via=\"relay\"}": 0, + "client_rds_net_policy_observed_connections": 1, + "client_rds_net_qnt_attempts_total": 0, + "client_rds_net_qnt_success_total": 0, + "client_rds_net_rtt_us": 259, + "client_rds_net_selected_path_known": 1, + "phase_connect_ns": 3830708 + }, + "notes": [] + }, + { + "meta": { + "scenario": "transfer-receiver-ack-v1", + "capability": "measure:transfer-receiver-ack-v1", + "backend": "iroh", + "path": "direct", + "impairment": null, + "unix_ts": 1791392549, + "git": "378d636" + }, + "rtt": null, + "throughput_mib_s": 18.162699216487944, + "attempts": null, + "metrics": { + "agent_rds_net_active_connections": 1, + "agent_rds_net_bytes_received_total{via=\"direct\"}": 3847, + "agent_rds_net_bytes_received_total{via=\"relay\"}": 0, + "agent_rds_net_bytes_sent_total{via=\"direct\"}": 4180, + "agent_rds_net_bytes_sent_total{via=\"relay\"}": 0, + "agent_rds_net_congestion_events_total": 0, + "agent_rds_net_connections_accepted_total": 1, + "agent_rds_net_connections_opened_total": 0, + "agent_rds_net_cwnd_bytes": 12146, + "agent_rds_net_datagrams_lost_total{via=\"direct\"}": 0, + "agent_rds_net_datagrams_lost_total{via=\"relay\"}": 0, + "agent_rds_net_datagrams_sent_total{via=\"direct\"}": 7, + "agent_rds_net_datagrams_sent_total{via=\"relay\"}": 0, + "agent_rds_net_degraded_path_observers": 0, + "agent_rds_net_live_paths": 1, + "agent_rds_net_path_events_lost_total": 0, + "agent_rds_net_paths_seen_total{via=\"direct\"}": 1, + "agent_rds_net_paths_seen_total{via=\"relay\"}": 0, + "agent_rds_net_policy_observed_connections": 0, + "agent_rds_net_qnt_attempts_total": 0, + "agent_rds_net_qnt_success_total": 0, + "agent_rds_net_rtt_us": 1579, + "agent_rds_net_selected_path_known": 1, + "client_rds_net_active_connections": 1, + "client_rds_net_bytes_received_total{via=\"direct\"}": 35391, + "client_rds_net_bytes_received_total{via=\"relay\"}": 0, + "client_rds_net_bytes_sent_total{via=\"direct\"}": 4302919, + "client_rds_net_bytes_sent_total{via=\"relay\"}": 0, + "client_rds_net_congestion_events_total": 0, + "client_rds_net_connections_accepted_total": 0, + "client_rds_net_connections_opened_total": 1, + "client_rds_net_cwnd_bytes": 72775, + "client_rds_net_datagrams_lost_total{via=\"direct\"}": 0, + "client_rds_net_datagrams_lost_total{via=\"relay\"}": 0, + "client_rds_net_datagrams_sent_total{via=\"direct\"}": 3017, + "client_rds_net_datagrams_sent_total{via=\"relay\"}": 0, + "client_rds_net_degraded_path_observers": 0, + "client_rds_net_live_paths": 1, + "client_rds_net_path_events_lost_total": 0, + "client_rds_net_paths_seen_total{via=\"direct\"}": 1, + "client_rds_net_paths_seen_total{via=\"relay\"}": 0, + "client_rds_net_policy_observed_connections": 0, + "client_rds_net_qnt_attempts_total": 0, + "client_rds_net_qnt_success_total": 0, + "client_rds_net_rtt_us": 1579, + "client_rds_net_selected_path_known": 1, + "phase_connect_ns": 4445291, + "phase_service_open_ns": 2544333, + "transfer_completion_ns": 220231583, + "transfer_verified_bytes": 4194304 + }, + "notes": [ + "receiver-ack-v1: byte count + BLAKE3 digest + EOF; payload generation/hash, upload and receipt are timed; connect/OpenTcp are reported separately as phase_* metrics, not folded into throughput; not comparable to historical sender-finish results" + ] + }, + { + "meta": { + "scenario": "transfer-receiver-ack-v1", + "capability": "measure:transfer-receiver-ack-v1", + "backend": "noq", + "path": "direct", + "impairment": null, + "unix_ts": 1791392549, + "git": "378d636" + }, + "rtt": null, + "throughput_mib_s": 25.546774093236092, + "attempts": null, + "metrics": { + "agent_rds_net_active_connections": 1, + "agent_rds_net_bytes_received_total{via=\"direct\"}": 5689, + "agent_rds_net_bytes_received_total{via=\"relay\"}": 0, + "agent_rds_net_bytes_sent_total{via=\"direct\"}": 7349, + "agent_rds_net_bytes_sent_total{via=\"relay\"}": 0, + "agent_rds_net_congestion_events_total": 0, + "agent_rds_net_connections_accepted_total": 1, + "agent_rds_net_connections_opened_total": 0, + "agent_rds_net_cwnd_bytes": 17825, + "agent_rds_net_datagrams_lost_total{via=\"direct\"}": 0, + "agent_rds_net_datagrams_lost_total{via=\"relay\"}": 0, + "agent_rds_net_datagrams_sent_total{via=\"direct\"}": 10, + "agent_rds_net_datagrams_sent_total{via=\"relay\"}": 0, + "agent_rds_net_degraded_path_observers": 0, + "agent_rds_net_live_paths": 1, + "agent_rds_net_path_events_lost_total": 0, + "agent_rds_net_paths_seen_total{via=\"direct\"}": 1, + "agent_rds_net_paths_seen_total{via=\"relay\"}": 0, + "agent_rds_net_policy_observed_connections": 1, + "agent_rds_net_qnt_attempts_total": 0, + "agent_rds_net_qnt_success_total": 0, + "agent_rds_net_rtt_us": 1054, + "agent_rds_net_selected_path_known": 1, + "client_rds_net_active_connections": 1, + "client_rds_net_bytes_received_total{via=\"direct\"}": 23457, + "client_rds_net_bytes_received_total{via=\"relay\"}": 0, + "client_rds_net_bytes_sent_total{via=\"direct\"}": 4299528, + "client_rds_net_bytes_sent_total{via=\"relay\"}": 0, + "client_rds_net_congestion_events_total": 0, + "client_rds_net_connections_accepted_total": 0, + "client_rds_net_connections_opened_total": 1, + "client_rds_net_cwnd_bytes": 3795235, + "client_rds_net_datagrams_lost_total{via=\"direct\"}": 0, + "client_rds_net_datagrams_lost_total{via=\"relay\"}": 0, + "client_rds_net_datagrams_sent_total{via=\"direct\"}": 3024, + "client_rds_net_datagrams_sent_total{via=\"relay\"}": 0, + "client_rds_net_degraded_path_observers": 0, + "client_rds_net_live_paths": 1, + "client_rds_net_path_events_lost_total": 0, + "client_rds_net_paths_seen_total{via=\"direct\"}": 1, + "client_rds_net_paths_seen_total{via=\"relay\"}": 0, + "client_rds_net_policy_observed_connections": 1, + "client_rds_net_qnt_attempts_total": 0, + "client_rds_net_qnt_success_total": 0, + "client_rds_net_rtt_us": 643, + "client_rds_net_selected_path_known": 1, + "phase_connect_ns": 3544208, + "phase_service_open_ns": 1384458, + "transfer_completion_ns": 156575542, + "transfer_verified_bytes": 4194304 + }, + "notes": [ + "receiver-ack-v1: byte count + BLAKE3 digest + EOF; payload generation/hash, upload and receipt are timed; connect/OpenTcp are reported separately as phase_* metrics, not folded into throughput; not comparable to historical sender-finish results" + ] + }, + { + "meta": { + "scenario": "recovery", + "capability": "measure:recovery", + "backend": "noq", + "path": "direct-impaired", + "impairment": { + "loss": 0.15, + "delay_ms": 50, + "jitter_ms": 0, + "rate_mbps": null, + "seed": 1 + }, + "unix_ts": 1791392551, + "git": "378d636" + }, + "rtt": null, + "throughput_mib_s": 1.770284556646063, + "attempts": null, + "metrics": { + "agent_rds_net_active_connections": 1, + "agent_rds_net_bytes_received_total{via=\"direct\"}": 2135351, + "agent_rds_net_bytes_received_total{via=\"relay\"}": 0, + "agent_rds_net_bytes_sent_total{via=\"direct\"}": 21533, + "agent_rds_net_bytes_sent_total{via=\"relay\"}": 0, + "agent_rds_net_congestion_events_total": 0, + "agent_rds_net_connections_accepted_total": 1, + "agent_rds_net_connections_opened_total": 0, + "agent_rds_net_cwnd_bytes": 19448, + "agent_rds_net_datagrams_lost_total{via=\"direct\"}": 0, + "agent_rds_net_datagrams_lost_total{via=\"relay\"}": 0, + "agent_rds_net_datagrams_sent_total{via=\"direct\"}": 217, + "agent_rds_net_datagrams_sent_total{via=\"relay\"}": 0, + "agent_rds_net_degraded_path_observers": 0, + "agent_rds_net_live_paths": 1, + "agent_rds_net_path_events_lost_total": 0, + "agent_rds_net_paths_seen_total{via=\"direct\"}": 1, + "agent_rds_net_paths_seen_total{via=\"relay\"}": 0, + "agent_rds_net_policy_observed_connections": 1, + "agent_rds_net_qnt_attempts_total": 0, + "agent_rds_net_qnt_success_total": 0, + "agent_rds_net_rtt_us": 17572, + "agent_rds_net_selected_path_known": 1, + "bench_impair_dropped_datagrams": 179, + "bench_impair_forwarded_bytes": 2180331, + "bench_impair_forwarded_datagrams": 1878, + "bench_impair_probes": 2, + "client_rds_net_active_connections": 1, + "client_rds_net_bytes_received_total{via=\"direct\"}": 21897, + "client_rds_net_bytes_received_total{via=\"relay\"}": 0, + "client_rds_net_bytes_sent_total{via=\"direct\"}": 2376756, + "client_rds_net_bytes_sent_total{via=\"relay\"}": 0, + "client_rds_net_congestion_events_total": 94, + "client_rds_net_connections_accepted_total": 0, + "client_rds_net_connections_opened_total": 1, + "client_rds_net_cwnd_bytes": 13160, + "client_rds_net_datagrams_lost_total{via=\"direct\"}": 179, + "client_rds_net_datagrams_lost_total{via=\"relay\"}": 0, + "client_rds_net_datagrams_sent_total{via=\"direct\"}": 1832, + "client_rds_net_datagrams_sent_total{via=\"relay\"}": 0, + "client_rds_net_degraded_path_observers": 0, + "client_rds_net_live_paths": 1, + "client_rds_net_path_events_lost_total": 0, + "client_rds_net_paths_seen_total{via=\"direct\"}": 1, + "client_rds_net_paths_seen_total{via=\"relay\"}": 0, + "client_rds_net_policy_observed_connections": 1, + "client_rds_net_qnt_attempts_total": 0, + "client_rds_net_qnt_success_total": 0, + "client_rds_net_rtt_us": 52720, + "client_rds_net_selected_path_known": 1, + "recovery_delay_ms": 50, + "recovery_imposed_window_ns": 1502568041, + "recovery_loss_milli": 150, + "transfer_completion_ns": 1129761875, + "transfer_verified_bytes": 2097152 + }, + "notes": [ + "path loss imposed mid-transfer at ~1/3 payload (loss=0.15, delay=50ms on client egress, restored after 1.502568041s); verified receipt still arrived; 179 datagrams dropped under the imposed loss" + ] + } + ] +}