Skip to content

main-128d627

Choose a tag to compare

@github-actions github-actions released this 11 Sep 03:10
· 48 commits to main since this release
feat(admin): report the running build as config.server_version

A measurement campaign that cannot name the build it was taken against is not
evidence, and "did my redeploy actually land?" should not require shell access
to the container. The harness was reaching for a `server_version` field that
had never existed — the same class of mistake as guessing `port` for what the
API calls `public_port`, so this adds the field rather than deleting the
reference.

FULL_VERSION moves from the binary into the library, and both the binary's
`--version` and the new field read that one constant: two independently
computed version strings drift, and a drifted one is worse than none because
it is believed. The Configuration panel renders it as "Server Version".

Also in this change, harness work that the evidence-gathering exposed:

* raw_origin.py gains a HOLD verb and raw_client.py a matching `hold` mode.
  The concurrency ladder used to hold connections by asking each for 4 GiB,
  which saturates the link and measures the link rather than the concurrency,
  and it forked one OS process per held connection — 512 Python interpreters
  on a 2-vCPU / 3.8 GiB VM measures the driver's memory pressure. HOLD answers
  once and then moves no bytes, and all N connections are opened with asyncio
  inside one process. The arm now reports `up=` beside `active_at_server=` so
  a ladder that silently held fewer connections than it claims is visible.
* vm_pub_stab.sh read `server_rss_bytes`; MetricsView calls it `mem_rss_bytes`.
  The soak now prints the RSS delta across its hour, which is the leak
  evidence it was supposed to be collecting.
* srv/redeploy.sh listed public tunnels by `.port` and `.client_addr`; the
  fields are `.public_port` and `.peer`.

Gates: config_view_names_the_running_build (asserts the field equals the same
constant the binary prints and has the documented shape) and T-CFGVER in the
frontend config panel test.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BqfehFhjLR3Yj1sgaf5KCi