Repository navigation
feat: add evidence-gated NAT traversal alpha - #4
Open
ovasylenko wants to merge 5 commits into
Open
ovasylenko wants to merge 5 commits into
ovasylenko wants to merge 5 commits into
Conversation
- packages/networking: add nat.rs (NatType, NatTraversal classify/direct/hole-punch/relay fallback, FallbackOrder) and latency.rs (EWMA alpha 0.2, loss, jitter) wired via lib.rs; extend emulator-sdk TransportKind HolePunch/Stun/Relay - services/relay: new opencade-relay crate with Axum health/ready and WS relay forwarding by room bucket, tracing, graceful shutdown, Dockerfile; wire into workspace and docker-compose (3478/udp) - apps/server: STUN_HOST/PORT + RELAY_URL config, stun hint in GET /servers - apps/client: expand diagnose_network (nat, rtt_ms, loss, jitter_ms, relay_reachable, stun_reachable) + typed diagnostics.ts wrapper - docs: update IMPLEMENTATION_STATUS to 2026-08-24 - Generated protocol bindings refreshed; Cargo.lock updated
CI Rust job failed on protocol drift check: committed generated files were compressed single-line style from previous feat(nat) commit, but CI regenerates via cargo test -p opencade-protocol export_bindings + prettier --ignore-path /dev/null --write which produces multiline semicolon style. Re-run generation locally to match CI expectation.
* feat: add evidence-gated NAT traversal alpha * fix: satisfy MSRV clippy clone lint * build: upgrade toolchains and dependencies
- CHANGELOG.md 0.1.0 cut for M7 docs-complete gate (Keep a Changelog) - GET /metrics Prometheus exposition (http_requests_total, ws_connections, rooms_created, http_request_duration_seconds) - AppState metrics counters + rooms_created increment - verified: cargo check + metrics_contains_required_names ok
ovasylenko
force-pushed
the
feat/alpha-readiness-program
branch
from
August 24, 2026 20:10
a86c305 to
3514063
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
Implements all four alpha-readiness opportunities as one evidence-driven step:
BlockedNoPublicInterfaceFBNeo capabilityToolchain and dependency modernization
rust-toolchain.tomlZendevve/OpenCade:mainand preserved both the upstream relay/NAT work and the evidence-grade RFC 8489 pathVerification
cargo fmt --all -- --checkcargo clippy --workspace --all-targets --all-features --locked -- -D warningscargo test --workspace --all-features --lockedagainst isolated PostgreSQL 16 (116 tests)tauri build --debug --no-bundlepnpm format:check,pnpm typecheck,pnpm test(44 tests), andpnpm builddocker compose configEvidence boundary
No physical two-Windows result is claimed. The implementation packages the binaries, report schema, verifier, campaign summarizer, and exact 5 LAN + 5 different-NAT workflow. Cone/symmetric classification and proven relay fallback remain gated on real campaign evidence. A single STUN Binding response is reported only as open, mapped, unknown, or blocked.