Files
hermes-agent/contributors
Sasan Sotoodehfar 51283072ad fix(lsp,gateway): give servers a grace period after exit and keep shutdown diagnostics off GNU-only tools (#72944)
- LSPClient.shutdown: after the protocol `exit` notification wait up to
  SHUTDOWN_GRACE for the server to leave on its own before SIGTERM. Every
  well-behaved server was being SIGTERMed on top of a clean exit (returncode
  -15 on Linux); on Darwin the reaped PID can already belong to another
  process.
- gateway shutdown diagnostic: run without GNU `timeout` when the host has
  neither `timeout` nor `gtimeout` (stock macOS) instead of skipping the
  diagnostic entirely; sort the `ps` listing with `sort` rather than the GNU
  `--sort` flag; fall back to `sysctl vm.loadavg` when `/proc/loadavg` is
  absent.
- s6 skeleton: chmod after chown so the setgid bit on event/ survives.

Salvages the still-open atoms of #72932 by @sasan1200 (LSP grace, portable
diagnostics, chown ordering); the BASHPID and /private/var/folders atoms
had already landed (911d380296, d4cec15b47).
2026-09-19 01:31:49 -07:00
..
…

Contributor email → GitHub login mappings

This directory replaces appending entries to AUTHOR_MAP in scripts/release.py. The old dict caused constant merge conflicts when several salvage PRs landed at once — every PR edited the same lines of the same file. Here, each mapping is its own file, and file additions never conflict.

Adding a mapping

One file per commit-author email, under emails/:

python3 scripts/add_contributor.py <email> <github-login>
# or by hand:
echo "<github-login>" > contributors/emails/<email>
  • File name = the exact commit-author email (as shown by git log --format='%ae').
  • File content = the GitHub login on the first non-comment line. Lines starting with # are comments (use them for the PR reference).

Example — contributors/emails/jane.doe@example.com:

janedoe
# PR #12345 salvage (gateway: fix session key routing)

Rules

  • Do NOT add new entries to AUTHOR_MAP in scripts/release.py. That dict is frozen legacy data; the release tooling merges it with this directory (directory entries win on duplicates).
  • GitHub noreply emails (<id>+<login>@users.noreply.github.com and <login>@users.noreply.github.com) auto-resolve — no file needed.
  • The Contributor Attribution Check CI job fails a PR whose commits carry an unmapped email; the failure message prints the exact command to run.