Skip to content

feat(client): stage native multi-resolver foundation and adaptive selector#14

Open
nightowlnerd wants to merge 37 commits intomainfrom
feat/native-multi-resolver-v1
Open

feat(client): stage native multi-resolver foundation and adaptive selector#14
nightowlnerd wants to merge 37 commits intomainfrom
feat/native-multi-resolver-v1

Conversation

@nightowlnerd
Copy link
Copy Markdown
Owner

@nightowlnerd nightowlnerd commented Feb 16, 2026

Summary

  • Add core state machine transition contracts in slipstream-core to establish explicit connection/resolver/stream lifecycle invariants.
  • Add client-side resolver telemetry and switch-reason taxonomy, including startup switch logging and per-path health signals.
  • Introduce ResolverManager as the single owner of resolver set/state, with adaptive single-active selection and guarded failover.
  • Harden failover to avoid false demotion by requiring multi-signal confirmation before switching on active-path loss.
  • Keep recursive standby resolvers inactive during steady state to prevent parallel-path interference.
  • Add dual-resolver health telemetry and apply recursive poll throttling scoped to recursive multi-resolver sets.

Why

  • Reduce resolver control-flow sprawl in runtime loop and make follow-up correctness work safer.
  • Improve diagnosability with explicit health/switch telemetry.
  • Move to native single-active failover behavior without round-robin workarounds.
  • Prevent false failovers and stabilize dual-resolver runtime behavior under real traffic.

Validation

  • cargo fmt
  • cargo test -p slipstream-core
  • cargo test -p slipstream-client
  • cargo clippy -p slipstream-client --all-targets -- -D warnings
  • Repeated canary/soak runs on remote VPS environments with real traffic patterns (anonymized), verifying:
    • startup-only resolver selection in steady state
    • no unexpected path-unavailable failover churn
    • stable single-active recursive behavior with standby inactive

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant