Repository navigation
Description
Goal and release boundary
Prepare a new v1.0.0-rc.3 campaign for #161 and #163 after an exact candidate is reviewed. This issue is a test plan, not permission to merge draft PR #162, publish RC3, replace KR production services, alter Cloudflare/OCI/Caddy policy, or start a live run. RC2's four-hour run ended near minute 172 without a terminal complete record and had public Relay failures; it is not a passed release soak.
Candidate preflight
- Identify the exact merged source commit, tag, wheel/sdist hashes, control build and installed version on each host. Review fix(relay): diagnose route failures and safely retry setup timeouts #162's stage diagnostics and setup retry independently; retry-only success does not close bug: public Relay intermittently loses authenticated routes during RC2 multi-host validation #161.
- Require green release gate, artifact provenance, fresh wheel/sdist/extras installs, pip check, standalone/MCP smoke and no protocol/identity/state migration surprise.
- Preserve existing device identities, pairings, login approvals, journals, replay state and unknown outcomes. Back up and verify KR state before any approved runtime switch; use schema-compatible rollback only.
- Resolve investigate(relay): bound idle receiver reconnect gaps and stale-room attaches #163's mechanism or explicitly document it as unproven. Capture privacy-filtered receiver room/reconnect/attach evidence without payloads or credentials.
Live matrix after separate rollout approval
- Exact RC3 on Mac mini, MacBook, quintet-desktop native Windows plus WSL receiver, KR and US; verify local discovery/MCP and direct/SSH routes separately from public Relay.
- Forced public Relay probe-only routes in both Mac directions, US→Mac, Mac→Windows/WSL, and server-originated paths. Record stage, failure category, timing, diagnostic UUID/CF-Ray where available, receiver room/close event and origin TCP metadata; do not infer consumption from 200/101, attach or queued.
- Randomize/alternate probe order and direction so US-first and warmed-receiver advantages cannot masquerade as PoP effects. Keep one request per bounded window and do not replay ambiguous sends.
- Fresh unique actual-message ACK tokens at T0, T2 and T4 in dedicated live Claude/Codex/Antigravity targets where supported, including Windows native targets. An incoming prompt or permission wait is receipt, not an ACK; exact user/live-TUI response is required.
- A single uninterrupted four-hour run: every-minute public and KR-local health/resource samples; every-five-minute direct and Relay routes; one controlled Relay restart at T2 with recovery target <=60 s. Record all failures, changes and UTC/KST boundaries rather than silently resetting the clock.
- A coordinator/process-lifetime guard must produce a terminal
completeonly after elapsed >=14,400 s and the T4 network checkpoint is submitted. Unexpected exit produces an explicit incomplete/aborted result; it never opens completion-gated follow-ups.
Pass / fail
Pass requires no unexplained Relay failures, no duplicate native effects, exact required ACKs, intact auth/replay state, recovery after the planned restart, and independently checked terminal evidence for the full four hours. If any route fails or evidence is incomplete, keep #161 and stable v1.0.0 blocked, file/deduplicate a finding, and plan another explicit candidate/run. A normal single CF/direct comparison or a successful retry is insufficient proof of long-term stability.
Optional direct-origin-vs-CF A/B or the previously prepared 15-minute receiver wrapper requires a separate bounded approval and current safety checks; the aborted RC2 run did not satisfy the wrapper's original completion gate.
Independent review additions (2026-09-23)
For an RC3 candidate to distinguish receiver-room absence from attach-after-stall, the preflight and live harness should include:
- Client diagnostic history per attempt, not just the final attempt: allowlisted stage, reason, elapsed milliseconds and WebSocket close code where available. Keep retry-success routes in a separate
degradedcount; they do not pass the clean stability gate. - Receiver metadata-only lifecycle: room open/admission/WSS elapsed, room close reason and age, attach receipt, peer-TLS outcome/elapsed, reconnect gap. Separate expected idle expiry from genuine failures rather than hiding both under a one-per-minute reconnect warning.
- Relay metadata-only attach/room closure: receiver WebSocket age, last-pong age if observable, and room-end reason counters. Correlate clocks and diagnostic IDs without recording identities, payloads, credentials or raw exception text.
- A fixture that injects >10 s admission delay and a stalled receiver leg, then observes a subsequent client/retry. Assert first and second attempt diagnostics remain distinct and that the test's invoke deadline exceeds the candidate's worst-case setup+retry bound. The old 35 s harness deadline may collapse useful diagnostics into an outer timeout.
- T2 planned-restart recovery must be measured per affected route; the RC2 run did not recover the US→mini route inside 69 s. Make the soak runner independent of the interactive coordinator process and require a durable terminal complete/aborted record.
- If doing an optional receiver-leg direct-origin-vs-CF A/B, instrument the above first and get separate approval for host/IP /32, duration, network exception and rollback.
These are acceptance and design inputs, not authorization to deploy instrumentation or to publish RC3. The cause of #161 remains unproven.
Activity
release: prepare 1.0.0rc3 for Relay stability validation (#169)
[-]test: prepare RC3 five-host Relay stability and real-ACK validation[/-][+]test: RC4 five-host Relay stability and real-ACK validation[/+]abruption commentedon Sep 23, 2026
RC4 scope amendment (2026-09-23): RC3 was only partially published on PyPI (wheel accepted, sdist upload failed), and no RC3 fleet rollout or four-hour campaign began. The user selected a reviewed RC4 fix-forward. The original RC3 body remains as the historical plan; every reference to the test candidate in its execution and pass/fail criteria now means the exact, fully published v1.0.0-rc.4 artifact, not the incomplete RC3.
Before any rollout, require a successful publish workflow and independent matching wheel+sdist PyPI hashes, fresh installs, installed-version evidence on all five hosts, backups and rollback. During the independent four-hour campaign, keep at least five minutes between probes to each receiver, enable sanitized diagnostic events, sample receiverRoleBusy/clientRoleBusy each minute, obtain independent actual ACKs at T0/T2h/T4h, and measure the single T2h Relay restart recovery against the 60-second target. A queued submission, retry-only success, missing terminal complete record or unexplained failure is not a pass. #161 and #163 remain open pending evidence.
abruption commentedon Sep 23, 2026
RC4 five-host campaign started 2026-09-23 18:22:27 KST (09:22:27 UTC) from the exact fully published 1.0.0rc4 build. Independent LaunchAgent PID 16069 writes durable minute-by-minute evidence; KR Relay/Control health and all three waiting receivers were checked before T0. T0 public/KR health and the first direct/Relay probe set succeeded; T5 direct/Relay probes also succeeded. T0 actual ACKs were independently observed on Mac mini Claude and MacBook Claude and confirmed by the user for all three Windows paths. Two Codex-target submissions (US→mini and mini→MacBook) returned native_outcome_unknown after Relay attach, and request-ID reconciliation still reports unknown. No retry was sent. Those outcomes are failures/missing ACK evidence for the clean release gate; the remaining four-hour run continues to collect diagnostics and the planned T2 recovery/T4 checkpoint. No stable promotion or issue closure is implied.
docs: require the Codex executable on macOS/Linux receiver service PA…
abruption commentedon Sep 24, 2026
RC4 rerun acceptance decision (2026-09-24 KST; user explicitly accepted this operational exception):
Please keep these distinctions in any #164 closure or v1.0.0 release notes.
abruption commentedon Sep 24, 2026
Final rc4-rerun-02 evidence: uninterrupted complete at 14,436.65 s; public health 241/241, probes 147/147, submissions 21/21, planned T120 restart recovery 3.182 s, operationalPass=true and failures=[]. Exact ACKs were 20/21, not 21/21: original T120 Windows native Claude ACK is unconfirmed because its TUI closed. A separate new one-shot same-path check returned an exact ACK and the user explicitly accepted the operational exception in the prior comment; it does not replace the original T120 result. The stable release notes preserve this limit. Closing the bounded five-host campaign gate, not claiming #161 root cause solved.