{"ok":true,"repo":{"id":29740,"full_name":"Cardinal44/corral","url":"https://github.com/Cardinal44/corral","description":null,"language":"C++","topics":[],"stars":5,"stars_delta":2,"forks":0,"first_seen":"2026-09-29T20:12:47.575117Z","last_seen":"2026-09-30T00:05:40.749268Z","mentions":1,"platforms":["hn"],"score":0.0,"summary":"Corral is a Linux command runner that guarantees no process survives when your command finishes. Unlike normal runners that signal only direct children, it uses cgroup v2 (or a /proc-scanning subreaper fallback) to kill the entire process tree — daemons, orphaned processes, SIGTERM-ignoring processes — and exits with code 120 if it can't verify cleanup. It also offers time limits, memory/pid/output caps, and JSON audit records.","why":"It was just shown on Hacker News ('Show HN') as a fix for a pain point in AI coding agents and CI, where spawned daemons and background processes leak ports, locks, and CPU across runs.","audience":"Developers running AI coding agents, CI pipelines, or test harnesses on Linux who need to guarantee leftover processes are dead after each run.","tags":["linux","process-management","ci","cli","c++","cgroups"],"summarized_at":"2026-09-29T20:35:54.040363Z","summary_model":"glm-5.3-flash","fetched_at":"2026-09-30T00:06:48.884701Z","meta":{"license":"MIT","archived":false,"homepage":null,"first_stars":3},"pushed_at":"2026-09-28T21:23:35Z","created_at":"2026-09-28T12:51:59Z","watchers":0,"open_issues":0,"mentions_list":[{"platform":"hn","url":"https://news.ycombinator.com/item?id=49886422","title":"Show HN: Corral kill every command your agent starts","seen_at":"2026-09-30T00:05:40.749686Z"}],"snapshots":[{"captured_at":"2026-09-29T20:20:41.658413Z","stars":3,"forks":0},{"captured_at":"2026-09-29T20:35:48.140296Z","stars":3,"forks":0},{"captured_at":"2026-09-29T20:52:11.594944Z","stars":3,"forks":0},{"captured_at":"2026-09-29T21:07:14.771988Z","stars":3,"forks":0},{"captured_at":"2026-09-29T21:22:16.042498Z","stars":3,"forks":0},{"captured_at":"2026-09-29T21:36:38.842023Z","stars":3,"forks":0},{"captured_at":"2026-09-29T21:52:03.340053Z","stars":3,"forks":0},{"captured_at":"2026-09-29T22:07:08.606764Z","stars":3,"forks":0},{"captured_at":"2026-09-29T22:22:23.228611Z","stars":3,"forks":0},{"captured_at":"2026-09-29T22:37:14.040901Z","stars":3,"forks":0},{"captured_at":"2026-09-29T22:52:14.040800Z","stars":3,"forks":0},{"captured_at":"2026-09-29T23:07:07.441381Z","stars":3,"forks":0},{"captured_at":"2026-09-29T23:22:05.351466Z","stars":3,"forks":0},{"captured_at":"2026-09-29T23:36:40.640185Z","stars":3,"forks":0},{"captured_at":"2026-09-29T23:51:39.242701Z","stars":4,"forks":0},{"captured_at":"2026-09-30T00:06:48.940522Z","stars":5,"forks":0}]}}