@integrity-labs/agt-cli 0.28.665 → 0.28.667

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.
Files changed (24) hide show
  1. package/dist/bin/agt.js +5 -5
  2. package/dist/{chunk-FYZOD3SS.js → chunk-HXGW24VQ.js} +57 -1
  3. package/dist/chunk-HXGW24VQ.js.map +1 -0
  4. package/dist/{chunk-FQUJWSWQ.js → chunk-S5KJIVSA.js} +4 -4
  5. package/dist/{chunk-EX5XJEGF.js → chunk-Y34UA33A.js} +2 -2
  6. package/dist/{claude-pair-runtime-XSUQMCIQ.js → claude-pair-runtime-IW4FGSBB.js} +2 -2
  7. package/dist/lib/manager-worker.js +234 -24
  8. package/dist/lib/manager-worker.js.map +1 -1
  9. package/dist/mcp/direct-chat-channel.js +56 -0
  10. package/dist/mcp/index.js +56 -0
  11. package/dist/mcp/origami.js +56 -0
  12. package/dist/mcp/slack-channel.js +56 -0
  13. package/dist/mcp/telegram-channel.js +56 -0
  14. package/dist/{persistent-session-SQWO4TKG.js → persistent-session-D4JOMLCY.js} +3 -3
  15. package/dist/{responsiveness-probe-RWMERSER.js → responsiveness-probe-WANP5PYP.js} +3 -3
  16. package/dist/{session-auth-dead-OOWR5BPI.js → session-auth-dead-2L7FWRLT.js} +2 -2
  17. package/package.json +1 -1
  18. package/dist/chunk-FYZOD3SS.js.map +0 -1
  19. /package/dist/{chunk-FQUJWSWQ.js.map → chunk-S5KJIVSA.js.map} +0 -0
  20. /package/dist/{chunk-EX5XJEGF.js.map → chunk-Y34UA33A.js.map} +0 -0
  21. /package/dist/{claude-pair-runtime-XSUQMCIQ.js.map → claude-pair-runtime-IW4FGSBB.js.map} +0 -0
  22. /package/dist/{persistent-session-SQWO4TKG.js.map → persistent-session-D4JOMLCY.js.map} +0 -0
  23. /package/dist/{responsiveness-probe-RWMERSER.js.map → responsiveness-probe-WANP5PYP.js.map} +0 -0
  24. /package/dist/{session-auth-dead-OOWR5BPI.js.map → session-auth-dead-2L7FWRLT.js.map} +0 -0
@@ -35880,6 +35880,62 @@ var FLAG_REGISTRY = [
35880
35880
  // first the real cut is higher than this and the pin under-reports.
35881
35881
  since: "0.28.570"
35882
35882
  },
35883
+ {
35884
+ key: "memory-file-tombstones",
35885
+ description: "Host-side removal of RETIRED agent memory files (ENG-9257). The control plane sends an explicit tombstone list on /host/memories and the manager moves the matching .md out of the agent's memory directory \u2014 but only when its write-time manifest says the manager itself wrote that exact file and the sha256 still matches, so an agent-edited or hand-authored file is retained and reported instead. Boolean gate; ships dark. Scope is retirement only, never expiry: /host/memories has always withheld expired rows, so an expiry-driven list would make months of accumulated backlog deletable on the first armed tick. This is the ONLY thing that makes retirement visible to the agent, which reads its memory directory straight off disk \u2014 every server-side reader already excludes retired rows, so with this off a retired memory is gone everywhere except the one surface that changes the agent's behaviour.",
35886
+ flagType: "boolean",
35887
+ // Declared safe value is `false` (remove nothing). Fail-safe direction: a
35888
+ // flag-DB read error must never start deleting files on customer-owned
35889
+ // hosts on its own. Note the asymmetry with a read-only gate — the blast
35890
+ // radius here is data on a machine we frequently cannot re-enter, which is
35891
+ // also why the first release MOVES files rather than unlinking them.
35892
+ defaultValue: false,
35893
+ // ADR-0022 §4: mutating this requires an explicit caller confirmation.
35894
+ //
35895
+ // Arming it DELETES FILES on customer-owned hosts. The registry already
35896
+ // marks `id-keyed-layout-migration` sensitive on the narrower basis that it
35897
+ // moves data, and `admin-send-keys` because it writes to a customer host;
35898
+ // this is the stronger case of both at once. Without it the flip is a single
35899
+ // unguarded write, which is the wrong ceremony for an irreversible action on
35900
+ // a machine we frequently cannot re-enter — the same fact the defaultValue
35901
+ // comment above already leans on.
35902
+ sensitive: true,
35903
+ // ADR-0022 operator override, read by the host flag store's env layer.
35904
+ //
35905
+ // ROLLOUT WARNING: an env override needs a manager RESTART to set or clear,
35906
+ // and masks the central flag while set (ENG-7409). So a per-host canary
35907
+ // pinned via env becomes a host the central kill switch cannot reach during
35908
+ // an incident. Canary centrally (per-agent overrides are delivered on the
35909
+ // heartbeat for every boolean flag) rather than with this.
35910
+ //
35911
+ // Note `sensitive` does NOT gate this env var — it guards the control-plane
35912
+ // write path, not a host's local environment file. One more reason not to
35913
+ // canary with it.
35914
+ envVar: "AGT_MEMORY_TOMBSTONES_ENABLED",
35915
+ // Deliberately unreachable placeholder: the reader is not published yet.
35916
+ //
35917
+ // It must be PARSEABLE and unreachable, not omitted and not garbage.
35918
+ // classifyHostReach (packages/core/src/feature-flags/reach.ts) maps an
35919
+ // empty `since` to `honors` for EVERY host including ones with no reader at
35920
+ // all, and maps an unparseable one to `unknown` — which collides with the
35921
+ // "host reports no agt_version" class, so an operator cannot tell "not
35922
+ // shipped yet" from "these hosts are unreadable". '99.99.99' classifies
35923
+ // every host `stale`, which is the honest pre-publication answer.
35924
+ //
35925
+ // Note '0.29.0' is used elsewhere for the same purpose but is weaker: it is
35926
+ // unreachable only by accident of auto-publish patch-bumping 0.28.x, so one
35927
+ // deliberate minor bump would silently reclassify the whole fleet `honors`.
35928
+ //
35929
+ // REPLACE IT AT THE **CLI** MERGE, not the API merge — `since` describes
35930
+ // what the HOST can act on — with the published tarball's version (verify
35931
+ // via `npm pack`; apps/cli/package.json is not the published number). And
35932
+ // it must name the first build where flipping the flag does what this flag
35933
+ // SAYS, not merely the first build with a reader: that means the manifest
35934
+ // gate, the tombstone pass sitting above the download short-circuit, and
35935
+ // the response hash covering the tombstone list. Ship a build missing any
35936
+ // of those and reach reports `honors` for hosts that silently never act.
35937
+ since: "99.99.99"
35938
+ },
35883
35939
  {
35884
35940
  key: "conversation-eval-backend",
35885
35941
  description: "Backend for host-side conversation-success scoring AND memory extraction (ENG-6581), which share one scorer: anthropic-api = Haiku via a direct Anthropic Messages API fetch (no subprocess); claude-p = Haiku via the `claude -p` subprocess (reuses the agent auth, effectively free under Max but a heavy spawn); local = an OpenAI-compatible loopback endpoint (transcript never leaves the host). Auth for the anthropic-api path comes from AGT_CONV_EVAL_ANTHROPIC_API_KEY (falls back to ANTHROPIC_API_KEY); with no key that path fails closed (eval disabled) rather than reverting to claude-p. Enum.",
package/dist/mcp/index.js CHANGED
@@ -42819,6 +42819,62 @@ var FLAG_REGISTRY = [
42819
42819
  // first the real cut is higher than this and the pin under-reports.
42820
42820
  since: "0.28.570"
42821
42821
  },
42822
+ {
42823
+ key: "memory-file-tombstones",
42824
+ description: "Host-side removal of RETIRED agent memory files (ENG-9257). The control plane sends an explicit tombstone list on /host/memories and the manager moves the matching .md out of the agent's memory directory \u2014 but only when its write-time manifest says the manager itself wrote that exact file and the sha256 still matches, so an agent-edited or hand-authored file is retained and reported instead. Boolean gate; ships dark. Scope is retirement only, never expiry: /host/memories has always withheld expired rows, so an expiry-driven list would make months of accumulated backlog deletable on the first armed tick. This is the ONLY thing that makes retirement visible to the agent, which reads its memory directory straight off disk \u2014 every server-side reader already excludes retired rows, so with this off a retired memory is gone everywhere except the one surface that changes the agent's behaviour.",
42825
+ flagType: "boolean",
42826
+ // Declared safe value is `false` (remove nothing). Fail-safe direction: a
42827
+ // flag-DB read error must never start deleting files on customer-owned
42828
+ // hosts on its own. Note the asymmetry with a read-only gate — the blast
42829
+ // radius here is data on a machine we frequently cannot re-enter, which is
42830
+ // also why the first release MOVES files rather than unlinking them.
42831
+ defaultValue: false,
42832
+ // ADR-0022 §4: mutating this requires an explicit caller confirmation.
42833
+ //
42834
+ // Arming it DELETES FILES on customer-owned hosts. The registry already
42835
+ // marks `id-keyed-layout-migration` sensitive on the narrower basis that it
42836
+ // moves data, and `admin-send-keys` because it writes to a customer host;
42837
+ // this is the stronger case of both at once. Without it the flip is a single
42838
+ // unguarded write, which is the wrong ceremony for an irreversible action on
42839
+ // a machine we frequently cannot re-enter — the same fact the defaultValue
42840
+ // comment above already leans on.
42841
+ sensitive: true,
42842
+ // ADR-0022 operator override, read by the host flag store's env layer.
42843
+ //
42844
+ // ROLLOUT WARNING: an env override needs a manager RESTART to set or clear,
42845
+ // and masks the central flag while set (ENG-7409). So a per-host canary
42846
+ // pinned via env becomes a host the central kill switch cannot reach during
42847
+ // an incident. Canary centrally (per-agent overrides are delivered on the
42848
+ // heartbeat for every boolean flag) rather than with this.
42849
+ //
42850
+ // Note `sensitive` does NOT gate this env var — it guards the control-plane
42851
+ // write path, not a host's local environment file. One more reason not to
42852
+ // canary with it.
42853
+ envVar: "AGT_MEMORY_TOMBSTONES_ENABLED",
42854
+ // Deliberately unreachable placeholder: the reader is not published yet.
42855
+ //
42856
+ // It must be PARSEABLE and unreachable, not omitted and not garbage.
42857
+ // classifyHostReach (packages/core/src/feature-flags/reach.ts) maps an
42858
+ // empty `since` to `honors` for EVERY host including ones with no reader at
42859
+ // all, and maps an unparseable one to `unknown` — which collides with the
42860
+ // "host reports no agt_version" class, so an operator cannot tell "not
42861
+ // shipped yet" from "these hosts are unreadable". '99.99.99' classifies
42862
+ // every host `stale`, which is the honest pre-publication answer.
42863
+ //
42864
+ // Note '0.29.0' is used elsewhere for the same purpose but is weaker: it is
42865
+ // unreachable only by accident of auto-publish patch-bumping 0.28.x, so one
42866
+ // deliberate minor bump would silently reclassify the whole fleet `honors`.
42867
+ //
42868
+ // REPLACE IT AT THE **CLI** MERGE, not the API merge — `since` describes
42869
+ // what the HOST can act on — with the published tarball's version (verify
42870
+ // via `npm pack`; apps/cli/package.json is not the published number). And
42871
+ // it must name the first build where flipping the flag does what this flag
42872
+ // SAYS, not merely the first build with a reader: that means the manifest
42873
+ // gate, the tombstone pass sitting above the download short-circuit, and
42874
+ // the response hash covering the tombstone list. Ship a build missing any
42875
+ // of those and reach reports `honors` for hosts that silently never act.
42876
+ since: "99.99.99"
42877
+ },
42822
42878
  {
42823
42879
  key: "conversation-eval-backend",
42824
42880
  description: "Backend for host-side conversation-success scoring AND memory extraction (ENG-6581), which share one scorer: anthropic-api = Haiku via a direct Anthropic Messages API fetch (no subprocess); claude-p = Haiku via the `claude -p` subprocess (reuses the agent auth, effectively free under Max but a heavy spawn); local = an OpenAI-compatible loopback endpoint (transcript never leaves the host). Auth for the anthropic-api path comes from AGT_CONV_EVAL_ANTHROPIC_API_KEY (falls back to ANTHROPIC_API_KEY); with no key that path fails closed (eval disabled) rather than reverting to claude-p. Enum.",
@@ -41630,6 +41630,62 @@ var FLAG_REGISTRY = [
41630
41630
  // first the real cut is higher than this and the pin under-reports.
41631
41631
  since: "0.28.570"
41632
41632
  },
41633
+ {
41634
+ key: "memory-file-tombstones",
41635
+ description: "Host-side removal of RETIRED agent memory files (ENG-9257). The control plane sends an explicit tombstone list on /host/memories and the manager moves the matching .md out of the agent's memory directory \u2014 but only when its write-time manifest says the manager itself wrote that exact file and the sha256 still matches, so an agent-edited or hand-authored file is retained and reported instead. Boolean gate; ships dark. Scope is retirement only, never expiry: /host/memories has always withheld expired rows, so an expiry-driven list would make months of accumulated backlog deletable on the first armed tick. This is the ONLY thing that makes retirement visible to the agent, which reads its memory directory straight off disk \u2014 every server-side reader already excludes retired rows, so with this off a retired memory is gone everywhere except the one surface that changes the agent's behaviour.",
41636
+ flagType: "boolean",
41637
+ // Declared safe value is `false` (remove nothing). Fail-safe direction: a
41638
+ // flag-DB read error must never start deleting files on customer-owned
41639
+ // hosts on its own. Note the asymmetry with a read-only gate — the blast
41640
+ // radius here is data on a machine we frequently cannot re-enter, which is
41641
+ // also why the first release MOVES files rather than unlinking them.
41642
+ defaultValue: false,
41643
+ // ADR-0022 §4: mutating this requires an explicit caller confirmation.
41644
+ //
41645
+ // Arming it DELETES FILES on customer-owned hosts. The registry already
41646
+ // marks `id-keyed-layout-migration` sensitive on the narrower basis that it
41647
+ // moves data, and `admin-send-keys` because it writes to a customer host;
41648
+ // this is the stronger case of both at once. Without it the flip is a single
41649
+ // unguarded write, which is the wrong ceremony for an irreversible action on
41650
+ // a machine we frequently cannot re-enter — the same fact the defaultValue
41651
+ // comment above already leans on.
41652
+ sensitive: true,
41653
+ // ADR-0022 operator override, read by the host flag store's env layer.
41654
+ //
41655
+ // ROLLOUT WARNING: an env override needs a manager RESTART to set or clear,
41656
+ // and masks the central flag while set (ENG-7409). So a per-host canary
41657
+ // pinned via env becomes a host the central kill switch cannot reach during
41658
+ // an incident. Canary centrally (per-agent overrides are delivered on the
41659
+ // heartbeat for every boolean flag) rather than with this.
41660
+ //
41661
+ // Note `sensitive` does NOT gate this env var — it guards the control-plane
41662
+ // write path, not a host's local environment file. One more reason not to
41663
+ // canary with it.
41664
+ envVar: "AGT_MEMORY_TOMBSTONES_ENABLED",
41665
+ // Deliberately unreachable placeholder: the reader is not published yet.
41666
+ //
41667
+ // It must be PARSEABLE and unreachable, not omitted and not garbage.
41668
+ // classifyHostReach (packages/core/src/feature-flags/reach.ts) maps an
41669
+ // empty `since` to `honors` for EVERY host including ones with no reader at
41670
+ // all, and maps an unparseable one to `unknown` — which collides with the
41671
+ // "host reports no agt_version" class, so an operator cannot tell "not
41672
+ // shipped yet" from "these hosts are unreadable". '99.99.99' classifies
41673
+ // every host `stale`, which is the honest pre-publication answer.
41674
+ //
41675
+ // Note '0.29.0' is used elsewhere for the same purpose but is weaker: it is
41676
+ // unreachable only by accident of auto-publish patch-bumping 0.28.x, so one
41677
+ // deliberate minor bump would silently reclassify the whole fleet `honors`.
41678
+ //
41679
+ // REPLACE IT AT THE **CLI** MERGE, not the API merge — `since` describes
41680
+ // what the HOST can act on — with the published tarball's version (verify
41681
+ // via `npm pack`; apps/cli/package.json is not the published number). And
41682
+ // it must name the first build where flipping the flag does what this flag
41683
+ // SAYS, not merely the first build with a reader: that means the manifest
41684
+ // gate, the tombstone pass sitting above the download short-circuit, and
41685
+ // the response hash covering the tombstone list. Ship a build missing any
41686
+ // of those and reach reports `honors` for hosts that silently never act.
41687
+ since: "99.99.99"
41688
+ },
41633
41689
  {
41634
41690
  key: "conversation-eval-backend",
41635
41691
  description: "Backend for host-side conversation-success scoring AND memory extraction (ENG-6581), which share one scorer: anthropic-api = Haiku via a direct Anthropic Messages API fetch (no subprocess); claude-p = Haiku via the `claude -p` subprocess (reuses the agent auth, effectively free under Max but a heavy spawn); local = an OpenAI-compatible loopback endpoint (transcript never leaves the host). Auth for the anthropic-api path comes from AGT_CONV_EVAL_ANTHROPIC_API_KEY (falls back to ANTHROPIC_API_KEY); with no key that path fails closed (eval disabled) rather than reverting to claude-p. Enum.",
@@ -36113,6 +36113,62 @@ var FLAG_REGISTRY = [
36113
36113
  // first the real cut is higher than this and the pin under-reports.
36114
36114
  since: "0.28.570"
36115
36115
  },
36116
+ {
36117
+ key: "memory-file-tombstones",
36118
+ description: "Host-side removal of RETIRED agent memory files (ENG-9257). The control plane sends an explicit tombstone list on /host/memories and the manager moves the matching .md out of the agent's memory directory \u2014 but only when its write-time manifest says the manager itself wrote that exact file and the sha256 still matches, so an agent-edited or hand-authored file is retained and reported instead. Boolean gate; ships dark. Scope is retirement only, never expiry: /host/memories has always withheld expired rows, so an expiry-driven list would make months of accumulated backlog deletable on the first armed tick. This is the ONLY thing that makes retirement visible to the agent, which reads its memory directory straight off disk \u2014 every server-side reader already excludes retired rows, so with this off a retired memory is gone everywhere except the one surface that changes the agent's behaviour.",
36119
+ flagType: "boolean",
36120
+ // Declared safe value is `false` (remove nothing). Fail-safe direction: a
36121
+ // flag-DB read error must never start deleting files on customer-owned
36122
+ // hosts on its own. Note the asymmetry with a read-only gate — the blast
36123
+ // radius here is data on a machine we frequently cannot re-enter, which is
36124
+ // also why the first release MOVES files rather than unlinking them.
36125
+ defaultValue: false,
36126
+ // ADR-0022 §4: mutating this requires an explicit caller confirmation.
36127
+ //
36128
+ // Arming it DELETES FILES on customer-owned hosts. The registry already
36129
+ // marks `id-keyed-layout-migration` sensitive on the narrower basis that it
36130
+ // moves data, and `admin-send-keys` because it writes to a customer host;
36131
+ // this is the stronger case of both at once. Without it the flip is a single
36132
+ // unguarded write, which is the wrong ceremony for an irreversible action on
36133
+ // a machine we frequently cannot re-enter — the same fact the defaultValue
36134
+ // comment above already leans on.
36135
+ sensitive: true,
36136
+ // ADR-0022 operator override, read by the host flag store's env layer.
36137
+ //
36138
+ // ROLLOUT WARNING: an env override needs a manager RESTART to set or clear,
36139
+ // and masks the central flag while set (ENG-7409). So a per-host canary
36140
+ // pinned via env becomes a host the central kill switch cannot reach during
36141
+ // an incident. Canary centrally (per-agent overrides are delivered on the
36142
+ // heartbeat for every boolean flag) rather than with this.
36143
+ //
36144
+ // Note `sensitive` does NOT gate this env var — it guards the control-plane
36145
+ // write path, not a host's local environment file. One more reason not to
36146
+ // canary with it.
36147
+ envVar: "AGT_MEMORY_TOMBSTONES_ENABLED",
36148
+ // Deliberately unreachable placeholder: the reader is not published yet.
36149
+ //
36150
+ // It must be PARSEABLE and unreachable, not omitted and not garbage.
36151
+ // classifyHostReach (packages/core/src/feature-flags/reach.ts) maps an
36152
+ // empty `since` to `honors` for EVERY host including ones with no reader at
36153
+ // all, and maps an unparseable one to `unknown` — which collides with the
36154
+ // "host reports no agt_version" class, so an operator cannot tell "not
36155
+ // shipped yet" from "these hosts are unreadable". '99.99.99' classifies
36156
+ // every host `stale`, which is the honest pre-publication answer.
36157
+ //
36158
+ // Note '0.29.0' is used elsewhere for the same purpose but is weaker: it is
36159
+ // unreachable only by accident of auto-publish patch-bumping 0.28.x, so one
36160
+ // deliberate minor bump would silently reclassify the whole fleet `honors`.
36161
+ //
36162
+ // REPLACE IT AT THE **CLI** MERGE, not the API merge — `since` describes
36163
+ // what the HOST can act on — with the published tarball's version (verify
36164
+ // via `npm pack`; apps/cli/package.json is not the published number). And
36165
+ // it must name the first build where flipping the flag does what this flag
36166
+ // SAYS, not merely the first build with a reader: that means the manifest
36167
+ // gate, the tombstone pass sitting above the download short-circuit, and
36168
+ // the response hash covering the tombstone list. Ship a build missing any
36169
+ // of those and reach reports `honors` for hosts that silently never act.
36170
+ since: "99.99.99"
36171
+ },
36116
36172
  {
36117
36173
  key: "conversation-eval-backend",
36118
36174
  description: "Backend for host-side conversation-success scoring AND memory extraction (ENG-6581), which share one scorer: anthropic-api = Haiku via a direct Anthropic Messages API fetch (no subprocess); claude-p = Haiku via the `claude -p` subprocess (reuses the agent auth, effectively free under Max but a heavy spawn); local = an OpenAI-compatible loopback endpoint (transcript never leaves the host). Auth for the anthropic-api path comes from AGT_CONV_EVAL_ANTHROPIC_API_KEY (falls back to ANTHROPIC_API_KEY); with no key that path fails closed (eval disabled) rather than reverting to claude-p. Enum.",
@@ -36257,6 +36257,62 @@ var FLAG_REGISTRY = [
36257
36257
  // first the real cut is higher than this and the pin under-reports.
36258
36258
  since: "0.28.570"
36259
36259
  },
36260
+ {
36261
+ key: "memory-file-tombstones",
36262
+ description: "Host-side removal of RETIRED agent memory files (ENG-9257). The control plane sends an explicit tombstone list on /host/memories and the manager moves the matching .md out of the agent's memory directory \u2014 but only when its write-time manifest says the manager itself wrote that exact file and the sha256 still matches, so an agent-edited or hand-authored file is retained and reported instead. Boolean gate; ships dark. Scope is retirement only, never expiry: /host/memories has always withheld expired rows, so an expiry-driven list would make months of accumulated backlog deletable on the first armed tick. This is the ONLY thing that makes retirement visible to the agent, which reads its memory directory straight off disk \u2014 every server-side reader already excludes retired rows, so with this off a retired memory is gone everywhere except the one surface that changes the agent's behaviour.",
36263
+ flagType: "boolean",
36264
+ // Declared safe value is `false` (remove nothing). Fail-safe direction: a
36265
+ // flag-DB read error must never start deleting files on customer-owned
36266
+ // hosts on its own. Note the asymmetry with a read-only gate — the blast
36267
+ // radius here is data on a machine we frequently cannot re-enter, which is
36268
+ // also why the first release MOVES files rather than unlinking them.
36269
+ defaultValue: false,
36270
+ // ADR-0022 §4: mutating this requires an explicit caller confirmation.
36271
+ //
36272
+ // Arming it DELETES FILES on customer-owned hosts. The registry already
36273
+ // marks `id-keyed-layout-migration` sensitive on the narrower basis that it
36274
+ // moves data, and `admin-send-keys` because it writes to a customer host;
36275
+ // this is the stronger case of both at once. Without it the flip is a single
36276
+ // unguarded write, which is the wrong ceremony for an irreversible action on
36277
+ // a machine we frequently cannot re-enter — the same fact the defaultValue
36278
+ // comment above already leans on.
36279
+ sensitive: true,
36280
+ // ADR-0022 operator override, read by the host flag store's env layer.
36281
+ //
36282
+ // ROLLOUT WARNING: an env override needs a manager RESTART to set or clear,
36283
+ // and masks the central flag while set (ENG-7409). So a per-host canary
36284
+ // pinned via env becomes a host the central kill switch cannot reach during
36285
+ // an incident. Canary centrally (per-agent overrides are delivered on the
36286
+ // heartbeat for every boolean flag) rather than with this.
36287
+ //
36288
+ // Note `sensitive` does NOT gate this env var — it guards the control-plane
36289
+ // write path, not a host's local environment file. One more reason not to
36290
+ // canary with it.
36291
+ envVar: "AGT_MEMORY_TOMBSTONES_ENABLED",
36292
+ // Deliberately unreachable placeholder: the reader is not published yet.
36293
+ //
36294
+ // It must be PARSEABLE and unreachable, not omitted and not garbage.
36295
+ // classifyHostReach (packages/core/src/feature-flags/reach.ts) maps an
36296
+ // empty `since` to `honors` for EVERY host including ones with no reader at
36297
+ // all, and maps an unparseable one to `unknown` — which collides with the
36298
+ // "host reports no agt_version" class, so an operator cannot tell "not
36299
+ // shipped yet" from "these hosts are unreadable". '99.99.99' classifies
36300
+ // every host `stale`, which is the honest pre-publication answer.
36301
+ //
36302
+ // Note '0.29.0' is used elsewhere for the same purpose but is weaker: it is
36303
+ // unreachable only by accident of auto-publish patch-bumping 0.28.x, so one
36304
+ // deliberate minor bump would silently reclassify the whole fleet `honors`.
36305
+ //
36306
+ // REPLACE IT AT THE **CLI** MERGE, not the API merge — `since` describes
36307
+ // what the HOST can act on — with the published tarball's version (verify
36308
+ // via `npm pack`; apps/cli/package.json is not the published number). And
36309
+ // it must name the first build where flipping the flag does what this flag
36310
+ // SAYS, not merely the first build with a reader: that means the manifest
36311
+ // gate, the tombstone pass sitting above the download short-circuit, and
36312
+ // the response hash covering the tombstone list. Ship a build missing any
36313
+ // of those and reach reports `honors` for hosts that silently never act.
36314
+ since: "99.99.99"
36315
+ },
36260
36316
  {
36261
36317
  key: "conversation-eval-backend",
36262
36318
  description: "Backend for host-side conversation-success scoring AND memory extraction (ENG-6581), which share one scorer: anthropic-api = Haiku via a direct Anthropic Messages API fetch (no subprocess); claude-p = Haiku via the `claude -p` subprocess (reuses the agent auth, effectively free under Max but a heavy spawn); local = an OpenAI-compatible loopback endpoint (transcript never leaves the host). Auth for the anthropic-api path comes from AGT_CONV_EVAL_ANTHROPIC_API_KEY (falls back to ANTHROPIC_API_KEY); with no key that path fails closed (eval disabled) rather than reverting to claude-p. Enum.",
@@ -43,8 +43,8 @@ import {
43
43
  writeDirectChatSessionState,
44
44
  writeEgressAllowlist,
45
45
  writePersistentClaudeWrapper
46
- } from "./chunk-EX5XJEGF.js";
47
- import "./chunk-FYZOD3SS.js";
46
+ } from "./chunk-Y34UA33A.js";
47
+ import "./chunk-HXGW24VQ.js";
48
48
  import "./chunk-XWVM4KPK.js";
49
49
  export {
50
50
  EGRESS_BASELINE_DOMAINS,
@@ -92,4 +92,4 @@ export {
92
92
  writeEgressAllowlist,
93
93
  writePersistentClaudeWrapper
94
94
  };
95
- //# sourceMappingURL=persistent-session-SQWO4TKG.js.map
95
+ //# sourceMappingURL=persistent-session-D4JOMLCY.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-EX5XJEGF.js";
4
- import "./chunk-FYZOD3SS.js";
3
+ } from "./chunk-Y34UA33A.js";
4
+ import "./chunk-HXGW24VQ.js";
5
5
  import "./chunk-XWVM4KPK.js";
6
6
 
7
7
  // src/lib/responsiveness-probe.ts
@@ -727,4 +727,4 @@ export {
727
727
  readAndResetSlackReplyBindingClassifications,
728
728
  readAndResetSlackReplyTargetClassifications
729
729
  };
730
- //# sourceMappingURL=responsiveness-probe-RWMERSER.js.map
730
+ //# sourceMappingURL=responsiveness-probe-WANP5PYP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-FYZOD3SS.js";
3
+ } from "./chunk-HXGW24VQ.js";
4
4
 
5
5
  // src/lib/session-auth-dead.ts
6
6
  import { closeSync, openSync, readSync, readdirSync, statSync } from "fs";
@@ -203,4 +203,4 @@ export {
203
203
  decideSessionAuthState,
204
204
  probeSessionAuth
205
205
  };
206
- //# sourceMappingURL=session-auth-dead-OOWR5BPI.js.map
206
+ //# sourceMappingURL=session-auth-dead-2L7FWRLT.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.665",
3
+ "version": "0.28.667",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {