Files
KRATOS b0a280eaf6 audit: fix four high-severity concurrency/correctness bugs (#261)
Surfaced by a full-tree audit; all are latent (the suite passed) and live
in race windows / error edges the tests don't exercise. Each ships a
regression test.

- swarm: liveAgents() now counts queued specs, so AdoptOrphans can no longer
  re-dispatch (double-execute) a task whose member is merely waiting for a
  free slot over the concurrency cap.
- cron/hooks/oauth: stale-lock reclaim is now atomic (rename aside, then
  verify-and-restore if it turns out fresh) instead of a blind Remove that
  let two racers both reclaim and hold the lock; also falls through to the
  bounded wait instead of hot-spinning when a reclaim never wins.
- lsp: a dead language-server session is evicted and restarted instead of
  being returned forever, so one server crash no longer permanently breaks
  diagnostics (and spuriously fails self-correct every iteration).
- config: an API-key env var no longer overwrites a same-named
  compatible-transport provider's kind when no base URL is supplied.
2026-06-20 10:38:53 +05:30
..