# VPN Runtime CI Stabilization Changelog Date: 2026-05-12 This note summarizes local stabilization work for `agents/rap-node-agent/internal/vpnruntime` and related CI hardening. ## Commit Chain 1. `a3c0998e` Stabilize parallel flow-window test behavior and add initial CI anti-flake checks. 2. `fea5174e` Add `-race` CI check for `vpnruntime`. 3. `4603826b` Add transfer notes with patch/bundle usage instructions. 4. `6fec1d5c` Add targeted CI anti-flake step for the previously flaky test: `TestFabricClientPacketIngressParallelFlowWindowDoesNotBlockIndependentChannel`. ## Key Technical Changes - Test determinism fix in `fabric_transport_test.go`: fast send now waits for observed slow-send start boundary, so overlapping in-flight behavior is exercised consistently. - CI workflow hardening in `.github/workflows/build.yml`: - backend now runs `go test ./...` - new `node-agent` job with: - `go test ./...` - `go test ./internal/vpnruntime -count=20` - `go test ./internal/vpnruntime -run TestFabricClientPacketIngressParallelFlowWindowDoesNotBlockIndependentChannel -count=50 -timeout=60s` - `go test -race ./internal/vpnruntime` ## Local Validation Snapshot - `go test ./internal/vpnruntime -count=100` passed. - `go test ./internal/vpnruntime -run TestFabricClientPacketIngressParallelFlowWindowDoesNotBlockIndependentChannel -count=50 -timeout=60s` passed. - `go test -race ./internal/vpnruntime` passed. - `pwsh -NoProfile -ExecutionPolicy Bypass -File scripts/smoke/run-vpnruntime-ci-guards.ps1 -AntiFlakeCount 20 -TargetedCount 50` passed. - `go test ./...` passed in: - `agents/rap-node-agent` - `backend` ## One-Shot Guard Script - `scripts/smoke/run-vpnruntime-ci-guards.ps1` Example: ```powershell pwsh -NoProfile -ExecutionPolicy Bypass -File scripts/smoke/run-vpnruntime-ci-guards.ps1 ``` ## Transfer/Recovery Artifacts Local export files are available in ignored path: - `artifacts/git-patches/0001-Stabilize-vpnruntime-parallel-flow-test-and-add-CI-a.patch` - `artifacts/git-patches/0002-Add-vpnruntime-race-check-to-CI.patch` - `artifacts/git-patches/vpnruntime-ci-fixes.bundle` See: - `docs/operations/VPNRUNTIME_CI_FIXES_TRANSFER_2026-05-12.md`