Skip to content

feat: uninterrupted tunnel operations - #83

Draft
nicodes wants to merge 2 commits into
mainfrom
feat/uninterrupted-tunnels
Draft

feat: uninterrupted tunnel operations#83
nicodes wants to merge 2 commits into
mainfrom
feat/uninterrupted-tunnels

Conversation

@nicodes

@nicodes nicodes commented Sep 10, 2026

Copy link
Copy Markdown
Owner

Status

Draft integration work; not ready for review or release. The agent still advertises protocol v4 and explicitly refuses v5 dispatch until coordinated client, backend and tunnel-handoff verification is complete.

Implemented

  • Distinct v5 framing and sealed connection bindings, preserving v0-v4 contracts.
  • Bounded absolute-offset output replay with explicit gaps rather than silent resets.
  • Four retained input writers per PTY; replacement connections share a slot; only fully written and client-confirmed disconnected writers are reclaimable.
  • Bounded scheduler integration, partial-write ordering, retry deduplication, and coalesced sealed ACKs issued only after actual PTY writes.
  • Ready/replay attachment handling; failed replay preserves the PTY and existing attachment.

Local verification

Go 1.25.13 on Linux: go vet ./...; go test -race -count=1 ./...; govulncheck ./...; gofmt and git diff --check. Focused attachment tests also passed ten race-enabled repetitions. No reachable vulnerabilities reported; three advisories remain in required modules outside the analyzed reachable code.

Still required

Distributed fenced tunnel ownership, make-before-break handoff, coordinated client rendering/input resumption, bounded release retirement, and complete end-to-end compatibility/continuity verification. Local tests are not a production or universal uninterrupted-operation guarantee. No merge or deployment is authorized by this draft.

@nicodes nicodes self-assigned this Sep 11, 2026
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