@integrity-labs/agt-cli 0.28.588 → 0.28.589

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin/agt.js CHANGED
@@ -40,7 +40,7 @@ import {
40
40
  success,
41
41
  table,
42
42
  warn
43
- } from "../chunk-4G52LVUD.js";
43
+ } from "../chunk-THFO7CK4.js";
44
44
  import {
45
45
  AnchorSessionClient,
46
46
  CHANNEL_REGISTRY,
@@ -71,7 +71,7 @@ import {
71
71
  requiredMcpWildcard,
72
72
  resolveChannels,
73
73
  serializeManifestForSlackCli
74
- } from "../chunk-BLA56WZF.js";
74
+ } from "../chunk-QDJEEGZB.js";
75
75
  import "../chunk-XWVM4KPK.js";
76
76
 
77
77
  // src/bin/agt.ts
@@ -4908,7 +4908,7 @@ import { execFileSync, execSync } from "child_process";
4908
4908
  import { existsSync as existsSync10, realpathSync as realpathSync2 } from "fs";
4909
4909
  import chalk18 from "chalk";
4910
4910
  import ora16 from "ora";
4911
- var cliVersion = true ? "0.28.588" : "dev";
4911
+ var cliVersion = true ? "0.28.589" : "dev";
4912
4912
  async function fetchLatestVersion() {
4913
4913
  const host2 = getHost();
4914
4914
  if (!host2) return null;
@@ -6088,7 +6088,7 @@ function handleError(err) {
6088
6088
  }
6089
6089
 
6090
6090
  // src/bin/agt.ts
6091
- var cliVersion2 = true ? "0.28.588" : "dev";
6091
+ var cliVersion2 = true ? "0.28.589" : "dev";
6092
6092
  var program = new Command();
6093
6093
  program.name("agt").description("Augmented CLI \u2014 agent provisioning and management").version(cliVersion2).option("--json", "Emit machine-readable JSON output (suppress spinners and colors)").option("--skip-update-check", "Skip the automatic update check on startup");
6094
6094
  program.hook("preAction", async (thisCommand, actionCommand) => {
@@ -14724,6 +14724,32 @@ function buildDockerRunCommand(args) {
14724
14724
  const runCmd = [
14725
14725
  "exec docker run --rm -it",
14726
14726
  `--name agt-${codeName}`,
14727
+ // ENG-8825: run tini as PID 1 so ADOPTED ORPHANS GET REAPED. Without it the
14728
+ // container's PID 1 is the wrapper script, which execs `claude` - and a
14729
+ // process reparented to PID 1 stays a zombie until PID 1 calls wait(),
14730
+ // which claude does not and should not have to. Every subprocess that
14731
+ // outlives its immediate parent therefore leaks a PID for the life of the
14732
+ // container.
14733
+ //
14734
+ // Measured on a real agent (koda, 2026-08-14) after ~4h of ordinary work -
14735
+ // git, gh, vitest, tsc, shell pipelines:
14736
+ //
14737
+ // cgroup pids: 479/512 zombies: 403 live procs: 15
14738
+ //
14739
+ // ~100 zombies/hour, so `--pids-limit` two lines below is reached in about
14740
+ // five hours of active use. The limit is deliberate; the leak just eats it.
14741
+ //
14742
+ // What makes this worth a flag rather than a monitoring item is the DISGUISE.
14743
+ // Past the ceiling every spawn returns EAGAIN, and that surfaces inside
14744
+ // whatever unrelated command ran next: vitest reports "no tests" (reads as a
14745
+ // broken suite), tsc dies silently at exit 137 (reads as an OOM - it was
14746
+ // misdiagnosed as one three times before the PID count was checked), esbuild
14747
+ // fails mid-run. An agent hitting this concludes its own code is wrong.
14748
+ //
14749
+ // Docker's bundled tini. Deliberately NOT an in-process SIGCHLD handler in
14750
+ // the harness: reaping adopted orphans is init's job, and re-implementing it
14751
+ // per-application is how it gets forgotten again next time.
14752
+ "--init",
14727
14753
  `--memory ${memory}`,
14728
14754
  `--cpus ${cpus}`,
14729
14755
  `--pids-limit ${pids}`,
@@ -16058,4 +16084,4 @@ export {
16058
16084
  stopAllSessionsAndWait,
16059
16085
  getProjectDir
16060
16086
  };
16061
- //# sourceMappingURL=chunk-BLA56WZF.js.map
16087
+ //# sourceMappingURL=chunk-QDJEEGZB.js.map