Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/nix
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 0d619e215e agents: read the memory cap at boot, not from the build
An agent's memory cap was rendered into its flake (`memoryMaxBytes` →
`services.hyperhive.agent.claudeMemoryMaxBytes`), so the closure depended
on it and a changed cap reached the JSC heap ceiling and the subagent
`MemoryHigh=` only after a rebuild.

hive-c0re now writes the effective `MemoryMax=` in bytes to the agent's
runtime dir (`/run/hive/memory-max-bytes` inside) in `write_dropins`,
from the same value the drop-in gets. The file is removed for
`infinity` or a RAM percentage, and left alone when the drop-in is kept.

Inside the container, `nix/agent-modules/memory-cap.nix` reads it at
boot: an environment generator sets `BUN_JSC_forceRAMSize` (75%) for
every unit and `machinectl shell`, `/etc/set-environment` exports it in
login shells, and a unit generator writes `MemoryHigh=` (2/3) as a
drop-in for `hive-subagent-daemon`.

The render drops `memoryMaxBytes`, the agent option is removed (both
spellings fail eval with a removal message), and
`effective_memory_bytes_from` goes with its only caller.

Part of #5081 (slice S0-2).
2026-10-12 10:59:11 +02:00
..
agent-modules agents: read the memory cap at boot, not from the build 2026-10-12 10:59:11 +02:00
container-modules nix: move the in-container modules to nix/container-modules/ 2026-09-29 19:51:46 +02:00
docs nix: finish the "moved to" comment sweep 2026-10-05 09:59:02 +02:00
host-modules agents: remove send(operator) and the operator inbox; alert on turn failures 2026-10-12 08:50:06 +02:00
module-eval agents: read the memory cap at boot, not from the build 2026-10-12 10:59:11 +02:00
packages dashboard: remove the L0GS page and its journal backend 2026-10-12 01:26:33 +02:00
script-tests agents: read the memory cap at boot, not from the build 2026-10-12 10:59:11 +02:00
templates nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
checks.nix agents: read the memory cap at boot, not from the build 2026-10-12 10:59:11 +02:00
devshell.nix swarm-controller: end a dead replay, clamp stale resume ids, test on a real server 2026-10-11 23:26:24 +02:00
journald-severity.nix otel: map journald PRIORITY onto a severity at every journald receiver 2026-09-20 14:23:56 +02:00
reserved-hive-fragments.nix swarm: extract the name guards, so the module just says what is forbidden 2026-08-31 18:50:15 +02:00
reserved-names.nix agents: remove send(operator) and the operator inbox; alert on turn failures 2026-10-12 08:50:06 +02:00
rust.nix docs(rust): the dep-cache comment no longer describes two consumers 2026-08-11 22:29:56 +02:00
sources.nix refactor: slim flake.nix into nix/ entry files 2026-07-13 20:55:43 +02:00
treefmt.nix treefmt: format the web files with prettier 2026-09-02 15:25:07 +02:00