@integrity-labs/agt-cli 0.28.1035 → 0.28.1037

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.
@@ -266,7 +266,7 @@ async function spawnPairSession(session) {
266
266
  return { ok: true };
267
267
  } catch {
268
268
  }
269
- const { resolveClaudeBinary } = await import("./persistent-session-MUY7PVLJ.js");
269
+ const { resolveClaudeBinary } = await import("./persistent-session-QZAKDZIX.js");
270
270
  const claudeBin = resolveClaudeBinary();
271
271
  const pairEnv = {
272
272
  ...process.env,
@@ -734,4 +734,4 @@ export {
734
734
  startClaudePair,
735
735
  submitClaudePairCode
736
736
  };
737
- //# sourceMappingURL=claude-pair-runtime-I4XYDZWO.js.map
737
+ //# sourceMappingURL=claude-pair-runtime-NKWXDI6H.js.map
@@ -66,7 +66,7 @@ import {
66
66
  safeWriteJsonAtomic,
67
67
  setConfigHash,
68
68
  tripClass
69
- } from "../chunk-D6T6GIXC.js";
69
+ } from "../chunk-OSYWTIKV.js";
70
70
  import {
71
71
  getProjectDir as getProjectDir2,
72
72
  getReadyTasks,
@@ -149,7 +149,7 @@ import {
149
149
  takeZombieDetection,
150
150
  toOpencodeModel,
151
151
  writeEgressAllowlist
152
- } from "../chunk-V74YKGXU.js";
152
+ } from "../chunk-TAWCN7OK.js";
153
153
  import {
154
154
  ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
155
155
  AnchorSessionClient,
@@ -254,7 +254,7 @@ import {
254
254
  subagentActivityAgeSeconds,
255
255
  sumTranscriptUsageInWindow,
256
256
  transcriptActivityAgeSeconds
257
- } from "../chunk-H54FYWAK.js";
257
+ } from "../chunk-UB2HLH5P.js";
258
258
  import {
259
259
  classifyUnanswerablePane,
260
260
  paneRemedy
@@ -13931,7 +13931,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
13931
13931
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
13932
13932
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
13933
13933
  async function channelInboundActivityAgeSecondsFor(codeName) {
13934
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-MPL5PM33.js");
13934
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-6OG3SYLZ.js");
13935
13935
  const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
13936
13936
  if (newest === null) return null;
13937
13937
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -14677,7 +14677,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
14677
14677
  var lastVersionCheckAt = 0;
14678
14678
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
14679
14679
  var lastResponsivenessProbeAt = 0;
14680
- var agtCliVersion = true ? "0.28.1035" : "dev";
14680
+ var agtCliVersion = true ? "0.28.1037" : "dev";
14681
14681
  function resolveBrewPath(execFileSync3) {
14682
14682
  try {
14683
14683
  const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -16312,7 +16312,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
16312
16312
  if (codeNames.length === 0) return;
16313
16313
  void (async () => {
16314
16314
  try {
16315
- const { collectDiagnostics } = await import("../persistent-session-MUY7PVLJ.js");
16315
+ const { collectDiagnostics } = await import("../persistent-session-QZAKDZIX.js");
16316
16316
  await api.post("/host/heartbeat", {
16317
16317
  host_id: hostId,
16318
16318
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
@@ -16454,7 +16454,7 @@ async function pollCycleInner() {
16454
16454
  }
16455
16455
  try {
16456
16456
  const { detectHostSecurity } = await import("../host-security-KQYYZZVW.js");
16457
- const { collectDiagnostics } = await import("../persistent-session-MUY7PVLJ.js");
16457
+ const { collectDiagnostics } = await import("../persistent-session-QZAKDZIX.js");
16458
16458
  const diagCodeNames = [...agentState.persistentSessionAgents];
16459
16459
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor) : void 0;
16460
16460
  let tailscaleHostname;
@@ -16630,7 +16630,7 @@ async function pollCycleInner() {
16630
16630
  collectPanelessActivityProbes,
16631
16631
  getResponsivenessIntervalMs,
16632
16632
  occupancyQualificationClassifications
16633
- } = await import("../responsiveness-probe-MPL5PM33.js");
16633
+ } = await import("../responsiveness-probe-6OG3SYLZ.js");
16634
16634
  const probeIntervalMs = getResponsivenessIntervalMs();
16635
16635
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
16636
16636
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -16747,7 +16747,7 @@ async function pollCycleInner() {
16747
16747
  collectResponsivenessProbes,
16748
16748
  livePendingInboundOldestAgeSeconds,
16749
16749
  parkPendingInbound
16750
- } = await import("../responsiveness-probe-MPL5PM33.js");
16750
+ } = await import("../responsiveness-probe-6OG3SYLZ.js");
16751
16751
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-M6AFZWNU.js");
16752
16752
  const wedgeNow = /* @__PURE__ */ new Date();
16753
16753
  const liveAgents = agentState.persistentSessionAgents;
@@ -16903,7 +16903,7 @@ async function pollCycleInner() {
16903
16903
  }
16904
16904
  try {
16905
16905
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-VR5QGP3J.js");
16906
- const { probeSessionAuth } = await import("../session-auth-dead-5ECPRU2V.js");
16906
+ const { probeSessionAuth } = await import("../session-auth-dead-EH4N7PWU.js");
16907
16907
  const observations = [];
16908
16908
  const pendingCacheCommits = [];
16909
16909
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -21446,7 +21446,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
21446
21446
  try {
21447
21447
  const freshId = rotateSessionForWedge(codeName);
21448
21448
  consecutiveWedgeCycles.delete(codeName);
21449
- const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-MPL5PM33.js");
21449
+ const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-6OG3SYLZ.js");
21450
21450
  const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
21451
21451
  const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
21452
21452
  const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
@@ -21489,7 +21489,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
21489
21489
  void api.post("/host/restart-ack", { host_id: hostId, agent_id: agentId, restart_requested_at: requestedAt }).catch((err) => log(`[restart-lane] ack failed for '${codeName}': ${err.message}`));
21490
21490
  void (async () => {
21491
21491
  try {
21492
- const { collectDiagnostics } = await import("../persistent-session-MUY7PVLJ.js");
21492
+ const { collectDiagnostics } = await import("../persistent-session-QZAKDZIX.js");
21493
21493
  await api.post("/host/heartbeat", {
21494
21494
  host_id: hostId,
21495
21495
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
@@ -21540,7 +21540,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
21540
21540
  }
21541
21541
  try {
21542
21542
  const hostId = await getHostId();
21543
- const { collectDiagnostics } = await import("../persistent-session-MUY7PVLJ.js");
21543
+ const { collectDiagnostics } = await import("../persistent-session-QZAKDZIX.js");
21544
21544
  await api.post("/host/heartbeat", {
21545
21545
  host_id: hostId,
21546
21546
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
@@ -22212,7 +22212,7 @@ async function processClaudePairSessions(agents) {
22212
22212
  // cannot take it for itself — by the time it runs, the write it is looking
22213
22213
  // for may already have happened.
22214
22214
  snapshotPairConfig
22215
- } = await import("../claude-pair-runtime-I4XYDZWO.js");
22215
+ } = await import("../claude-pair-runtime-NKWXDI6H.js");
22216
22216
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
22217
22217
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
22218
22218
  const killed = await killPairSession(pairTmuxSession(pairId));
@@ -33169,25 +33169,38 @@ var composio_approved_egress_default = {
33169
33169
  "`DescribeRouteTables` nor `DescribeNatGateways`, so enumeration cannot answer it. But",
33170
33170
  "seeing an address is not deciding it may hold a key. A row appears here when a human",
33171
33171
  "decides it, in a PR, which is the same ceremony every other entry gets. So an org can",
33172
- "legitimately have a known egress address and no entry here - see Zanda below - and the",
33173
- "posture page must withhold its paste value rather than offer the shared set.",
33172
+ "decides it, in a PR, which is the same ceremony every other entry gets. So an org CAN",
33173
+ "legitimately have a known egress address and no entry here, and the posture page must",
33174
+ "withhold its paste value rather than offer the shared set. As of 2026-09-28 no org is in",
33175
+ "that state - Zanda was, and the block below records what it cost, which is the reason",
33176
+ "the withholding behaviour must not be softened just because nothing exercises it today.",
33174
33177
  "",
33175
- "ZANDA IS THE LIVE EXAMPLE, AND ITS ABSENCE BELOW IS DELIBERATE.",
33178
+ "ZANDA IS THE LIVE EXAMPLE, AND ITS ADDRESS IS NOW APPROVED (2026-09-28). READ WHY.",
33176
33179
  "Zanda has an active BYO host - d0a78e4f-7a21-4d8d-85db-66a167fdd8cb in account",
33177
- "585819234046, created 2026-09-16 - and as of 2026-09-20 its egress address IS known:",
33180
+ "585819234046, created 2026-09-16 - whose egress address was known from 2026-09-20:",
33178
33181
  "3.107.131.133, resolved from `host_attested_egress` after an account enumeration failed",
33179
- "to find it (it is a THIRD account, which no census had thought to scan). It is not",
33180
- "recorded because nobody has approved it. That host carries ZERO assigned agents, so it",
33181
- "makes no Composio calls and the omission costs nothing today; the approval queue for",
33182
- "exactly this decision is ENG-10668, unbuilt. The consequence is intended and measured:",
33183
- "Zanda's org IS `fully_managed` (read from prod 2026-09-20), so it holds a",
33184
- "platform-managed Composio key and DOES appear on /admin/composio-key-posture - with no",
33185
- "paste value and a reason. That row is the feature working. Do not 'fix' it by adding",
33186
- "3.107.131.133 below - add the approval.",
33182
+ "to find it (it is a THIRD account, which no census had thought to scan). For eight days it",
33183
+ "was NOT recorded here, deliberately, because nobody had approved it.",
33184
+ "",
33185
+ "THE ARGUMENT FOR LEAVING IT WAS CORRECT AND ITS PREMISE EXPIRED WITHOUT A SIGNAL.",
33186
+ "This block used to read: 'That host carries ZERO assigned agents, so it makes no Composio",
33187
+ "calls and the omission costs nothing today.' True when written, and it stopped being true",
33188
+ "the moment an operator migrated an agent onto that host - which is a routine action, taken",
33189
+ "by someone who had no reason to read this file, and which nothing connects back to here.",
33190
+ "On 2026-09-28 that agent could not reach Jira: the org's key was armed, the host egressed",
33191
+ "from an address no allowlist carried, and Composio refused it. The address was approved and",
33192
+ "the full five-address set pasted into project pr_MY372XzWOmX_ the same day.",
33193
+ "",
33194
+ "SO THE LESSON IS NOT 'APPROVE FASTER'. It is that a cost bounded by 'no agents on that",
33195
+ "host' is bounded by a condition nothing enforces and nothing watches. The queue that would",
33196
+ "have surfaced this decision is ENG-10668, still unbuilt; until it exists, an address landing",
33197
+ "in `host_attested_egress` for a fully_managed org is a decision waiting on someone noticing.",
33198
+ "The customer-visible failure also outlived the fix: the refusals drove the integration into",
33199
+ "an ENG-7916 bind quarantine, which does not self-clear when the allowlist is corrected.",
33187
33200
  "",
33188
33201
  "THE SAME READ FOUND ZERO `self` HOSTS FLEET-WIDE (2026-09-20), which is why widening the",
33189
33202
  "rule beyond the BYO pointer costs nothing today: exactly two orgs have a host outside our",
33190
- "NATs, both BYO, and only Zanda's lacks a recorded address. Every other org's row is the",
33203
+ "NATs, both BYO, and as of 2026-09-28 BOTH have a recorded address, so no org's row withholds.",
33191
33204
  "shared set, byte-identical to what ENG-10713 already served it. If that ratio ever",
33192
33205
  "inverts - many orgs withholding - the answer is to record addresses or build ENG-10668,",
33193
33206
  "NOT to narrow the rule back."
@@ -33241,6 +33254,19 @@ var composio_approved_egress_default = {
33241
33254
  note: 'The BYO "Agents" account\'s NAT, serving `asha` on prod-integritylabs-integritylabs-4. Measured 2026-09-19 (ENG-10718) and again in the 24h /host/* census on 2026-09-20: 55,109 requests from 32 distinct paths. `region` is null because it is NOT RECORDED and cannot be enumerated from here - see the $comment; the comparison is on `ip` alone, so a null costs nothing, whereas a guessed region would be a fact this file states without evidence. THIS ORG WAS ARMED DURING THE GATE 5 REHEARSAL (ENG-10712) WITHOUT THIS ADDRESS. It passed only because nothing on that host called Composio inside the ~15-minute window; had it, the call would have been refused.'
33242
33255
  }
33243
33256
  ]
33257
+ },
33258
+ "c6a844b7-45d6-44f3-8390-616de3924c03": {
33259
+ orgSlug: "zanda",
33260
+ addresses: [
33261
+ {
33262
+ ip: "3.107.131.133",
33263
+ stage: "prod-byo",
33264
+ account: "585819234046",
33265
+ region: null,
33266
+ seenAsGateway: null,
33267
+ note: "Zanda's BYO host d0a78e4f-7a21-4d8d-85db-66a167fdd8cb, created 2026-09-16 in a THIRD account no egress census had scanned. OBSERVED from `host_attested_egress` (ENG-10666) on 2026-09-20 and APPROVED 2026-09-28, after an agent was migrated onto that host and could not reach Jira - the org's key was already armed and no allowlist carried this address. `region` and `seenAsGateway` are null because they are NOT RECORDED and cannot be enumerated from here: the `augmented-byo-provisioner` role grants neither DescribeRouteTables nor DescribeNatGateways. The comparison is on `ip` alone, so a null costs nothing whereas a guessed value would be a fact this file states without evidence. The eight-day gap between observing and approving is the cost of ENG-10668 being unbuilt, not an oversight - see the ZANDA block in $comment."
33268
+ }
33269
+ ]
33244
33270
  }
33245
33271
  }
33246
33272
  };
package/dist/mcp/index.js CHANGED
@@ -25751,25 +25751,38 @@ var composio_approved_egress_default = {
25751
25751
  "`DescribeRouteTables` nor `DescribeNatGateways`, so enumeration cannot answer it. But",
25752
25752
  "seeing an address is not deciding it may hold a key. A row appears here when a human",
25753
25753
  "decides it, in a PR, which is the same ceremony every other entry gets. So an org can",
25754
- "legitimately have a known egress address and no entry here - see Zanda below - and the",
25755
- "posture page must withhold its paste value rather than offer the shared set.",
25754
+ "decides it, in a PR, which is the same ceremony every other entry gets. So an org CAN",
25755
+ "legitimately have a known egress address and no entry here, and the posture page must",
25756
+ "withhold its paste value rather than offer the shared set. As of 2026-09-28 no org is in",
25757
+ "that state - Zanda was, and the block below records what it cost, which is the reason",
25758
+ "the withholding behaviour must not be softened just because nothing exercises it today.",
25756
25759
  "",
25757
- "ZANDA IS THE LIVE EXAMPLE, AND ITS ABSENCE BELOW IS DELIBERATE.",
25760
+ "ZANDA IS THE LIVE EXAMPLE, AND ITS ADDRESS IS NOW APPROVED (2026-09-28). READ WHY.",
25758
25761
  "Zanda has an active BYO host - d0a78e4f-7a21-4d8d-85db-66a167fdd8cb in account",
25759
- "585819234046, created 2026-09-16 - and as of 2026-09-20 its egress address IS known:",
25762
+ "585819234046, created 2026-09-16 - whose egress address was known from 2026-09-20:",
25760
25763
  "3.107.131.133, resolved from `host_attested_egress` after an account enumeration failed",
25761
- "to find it (it is a THIRD account, which no census had thought to scan). It is not",
25762
- "recorded because nobody has approved it. That host carries ZERO assigned agents, so it",
25763
- "makes no Composio calls and the omission costs nothing today; the approval queue for",
25764
- "exactly this decision is ENG-10668, unbuilt. The consequence is intended and measured:",
25765
- "Zanda's org IS `fully_managed` (read from prod 2026-09-20), so it holds a",
25766
- "platform-managed Composio key and DOES appear on /admin/composio-key-posture - with no",
25767
- "paste value and a reason. That row is the feature working. Do not 'fix' it by adding",
25768
- "3.107.131.133 below - add the approval.",
25764
+ "to find it (it is a THIRD account, which no census had thought to scan). For eight days it",
25765
+ "was NOT recorded here, deliberately, because nobody had approved it.",
25766
+ "",
25767
+ "THE ARGUMENT FOR LEAVING IT WAS CORRECT AND ITS PREMISE EXPIRED WITHOUT A SIGNAL.",
25768
+ "This block used to read: 'That host carries ZERO assigned agents, so it makes no Composio",
25769
+ "calls and the omission costs nothing today.' True when written, and it stopped being true",
25770
+ "the moment an operator migrated an agent onto that host - which is a routine action, taken",
25771
+ "by someone who had no reason to read this file, and which nothing connects back to here.",
25772
+ "On 2026-09-28 that agent could not reach Jira: the org's key was armed, the host egressed",
25773
+ "from an address no allowlist carried, and Composio refused it. The address was approved and",
25774
+ "the full five-address set pasted into project pr_MY372XzWOmX_ the same day.",
25775
+ "",
25776
+ "SO THE LESSON IS NOT 'APPROVE FASTER'. It is that a cost bounded by 'no agents on that",
25777
+ "host' is bounded by a condition nothing enforces and nothing watches. The queue that would",
25778
+ "have surfaced this decision is ENG-10668, still unbuilt; until it exists, an address landing",
25779
+ "in `host_attested_egress` for a fully_managed org is a decision waiting on someone noticing.",
25780
+ "The customer-visible failure also outlived the fix: the refusals drove the integration into",
25781
+ "an ENG-7916 bind quarantine, which does not self-clear when the allowlist is corrected.",
25769
25782
  "",
25770
25783
  "THE SAME READ FOUND ZERO `self` HOSTS FLEET-WIDE (2026-09-20), which is why widening the",
25771
25784
  "rule beyond the BYO pointer costs nothing today: exactly two orgs have a host outside our",
25772
- "NATs, both BYO, and only Zanda's lacks a recorded address. Every other org's row is the",
25785
+ "NATs, both BYO, and as of 2026-09-28 BOTH have a recorded address, so no org's row withholds.",
25773
25786
  "shared set, byte-identical to what ENG-10713 already served it. If that ratio ever",
25774
25787
  "inverts - many orgs withholding - the answer is to record addresses or build ENG-10668,",
25775
25788
  "NOT to narrow the rule back."
@@ -25823,6 +25836,19 @@ var composio_approved_egress_default = {
25823
25836
  note: 'The BYO "Agents" account\'s NAT, serving `asha` on prod-integritylabs-integritylabs-4. Measured 2026-09-19 (ENG-10718) and again in the 24h /host/* census on 2026-09-20: 55,109 requests from 32 distinct paths. `region` is null because it is NOT RECORDED and cannot be enumerated from here - see the $comment; the comparison is on `ip` alone, so a null costs nothing, whereas a guessed region would be a fact this file states without evidence. THIS ORG WAS ARMED DURING THE GATE 5 REHEARSAL (ENG-10712) WITHOUT THIS ADDRESS. It passed only because nothing on that host called Composio inside the ~15-minute window; had it, the call would have been refused.'
25824
25837
  }
25825
25838
  ]
25839
+ },
25840
+ "c6a844b7-45d6-44f3-8390-616de3924c03": {
25841
+ orgSlug: "zanda",
25842
+ addresses: [
25843
+ {
25844
+ ip: "3.107.131.133",
25845
+ stage: "prod-byo",
25846
+ account: "585819234046",
25847
+ region: null,
25848
+ seenAsGateway: null,
25849
+ note: "Zanda's BYO host d0a78e4f-7a21-4d8d-85db-66a167fdd8cb, created 2026-09-16 in a THIRD account no egress census had scanned. OBSERVED from `host_attested_egress` (ENG-10666) on 2026-09-20 and APPROVED 2026-09-28, after an agent was migrated onto that host and could not reach Jira - the org's key was already armed and no allowlist carried this address. `region` and `seenAsGateway` are null because they are NOT RECORDED and cannot be enumerated from here: the `augmented-byo-provisioner` role grants neither DescribeRouteTables nor DescribeNatGateways. The comparison is on `ip` alone, so a null costs nothing whereas a guessed value would be a fact this file states without evidence. The eight-day gap between observing and approving is the cost of ENG-10668 being unbuilt, not an oversight - see the ZANDA block in $comment."
25850
+ }
25851
+ ]
25826
25852
  }
25827
25853
  }
25828
25854
  };
@@ -39902,25 +39902,38 @@ var composio_approved_egress_default = {
39902
39902
  "`DescribeRouteTables` nor `DescribeNatGateways`, so enumeration cannot answer it. But",
39903
39903
  "seeing an address is not deciding it may hold a key. A row appears here when a human",
39904
39904
  "decides it, in a PR, which is the same ceremony every other entry gets. So an org can",
39905
- "legitimately have a known egress address and no entry here - see Zanda below - and the",
39906
- "posture page must withhold its paste value rather than offer the shared set.",
39905
+ "decides it, in a PR, which is the same ceremony every other entry gets. So an org CAN",
39906
+ "legitimately have a known egress address and no entry here, and the posture page must",
39907
+ "withhold its paste value rather than offer the shared set. As of 2026-09-28 no org is in",
39908
+ "that state - Zanda was, and the block below records what it cost, which is the reason",
39909
+ "the withholding behaviour must not be softened just because nothing exercises it today.",
39907
39910
  "",
39908
- "ZANDA IS THE LIVE EXAMPLE, AND ITS ABSENCE BELOW IS DELIBERATE.",
39911
+ "ZANDA IS THE LIVE EXAMPLE, AND ITS ADDRESS IS NOW APPROVED (2026-09-28). READ WHY.",
39909
39912
  "Zanda has an active BYO host - d0a78e4f-7a21-4d8d-85db-66a167fdd8cb in account",
39910
- "585819234046, created 2026-09-16 - and as of 2026-09-20 its egress address IS known:",
39913
+ "585819234046, created 2026-09-16 - whose egress address was known from 2026-09-20:",
39911
39914
  "3.107.131.133, resolved from `host_attested_egress` after an account enumeration failed",
39912
- "to find it (it is a THIRD account, which no census had thought to scan). It is not",
39913
- "recorded because nobody has approved it. That host carries ZERO assigned agents, so it",
39914
- "makes no Composio calls and the omission costs nothing today; the approval queue for",
39915
- "exactly this decision is ENG-10668, unbuilt. The consequence is intended and measured:",
39916
- "Zanda's org IS `fully_managed` (read from prod 2026-09-20), so it holds a",
39917
- "platform-managed Composio key and DOES appear on /admin/composio-key-posture - with no",
39918
- "paste value and a reason. That row is the feature working. Do not 'fix' it by adding",
39919
- "3.107.131.133 below - add the approval.",
39915
+ "to find it (it is a THIRD account, which no census had thought to scan). For eight days it",
39916
+ "was NOT recorded here, deliberately, because nobody had approved it.",
39917
+ "",
39918
+ "THE ARGUMENT FOR LEAVING IT WAS CORRECT AND ITS PREMISE EXPIRED WITHOUT A SIGNAL.",
39919
+ "This block used to read: 'That host carries ZERO assigned agents, so it makes no Composio",
39920
+ "calls and the omission costs nothing today.' True when written, and it stopped being true",
39921
+ "the moment an operator migrated an agent onto that host - which is a routine action, taken",
39922
+ "by someone who had no reason to read this file, and which nothing connects back to here.",
39923
+ "On 2026-09-28 that agent could not reach Jira: the org's key was armed, the host egressed",
39924
+ "from an address no allowlist carried, and Composio refused it. The address was approved and",
39925
+ "the full five-address set pasted into project pr_MY372XzWOmX_ the same day.",
39926
+ "",
39927
+ "SO THE LESSON IS NOT 'APPROVE FASTER'. It is that a cost bounded by 'no agents on that",
39928
+ "host' is bounded by a condition nothing enforces and nothing watches. The queue that would",
39929
+ "have surfaced this decision is ENG-10668, still unbuilt; until it exists, an address landing",
39930
+ "in `host_attested_egress` for a fully_managed org is a decision waiting on someone noticing.",
39931
+ "The customer-visible failure also outlived the fix: the refusals drove the integration into",
39932
+ "an ENG-7916 bind quarantine, which does not self-clear when the allowlist is corrected.",
39920
39933
  "",
39921
39934
  "THE SAME READ FOUND ZERO `self` HOSTS FLEET-WIDE (2026-09-20), which is why widening the",
39922
39935
  "rule beyond the BYO pointer costs nothing today: exactly two orgs have a host outside our",
39923
- "NATs, both BYO, and only Zanda's lacks a recorded address. Every other org's row is the",
39936
+ "NATs, both BYO, and as of 2026-09-28 BOTH have a recorded address, so no org's row withholds.",
39924
39937
  "shared set, byte-identical to what ENG-10713 already served it. If that ratio ever",
39925
39938
  "inverts - many orgs withholding - the answer is to record addresses or build ENG-10668,",
39926
39939
  "NOT to narrow the rule back."
@@ -39974,6 +39987,19 @@ var composio_approved_egress_default = {
39974
39987
  note: 'The BYO "Agents" account\'s NAT, serving `asha` on prod-integritylabs-integritylabs-4. Measured 2026-09-19 (ENG-10718) and again in the 24h /host/* census on 2026-09-20: 55,109 requests from 32 distinct paths. `region` is null because it is NOT RECORDED and cannot be enumerated from here - see the $comment; the comparison is on `ip` alone, so a null costs nothing, whereas a guessed region would be a fact this file states without evidence. THIS ORG WAS ARMED DURING THE GATE 5 REHEARSAL (ENG-10712) WITHOUT THIS ADDRESS. It passed only because nothing on that host called Composio inside the ~15-minute window; had it, the call would have been refused.'
39975
39988
  }
39976
39989
  ]
39990
+ },
39991
+ "c6a844b7-45d6-44f3-8390-616de3924c03": {
39992
+ orgSlug: "zanda",
39993
+ addresses: [
39994
+ {
39995
+ ip: "3.107.131.133",
39996
+ stage: "prod-byo",
39997
+ account: "585819234046",
39998
+ region: null,
39999
+ seenAsGateway: null,
40000
+ note: "Zanda's BYO host d0a78e4f-7a21-4d8d-85db-66a167fdd8cb, created 2026-09-16 in a THIRD account no egress census had scanned. OBSERVED from `host_attested_egress` (ENG-10666) on 2026-09-20 and APPROVED 2026-09-28, after an agent was migrated onto that host and could not reach Jira - the org's key was already armed and no allowlist carried this address. `region` and `seenAsGateway` are null because they are NOT RECORDED and cannot be enumerated from here: the `augmented-byo-provisioner` role grants neither DescribeRouteTables nor DescribeNatGateways. The comparison is on `ip` alone, so a null costs nothing whereas a guessed value would be a fact this file states without evidence. The eight-day gap between observing and approving is the cost of ENG-10668 being unbuilt, not an oversight - see the ZANDA block in $comment."
40001
+ }
40002
+ ]
39977
40003
  }
39978
40004
  }
39979
40005
  };
@@ -34119,25 +34119,38 @@ var composio_approved_egress_default = {
34119
34119
  "`DescribeRouteTables` nor `DescribeNatGateways`, so enumeration cannot answer it. But",
34120
34120
  "seeing an address is not deciding it may hold a key. A row appears here when a human",
34121
34121
  "decides it, in a PR, which is the same ceremony every other entry gets. So an org can",
34122
- "legitimately have a known egress address and no entry here - see Zanda below - and the",
34123
- "posture page must withhold its paste value rather than offer the shared set.",
34122
+ "decides it, in a PR, which is the same ceremony every other entry gets. So an org CAN",
34123
+ "legitimately have a known egress address and no entry here, and the posture page must",
34124
+ "withhold its paste value rather than offer the shared set. As of 2026-09-28 no org is in",
34125
+ "that state - Zanda was, and the block below records what it cost, which is the reason",
34126
+ "the withholding behaviour must not be softened just because nothing exercises it today.",
34124
34127
  "",
34125
- "ZANDA IS THE LIVE EXAMPLE, AND ITS ABSENCE BELOW IS DELIBERATE.",
34128
+ "ZANDA IS THE LIVE EXAMPLE, AND ITS ADDRESS IS NOW APPROVED (2026-09-28). READ WHY.",
34126
34129
  "Zanda has an active BYO host - d0a78e4f-7a21-4d8d-85db-66a167fdd8cb in account",
34127
- "585819234046, created 2026-09-16 - and as of 2026-09-20 its egress address IS known:",
34130
+ "585819234046, created 2026-09-16 - whose egress address was known from 2026-09-20:",
34128
34131
  "3.107.131.133, resolved from `host_attested_egress` after an account enumeration failed",
34129
- "to find it (it is a THIRD account, which no census had thought to scan). It is not",
34130
- "recorded because nobody has approved it. That host carries ZERO assigned agents, so it",
34131
- "makes no Composio calls and the omission costs nothing today; the approval queue for",
34132
- "exactly this decision is ENG-10668, unbuilt. The consequence is intended and measured:",
34133
- "Zanda's org IS `fully_managed` (read from prod 2026-09-20), so it holds a",
34134
- "platform-managed Composio key and DOES appear on /admin/composio-key-posture - with no",
34135
- "paste value and a reason. That row is the feature working. Do not 'fix' it by adding",
34136
- "3.107.131.133 below - add the approval.",
34132
+ "to find it (it is a THIRD account, which no census had thought to scan). For eight days it",
34133
+ "was NOT recorded here, deliberately, because nobody had approved it.",
34134
+ "",
34135
+ "THE ARGUMENT FOR LEAVING IT WAS CORRECT AND ITS PREMISE EXPIRED WITHOUT A SIGNAL.",
34136
+ "This block used to read: 'That host carries ZERO assigned agents, so it makes no Composio",
34137
+ "calls and the omission costs nothing today.' True when written, and it stopped being true",
34138
+ "the moment an operator migrated an agent onto that host - which is a routine action, taken",
34139
+ "by someone who had no reason to read this file, and which nothing connects back to here.",
34140
+ "On 2026-09-28 that agent could not reach Jira: the org's key was armed, the host egressed",
34141
+ "from an address no allowlist carried, and Composio refused it. The address was approved and",
34142
+ "the full five-address set pasted into project pr_MY372XzWOmX_ the same day.",
34143
+ "",
34144
+ "SO THE LESSON IS NOT 'APPROVE FASTER'. It is that a cost bounded by 'no agents on that",
34145
+ "host' is bounded by a condition nothing enforces and nothing watches. The queue that would",
34146
+ "have surfaced this decision is ENG-10668, still unbuilt; until it exists, an address landing",
34147
+ "in `host_attested_egress` for a fully_managed org is a decision waiting on someone noticing.",
34148
+ "The customer-visible failure also outlived the fix: the refusals drove the integration into",
34149
+ "an ENG-7916 bind quarantine, which does not self-clear when the allowlist is corrected.",
34137
34150
  "",
34138
34151
  "THE SAME READ FOUND ZERO `self` HOSTS FLEET-WIDE (2026-09-20), which is why widening the",
34139
34152
  "rule beyond the BYO pointer costs nothing today: exactly two orgs have a host outside our",
34140
- "NATs, both BYO, and only Zanda's lacks a recorded address. Every other org's row is the",
34153
+ "NATs, both BYO, and as of 2026-09-28 BOTH have a recorded address, so no org's row withholds.",
34141
34154
  "shared set, byte-identical to what ENG-10713 already served it. If that ratio ever",
34142
34155
  "inverts - many orgs withholding - the answer is to record addresses or build ENG-10668,",
34143
34156
  "NOT to narrow the rule back."
@@ -34191,6 +34204,19 @@ var composio_approved_egress_default = {
34191
34204
  note: 'The BYO "Agents" account\'s NAT, serving `asha` on prod-integritylabs-integritylabs-4. Measured 2026-09-19 (ENG-10718) and again in the 24h /host/* census on 2026-09-20: 55,109 requests from 32 distinct paths. `region` is null because it is NOT RECORDED and cannot be enumerated from here - see the $comment; the comparison is on `ip` alone, so a null costs nothing, whereas a guessed region would be a fact this file states without evidence. THIS ORG WAS ARMED DURING THE GATE 5 REHEARSAL (ENG-10712) WITHOUT THIS ADDRESS. It passed only because nothing on that host called Composio inside the ~15-minute window; had it, the call would have been refused.'
34192
34205
  }
34193
34206
  ]
34207
+ },
34208
+ "c6a844b7-45d6-44f3-8390-616de3924c03": {
34209
+ orgSlug: "zanda",
34210
+ addresses: [
34211
+ {
34212
+ ip: "3.107.131.133",
34213
+ stage: "prod-byo",
34214
+ account: "585819234046",
34215
+ region: null,
34216
+ seenAsGateway: null,
34217
+ note: "Zanda's BYO host d0a78e4f-7a21-4d8d-85db-66a167fdd8cb, created 2026-09-16 in a THIRD account no egress census had scanned. OBSERVED from `host_attested_egress` (ENG-10666) on 2026-09-20 and APPROVED 2026-09-28, after an agent was migrated onto that host and could not reach Jira - the org's key was already armed and no allowlist carried this address. `region` and `seenAsGateway` are null because they are NOT RECORDED and cannot be enumerated from here: the `augmented-byo-provisioner` role grants neither DescribeRouteTables nor DescribeNatGateways. The comparison is on `ip` alone, so a null costs nothing whereas a guessed value would be a fact this file states without evidence. The eight-day gap between observing and approving is the cost of ENG-10668 being unbuilt, not an oversight - see the ZANDA block in $comment."
34218
+ }
34219
+ ]
34194
34220
  }
34195
34221
  }
34196
34222
  };
@@ -34231,25 +34231,38 @@ var composio_approved_egress_default = {
34231
34231
  "`DescribeRouteTables` nor `DescribeNatGateways`, so enumeration cannot answer it. But",
34232
34232
  "seeing an address is not deciding it may hold a key. A row appears here when a human",
34233
34233
  "decides it, in a PR, which is the same ceremony every other entry gets. So an org can",
34234
- "legitimately have a known egress address and no entry here - see Zanda below - and the",
34235
- "posture page must withhold its paste value rather than offer the shared set.",
34234
+ "decides it, in a PR, which is the same ceremony every other entry gets. So an org CAN",
34235
+ "legitimately have a known egress address and no entry here, and the posture page must",
34236
+ "withhold its paste value rather than offer the shared set. As of 2026-09-28 no org is in",
34237
+ "that state - Zanda was, and the block below records what it cost, which is the reason",
34238
+ "the withholding behaviour must not be softened just because nothing exercises it today.",
34236
34239
  "",
34237
- "ZANDA IS THE LIVE EXAMPLE, AND ITS ABSENCE BELOW IS DELIBERATE.",
34240
+ "ZANDA IS THE LIVE EXAMPLE, AND ITS ADDRESS IS NOW APPROVED (2026-09-28). READ WHY.",
34238
34241
  "Zanda has an active BYO host - d0a78e4f-7a21-4d8d-85db-66a167fdd8cb in account",
34239
- "585819234046, created 2026-09-16 - and as of 2026-09-20 its egress address IS known:",
34242
+ "585819234046, created 2026-09-16 - whose egress address was known from 2026-09-20:",
34240
34243
  "3.107.131.133, resolved from `host_attested_egress` after an account enumeration failed",
34241
- "to find it (it is a THIRD account, which no census had thought to scan). It is not",
34242
- "recorded because nobody has approved it. That host carries ZERO assigned agents, so it",
34243
- "makes no Composio calls and the omission costs nothing today; the approval queue for",
34244
- "exactly this decision is ENG-10668, unbuilt. The consequence is intended and measured:",
34245
- "Zanda's org IS `fully_managed` (read from prod 2026-09-20), so it holds a",
34246
- "platform-managed Composio key and DOES appear on /admin/composio-key-posture - with no",
34247
- "paste value and a reason. That row is the feature working. Do not 'fix' it by adding",
34248
- "3.107.131.133 below - add the approval.",
34244
+ "to find it (it is a THIRD account, which no census had thought to scan). For eight days it",
34245
+ "was NOT recorded here, deliberately, because nobody had approved it.",
34246
+ "",
34247
+ "THE ARGUMENT FOR LEAVING IT WAS CORRECT AND ITS PREMISE EXPIRED WITHOUT A SIGNAL.",
34248
+ "This block used to read: 'That host carries ZERO assigned agents, so it makes no Composio",
34249
+ "calls and the omission costs nothing today.' True when written, and it stopped being true",
34250
+ "the moment an operator migrated an agent onto that host - which is a routine action, taken",
34251
+ "by someone who had no reason to read this file, and which nothing connects back to here.",
34252
+ "On 2026-09-28 that agent could not reach Jira: the org's key was armed, the host egressed",
34253
+ "from an address no allowlist carried, and Composio refused it. The address was approved and",
34254
+ "the full five-address set pasted into project pr_MY372XzWOmX_ the same day.",
34255
+ "",
34256
+ "SO THE LESSON IS NOT 'APPROVE FASTER'. It is that a cost bounded by 'no agents on that",
34257
+ "host' is bounded by a condition nothing enforces and nothing watches. The queue that would",
34258
+ "have surfaced this decision is ENG-10668, still unbuilt; until it exists, an address landing",
34259
+ "in `host_attested_egress` for a fully_managed org is a decision waiting on someone noticing.",
34260
+ "The customer-visible failure also outlived the fix: the refusals drove the integration into",
34261
+ "an ENG-7916 bind quarantine, which does not self-clear when the allowlist is corrected.",
34249
34262
  "",
34250
34263
  "THE SAME READ FOUND ZERO `self` HOSTS FLEET-WIDE (2026-09-20), which is why widening the",
34251
34264
  "rule beyond the BYO pointer costs nothing today: exactly two orgs have a host outside our",
34252
- "NATs, both BYO, and only Zanda's lacks a recorded address. Every other org's row is the",
34265
+ "NATs, both BYO, and as of 2026-09-28 BOTH have a recorded address, so no org's row withholds.",
34253
34266
  "shared set, byte-identical to what ENG-10713 already served it. If that ratio ever",
34254
34267
  "inverts - many orgs withholding - the answer is to record addresses or build ENG-10668,",
34255
34268
  "NOT to narrow the rule back."
@@ -34303,6 +34316,19 @@ var composio_approved_egress_default = {
34303
34316
  note: 'The BYO "Agents" account\'s NAT, serving `asha` on prod-integritylabs-integritylabs-4. Measured 2026-09-19 (ENG-10718) and again in the 24h /host/* census on 2026-09-20: 55,109 requests from 32 distinct paths. `region` is null because it is NOT RECORDED and cannot be enumerated from here - see the $comment; the comparison is on `ip` alone, so a null costs nothing, whereas a guessed region would be a fact this file states without evidence. THIS ORG WAS ARMED DURING THE GATE 5 REHEARSAL (ENG-10712) WITHOUT THIS ADDRESS. It passed only because nothing on that host called Composio inside the ~15-minute window; had it, the call would have been refused.'
34304
34317
  }
34305
34318
  ]
34319
+ },
34320
+ "c6a844b7-45d6-44f3-8390-616de3924c03": {
34321
+ orgSlug: "zanda",
34322
+ addresses: [
34323
+ {
34324
+ ip: "3.107.131.133",
34325
+ stage: "prod-byo",
34326
+ account: "585819234046",
34327
+ region: null,
34328
+ seenAsGateway: null,
34329
+ note: "Zanda's BYO host d0a78e4f-7a21-4d8d-85db-66a167fdd8cb, created 2026-09-16 in a THIRD account no egress census had scanned. OBSERVED from `host_attested_egress` (ENG-10666) on 2026-09-20 and APPROVED 2026-09-28, after an agent was migrated onto that host and could not reach Jira - the org's key was already armed and no allowlist carried this address. `region` and `seenAsGateway` are null because they are NOT RECORDED and cannot be enumerated from here: the `augmented-byo-provisioner` role grants neither DescribeRouteTables nor DescribeNatGateways. The comparison is on `ip` alone, so a null costs nothing whereas a guessed value would be a fact this file states without evidence. The eight-day gap between observing and approving is the cost of ENG-10668 being unbuilt, not an oversight - see the ZANDA block in $comment."
34330
+ }
34331
+ ]
34306
34332
  }
34307
34333
  }
34308
34334
  };
@@ -65,8 +65,8 @@ import {
65
65
  writeDirectChatSessionState,
66
66
  writeEgressAllowlist,
67
67
  writePersistentClaudeWrapper
68
- } from "./chunk-V74YKGXU.js";
69
- import "./chunk-H54FYWAK.js";
68
+ } from "./chunk-TAWCN7OK.js";
69
+ import "./chunk-UB2HLH5P.js";
70
70
  import "./chunk-TQDIIS3X.js";
71
71
  import "./chunk-XWVM4KPK.js";
72
72
  import "./chunk-EL5MWGGH.js";
@@ -139,4 +139,4 @@ export {
139
139
  writeEgressAllowlist,
140
140
  writePersistentClaudeWrapper
141
141
  };
142
- //# sourceMappingURL=persistent-session-MUY7PVLJ.js.map
142
+ //# sourceMappingURL=persistent-session-QZAKDZIX.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-V74YKGXU.js";
4
- import "./chunk-H54FYWAK.js";
3
+ } from "./chunk-TAWCN7OK.js";
4
+ import "./chunk-UB2HLH5P.js";
5
5
  import "./chunk-TQDIIS3X.js";
6
6
  import "./chunk-XWVM4KPK.js";
7
7
  import "./chunk-EL5MWGGH.js";
@@ -802,4 +802,4 @@ export {
802
802
  readAndResetSlackReplyBindingClassifications,
803
803
  readAndResetSlackReplyTargetClassifications
804
804
  };
805
- //# sourceMappingURL=responsiveness-probe-MPL5PM33.js.map
805
+ //# sourceMappingURL=responsiveness-probe-6OG3SYLZ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-H54FYWAK.js";
3
+ } from "./chunk-UB2HLH5P.js";
4
4
  import "./chunk-DGUM43GV.js";
5
5
 
6
6
  // src/lib/session-auth-dead.ts
@@ -204,4 +204,4 @@ export {
204
204
  decideSessionAuthState,
205
205
  probeSessionAuth
206
206
  };
207
- //# sourceMappingURL=session-auth-dead-5ECPRU2V.js.map
207
+ //# sourceMappingURL=session-auth-dead-EH4N7PWU.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.1035",
3
+ "version": "0.28.1037",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {