Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/nix/agent-modules
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-service.nix agents: remove the hive-level /effort control too 2026-10-11 01:28:44 +02:00
bao.nix agents: swap the agent's bao leaf in with one rename 2026-10-11 10:00:43 +02:00
bash-env.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
claude-settings.nix agents: read the memory cap at boot, not from the build 2026-10-12 10:59:11 +02:00
dashboard-links.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
default.nix agents: read the memory cap at boot, not from the build 2026-10-12 10:59:11 +02:00
docs.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
forge-accounts.nix agents: re-pull the agent's own bao mTLS leaf on a timer 2026-10-11 10:00:43 +02:00
forge-token.nix agents: re-pull the agent's own bao mTLS leaf on a timer 2026-10-11 10:00:43 +02:00
forge.nix nix: comments state current behaviour, not history 2026-10-05 09:58:50 +02:00
frontend.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
github-token.nix agents: re-pull the agent's own bao mTLS leaf on a timer 2026-10-11 10:00:43 +02:00
github.nix github: PATs live in swarm bao; the agent fetches them itself 2026-10-02 17:48:27 +02:00
hive-facts.nix agents: login shells read the hive facts too; test the readers 2026-10-12 10:52:21 +02:00
logs.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
matrix.nix agents: re-pull the agent's own bao mTLS leaf on a timer 2026-10-11 10:00:43 +02:00
mcp.nix agents: read the memory cap at boot, not from the build 2026-10-12 10:59:11 +02:00
memory-cap.nix agents: read the memory cap at boot, not from the build 2026-10-12 10:59:11 +02:00
network.nix agent: order bao/github/forge-accounts logins after the isolated-DNS rewrite 2026-10-09 12:34:30 +02:00
otel.nix agents: read the hive's name and domain at runtime, not from the build 2026-10-12 10:52:21 +02:00
packages.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
queue-identity.nix agents: re-pull the agent's own bao mTLS leaf on a timer 2026-10-11 10:00:43 +02:00
queue.nix hive-agent: the swarm queue connection is required; retry, then exit 2026-10-04 22:24:51 +02:00
renamed-options.nix agents: read the memory cap at boot, not from the build 2026-10-12 10:59:11 +02:00
screen.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
user.nix user.nix: log failed ownership heals of the agent's own dirs 2026-10-09 11:30:30 +02:00
weston-vnc.nix nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00