agent: container memory.max ~1.93GB causes exit 143 on Node tooling
- Dominant language
- Python
- Stars
- 80
- Forks
- 30
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 19
Description
## Summary
Today (2026-05-28, ~21:30-21:55 UTC) several Opus 4.7 impl sessions stalled mid-task with `Agent error: Command failed with exit code 143` (SIGTERM). Sessions confirmed affected: `impl-af6f01dd`, `impl-2d3f4375`; likely also `impl-247fdb3b` + `impl-5f51ff89`.
## Root cause
Container cgroup `memory.max` was `2,066,325,504` bytes (~1.93 GB), below the 2-4 GB ceiling Node tooling (`jest`, `tsc`, `next build`) routinely uses. The OOM killer SIGTERMed the Node child; the Claude Agent SDK surfaced this as exit 143.
Reproducible at the time via `cat /sys/fs/cgroup/memory.max` returning `2066325504`.
## Current state
`cat /sys/fs/cgroup/memory.max` now returns `max` (unlimited) and the host shows 19 GB total / 12 GB available. The root cause is no longer reproducible, which is great, but the bump was either:
- (a) a deliberate `docker compose` change since this morning that wasn't documented anywhere I can find, or
- (b) a host-level OrbStack/Docker Desktop setting flip.
I cannot find which.
## Proposed follow-up
- Document the resolved bump in `nerve/bootstrap.py::_build_docker_compose`. If we don't pin a sane minimum memory limit explicitly, the next time someone runs `nerve init` on a fresh host they'll get whatever the daemon's default is.
- Optional: export `NODE_OPTIONS=--max-old-space-size=1500` in the validate-after-change skill for HyperDX repos as a belt-and-suspenders mitigation (the limit only triggers when actually running Node tooling, doesn't hurt otherwise).
## Audit-log evidence
- `~/.nerve/mechanical-actions/audit.jsonl` line 14: 21:55:29Z watcher quiet-tick note about the state-file reset (which itself was a side effect of the broader incident).
- Sessions API `messages` for `impl-af6f01dd`: last assistant turn at 2026-05-28T21:37:45Z is literally "Agent error: Command failed with exit code 143"; same for `impl-2d3f4375` at 21:39:12Z.
Filing this so the next cgroup change has context and so the diagnosis is searchable in memU later.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.