Files
hermes-agent/scripts
Teknium 4729c737e5 fix: windows hand-off reads other users' creation times and never fails a committed update
- marker helpers move to scripts/desktop-update/marker.ps1, dot-sourced
  first (windows.ps1 2113 -> 1930 lines); a hand-off that cannot load it
  exits 3 having changed nothing. It ships in the checkout next to
  windows.ps1 and runtime.ps1, which is where the Desktop runs them from.
- creation time comes from Win32_Process.CreationDate (limited query
  rights), cached per pid while it lives: Get-Process .StartTime is access
  denied for SYSTEM/elevated/other-user pids under PowerShell 5.1, so a
  pid reused by a service after a reboot read as a live owner forever.
  Alive with an unreadable time is live only inside the 20-minute ceiling.
- -DesktopPid runs adopt the Desktop's live bridge claim only; a refused
  run exits 2 without a result file and only reopens a Desktop that is gone.
- positional parse identical to the other readers; claims publish the
  complete body with an exclusive hard link (rename fallback); a fresh
  empty marker is a claim in flight; the delegate line always carries ct.
- a follow-up step whose process tree cannot be quiesced after the commit
  point is ok:true + a manual warning (no relaunch, marker kept live),
  not "still on the previous version".
- the interrupted post-update tail is always a manual warning: re-running
  hermes update is the only remedy, so the copy says exactly that.
- the launcher probe bound is a -ProbeTimeoutSeconds parameter (default
  60), not the HERMES_UPDATE_PROBE_TIMEOUT_SECONDS environment variable.

(cherry picked from commit 65663dc6a64f942c6385b7de3ba13cdecd393387)
2026-10-06 05:44:21 -07:00
..