Neil
edbcf68e53
fix(ssh): record the superseded-relay pass the Windows arm abandons ( #20045 )
...
* fix(ssh): record the superseded-relay pass the Windows arm abandons
`sweepSupersededRelayEndpoints` returned `[]` for every Windows remote host
and for every failed listing without writing a line. Both returns are
indistinguishable from "this host had no orphans", which is the one thing
this sweep exists not to be: its own header says it makes the orphan
population "visible and deliberate rather than silent".
The Windows population is real. `relayEndpointForHost` hashes the version
directory into the pipe name, so an app update strands the incumbent exactly
as it does on POSIX, and with `--grace-time 0` that relay keeps its PTYs and
agents forever. Measured on a Windows 11 host (awin): the NPFS root lists 262
named pipes from an unprivileged shell, and the count of `orca-relay-*` names
goes 0 -> 1 the moment a relay binds, so the endpoints are enumerable; the
repo already enumerates them for GC via `relayLivenessProbeCommand`'s
`.windows-active-pipe-*` marker scan.
Reclaiming them is not this change. `probeRelayEndpointIncumbent` answers
`unverifiable` for every Windows path, so nothing here could be classified,
let alone reaped, and nothing about the kill path moves. What changes is that
an abandoned pass now leaves a trace.
* fix(ssh): keep the endpoints a half-run superseded sweep already classified
The Windows arm and the failed-listing arm now both leave a line. The loop between
them did not: socket 1 could be fully probed and classified, and an exec on socket 2
that threw took `logSupersededRelayFindings` with it — so a half-run pass and a host
with nothing to sweep produced the same silence, and socket 1's verdict was lost.
Only one failure class can leave that loop, and it is the one that matters: an exec
whose SSH channel never confirmed close, which may still be running remotely and
which `probeRelayEndpointIncumbent` rethrows by design. Every ordinary probe failure
already degrades to `unverifiable` and the pass continues — a test now pins that too,
so nobody "fixes" the loop into stopping on an absence of evidence.
Findings are logged before the rethrow, which propagates unchanged. The added line
says how far the pass got and claims nothing about the endpoints it never reached.
* fix(ssh): word the Windows sweep skip so a first install does not read as orphaned
The line fired on every Windows relay launch and asserted a population: "orphans from
earlier builds are neither listed nor reclaimed" reads as a finding on a machine that
has never had an earlier build. The skip is what is being recorded, not a census.
2026-09-17 21:21:53 -07:00
..
2026-08-31 18:18:15 -07:00
2026-09-04 23:47:32 -07:00
2026-08-27 00:18:51 -07:00
2026-08-27 00:18:51 -07:00
2026-08-27 00:18:51 -07:00
2026-08-27 00:18:51 -07:00
2026-08-28 00:59:21 -07:00
2026-08-27 00:18:51 -07:00
2026-08-28 00:59:21 -07:00
2026-08-28 00:59:21 -07:00
2026-08-28 00:59:21 -07:00
2026-08-27 00:18:51 -07:00
2026-08-27 00:18:51 -07:00
2026-08-27 00:18:51 -07:00
2026-08-28 00:59:21 -07:00
2026-08-27 00:18:51 -07:00
2026-08-28 00:59:21 -07:00
2026-08-28 00:59:21 -07:00
2026-08-28 00:59:21 -07:00
2026-08-27 00:18:51 -07:00
2026-08-27 00:18:51 -07:00
2026-08-27 00:18:51 -07:00
2026-08-27 00:18:51 -07:00
2026-09-04 00:06:09 -07:00
2026-08-26 02:59:08 -07:00
2026-09-17 21:21:27 -07:00
2026-08-03 15:01:26 -07:00
2026-08-10 01:17:14 -07:00
2026-09-02 15:14:17 -07:00
2026-09-02 15:14:17 -07:00
2026-09-02 15:14:17 -07:00
2026-08-27 00:18:51 -07:00
2026-08-27 00:18:51 -07:00
2026-09-01 22:51:22 -07:00
2026-08-27 00:18:51 -07:00
2026-08-27 00:18:51 -07:00
2026-08-26 09:50:12 -07:00
2026-08-26 09:50:12 -07:00
2026-08-11 18:19:43 -07:00
2026-08-02 00:33:57 -07:00
2026-09-02 15:14:17 -07:00
2026-09-02 15:14:17 -07:00
2026-09-02 15:14:17 -07:00
2026-09-02 15:14:17 -07:00
2026-06-29 22:38:29 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-08-01 03:27:42 -07:00
2026-07-29 17:03:15 -07:00
2026-09-02 15:14:33 -07:00
2026-09-06 14:34:03 -04:00
2026-09-06 14:34:03 -04:00
2026-09-06 14:34:03 -04:00
2026-09-02 15:14:53 -07:00
2026-09-02 15:14:53 -07:00
2026-08-17 16:40:01 -07:00
2026-08-03 17:32:13 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-05-30 11:54:48 -07:00
2026-05-23 00:27:20 -07:00
2026-08-03 17:32:13 -07:00
2026-09-02 15:14:53 -07:00
2026-08-17 16:40:01 -07:00
2026-08-21 21:05:24 -07:00
2026-08-01 22:21:37 -07:00
2026-08-01 22:21:37 -07:00
2026-08-31 08:17:40 -07:00
2026-08-15 00:54:20 -07:00
2026-08-15 00:54:20 -07:00
2026-08-15 00:54:20 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-08-15 00:54:20 -07:00
2026-08-31 08:17:40 -07:00
2026-08-31 08:17:40 -07:00
2026-08-17 16:40:01 -07:00
2026-08-15 00:54:20 -07:00
2026-08-04 01:37:25 -07:00
2026-08-04 01:37:25 -07:00
2026-08-15 00:54:20 -07:00
2026-08-24 15:30:16 -07:00
2026-07-31 16:17:37 -07:00
2026-08-26 09:50:12 -07:00
2026-08-26 09:50:12 -07:00
2026-08-15 00:54:20 -07:00
2026-08-17 16:40:01 -07:00
2026-08-31 18:18:15 -07:00
2026-08-31 08:17:40 -07:00
2026-08-31 08:17:40 -07:00
2026-08-31 08:17:40 -07:00
2026-09-02 15:14:53 -07:00
2026-07-15 01:58:46 -07:00
2026-07-15 01:58:46 -07:00
2026-09-05 20:04:03 -07:00
2026-09-05 20:04:03 -07:00
2026-08-14 00:24:57 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-08-14 00:24:57 -07:00
2026-08-17 16:40:01 -07:00
2026-08-21 21:05:24 -07:00
2026-08-05 00:13:41 -07:00
2026-09-05 20:04:03 -07:00
2026-09-05 20:04:03 -07:00
2026-09-06 14:34:03 -04:00
2026-08-17 16:40:01 -07:00
2026-08-17 16:40:01 -07:00
2026-09-15 02:00:27 -07:00
2026-08-17 16:40:01 -07:00
2026-08-17 16:40:01 -07:00
2026-08-17 16:40:01 -07:00
2026-08-17 16:40:01 -07:00
2026-08-17 16:40:01 -07:00
2026-08-18 15:26:48 -07:00
2026-08-18 15:26:48 -07:00
2026-07-15 02:38:40 -07:00
2026-09-07 09:32:14 -07:00
2026-09-02 15:14:53 -07:00
2026-09-06 14:34:03 -04:00
2026-09-06 14:34:03 -04:00
2026-09-17 20:12:25 -07:00
2026-09-17 20:12:25 -07:00
2026-09-03 16:47:32 -07:00
2026-09-03 02:00:42 -07:00
2026-09-15 02:00:27 -07:00
2026-08-05 02:56:07 -07:00
2026-08-05 02:56:07 -07:00
2026-08-05 02:56:07 -07:00
2026-09-02 21:39:08 -07:00
2026-09-02 21:39:08 -07:00
2026-06-28 23:09:54 -07:00
2026-08-25 15:36:51 -07:00
2026-07-23 18:35:31 -07:00
2026-08-10 20:49:21 -07:00
2026-08-10 20:49:21 -07:00
2026-07-15 02:38:40 -07:00
2026-09-02 15:14:53 -07:00
2026-07-28 12:33:17 -07:00
2026-07-28 12:33:17 -07:00
2026-08-02 18:45:55 -07:00
2026-08-21 21:05:24 -07:00
2026-09-02 15:14:14 -07:00
2026-09-02 15:14:14 -07:00
2026-08-05 02:56:07 -07:00
2026-08-05 02:56:07 -07:00
2026-08-05 10:30:04 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-08-05 10:30:04 -07:00
2026-08-31 08:17:40 -07:00
2026-08-17 16:40:01 -07:00
2026-08-01 14:27:16 -07:00
2026-08-01 14:27:16 -07:00
2026-09-04 23:47:32 -07:00
2026-09-04 23:47:32 -07:00
2026-09-06 14:39:25 -04:00
2026-08-31 08:17:40 -07:00
2026-09-15 02:00:27 -07:00
2026-09-06 14:39:25 -04:00
2026-09-13 20:51:12 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-09-13 20:51:12 -07:00
2026-09-13 20:51:12 -07:00
2026-09-13 20:51:12 -07:00
2026-09-13 20:51:12 -07:00
2026-09-13 20:51:12 -07:00
2026-09-13 20:51:12 -07:00
2026-09-06 14:39:25 -04:00
2026-06-29 22:38:29 -07:00
2026-09-02 15:14:33 -07:00
2026-07-23 18:35:31 -07:00
2026-07-29 17:03:15 -07:00
2026-07-16 21:32:13 -07:00
2026-09-06 14:39:25 -04:00
2026-09-13 20:51:12 -07:00
2026-08-31 08:17:40 -07:00
2026-07-31 16:17:37 -07:00
2026-08-31 08:17:40 -07:00
2026-07-25 19:20:17 -07:00
2026-07-31 16:17:37 -07:00
2026-08-27 00:18:51 -07:00
2026-09-02 15:14:17 -07:00
2026-06-29 22:38:29 -07:00
2026-06-29 22:38:29 -07:00
2026-09-01 22:51:22 -07:00
2026-09-06 14:39:25 -04:00
2026-09-01 22:51:22 -07:00
2026-09-01 22:51:22 -07:00
2026-09-01 22:51:22 -07:00
2026-09-01 22:51:22 -07:00
2026-09-02 03:02:27 -07:00
2026-09-02 03:02:27 -07:00
2026-09-04 23:47:32 -07:00
2026-09-06 14:39:25 -04:00
2026-09-06 14:39:25 -04:00
2026-09-04 23:47:32 -07:00
2026-09-04 23:47:32 -07:00
2026-09-01 22:48:12 -07:00
2026-09-01 22:48:12 -07:00
2026-09-06 14:39:25 -04:00
2026-09-04 23:47:32 -07:00
2026-09-02 22:31:59 -07:00
2026-09-06 14:39:25 -04:00
2026-07-16 21:32:13 -07:00
2026-07-15 13:55:48 -07:00
2026-09-02 15:14:17 -07:00
2026-09-05 20:03:58 -07:00
2026-09-11 15:28:16 -07:00
2026-09-06 14:34:03 -04:00
2026-07-29 17:03:15 -07:00
2026-09-13 21:59:57 -07:00
2026-08-13 18:11:33 -07:00
2026-09-02 15:14:14 -07:00
2026-08-31 08:17:40 -07:00
2026-09-14 01:04:43 -04:00
2026-08-05 02:56:07 -07:00
2026-08-13 18:11:33 -07:00
2026-08-13 18:11:33 -07:00
2026-08-10 21:50:18 -07:00
2026-09-06 14:39:25 -04:00
2026-09-03 16:47:32 -07:00
2026-09-02 21:39:08 -07:00
2026-09-16 22:24:10 -07:00
2026-09-06 14:39:25 -04:00
2026-09-17 21:21:53 -07:00
2026-09-17 21:21:53 -07:00
2026-08-31 08:17:40 -07:00
2026-08-16 16:44:48 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-05-11 14:28:59 -07:00
2026-08-10 15:52:59 -07:00
2026-08-28 00:59:21 -07:00
2026-09-06 14:34:03 -04:00
2026-07-12 22:45:33 -07:00
2026-09-05 20:27:29 -04:00
2026-07-27 12:31:37 -07:00
2026-06-10 20:20:50 -07:00
2026-08-31 12:25:17 -07:00
2026-09-06 14:34:03 -04:00
2026-09-06 14:34:03 -04:00
2026-07-29 11:31:35 -07:00
2026-08-31 08:17:40 -07:00
2026-07-29 17:03:15 -07:00
2026-08-16 22:13:03 -07:00
2026-09-02 01:29:30 -07:00
2026-08-27 00:18:51 -07:00
2026-08-13 20:44:16 -07:00
2026-07-21 13:13:05 -07:00
2026-07-12 22:45:33 -07:00
2026-07-21 13:16:44 -07:00
2026-08-13 20:44:16 -07:00
2026-08-21 14:28:55 -07:00
2026-08-13 20:44:16 -07:00
2026-07-21 13:16:44 -07:00
2026-07-21 13:25:22 -07:00
2026-07-21 13:21:19 -07:00
2026-08-13 20:44:16 -07:00
2026-08-13 20:44:16 -07:00
2026-07-21 13:25:22 -07:00
2026-07-21 13:25:22 -07:00
2026-08-21 14:28:55 -07:00
2026-07-21 13:25:22 -07:00
2026-07-21 13:25:22 -07:00
2026-08-13 20:44:16 -07:00
2026-07-04 23:54:26 -07:00
2026-09-02 21:33:41 -07:00
2026-09-02 21:33:41 -07:00
2026-09-02 21:33:41 -07:00
2026-07-17 18:51:10 -07:00
2026-08-11 18:19:43 -07:00
2026-09-15 16:34:16 -07:00
2026-09-15 16:34:16 -07:00
2026-07-29 11:31:35 -07:00
2026-07-29 11:31:35 -07:00
2026-09-06 14:34:03 -04:00
2026-08-28 16:45:58 -07:00
2026-07-27 12:31:37 -07:00
2026-07-27 12:31:37 -07:00
2026-09-02 15:14:33 -07:00
2026-09-15 02:00:27 -07:00
2026-07-12 16:53:43 -07:00
2026-07-12 16:53:43 -07:00
2026-09-06 00:50:20 -07:00
2026-09-05 21:12:40 -07:00
2026-09-04 01:22:09 -07:00
2026-09-02 15:14:33 -07:00
2026-08-01 03:27:42 -07:00
2026-08-01 18:45:37 -07:00
2026-08-01 03:27:42 -07:00
2026-07-04 01:26:55 -07:00
2026-07-04 01:26:55 -07:00
2026-09-04 01:22:09 -07:00
2026-07-12 01:29:55 -07:00
2026-08-20 00:16:04 -07:00
2026-08-13 22:48:24 -07:00
2026-08-26 09:50:12 -07:00
2026-08-17 12:23:50 -07:00
2026-08-26 09:50:12 -07:00
2026-08-26 09:50:12 -07:00
2026-08-25 15:36:51 -07:00
2026-08-01 18:45:37 -07:00
2026-09-02 15:14:53 -07:00
2026-08-01 03:27:42 -07:00
2026-08-01 03:27:42 -07:00
2026-07-16 21:32:13 -07:00
2026-08-25 15:36:51 -07:00
2026-08-25 15:36:51 -07:00
2026-09-04 01:22:09 -07:00
2026-09-04 01:22:09 -07:00
2026-08-05 02:54:29 -07:00
2026-08-05 02:54:29 -07:00
2026-09-02 15:42:08 -07:00
2026-08-25 15:36:51 -07:00
2026-09-04 01:22:09 -07:00
2026-09-04 01:22:09 -07:00
2026-09-04 01:22:09 -07:00
2026-09-04 01:22:09 -07:00
2026-09-04 01:22:09 -07:00
2026-09-04 01:22:09 -07:00
2026-09-04 01:22:09 -07:00
2026-09-04 01:22:09 -07:00
2026-09-04 01:22:09 -07:00
2026-09-04 01:22:09 -07:00
2026-07-22 21:10:05 -07:00
2026-07-22 21:10:05 -07:00