@integrity-labs/agt-cli 0.28.690 → 0.28.692
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 +5 -5
- package/dist/{chunk-2GNXBVWJ.js → chunk-7K2I4LJZ.js} +12 -25
- package/dist/chunk-7K2I4LJZ.js.map +1 -0
- package/dist/{chunk-KNGLJ5PP.js → chunk-ITB6NEXM.js} +430 -628
- package/dist/chunk-ITB6NEXM.js.map +1 -0
- package/dist/{chunk-XF2B7JHC.js → chunk-WHW747J3.js} +2 -2
- package/dist/{claude-pair-runtime-PDOGREOQ.js → claude-pair-runtime-ENI5O3JA.js} +2 -2
- package/dist/lib/manager-worker.js +13 -15
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +11 -24
- package/dist/mcp/index.js +65 -26
- package/dist/mcp/origami.js +11 -24
- package/dist/mcp/slack-channel.js +11 -24
- package/dist/mcp/telegram-channel.js +11 -24
- package/dist/{persistent-session-LVBNKFMF.js → persistent-session-42FL5BEW.js} +3 -3
- package/dist/{responsiveness-probe-T52RFYK3.js → responsiveness-probe-RG2SD7HX.js} +3 -3
- package/dist/{session-auth-dead-MV6C7TBH.js → session-auth-dead-SHLP7FRQ.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-2GNXBVWJ.js.map +0 -1
- package/dist/chunk-KNGLJ5PP.js.map +0 -1
- /package/dist/{chunk-XF2B7JHC.js.map → chunk-WHW747J3.js.map} +0 -0
- /package/dist/{claude-pair-runtime-PDOGREOQ.js.map → claude-pair-runtime-ENI5O3JA.js.map} +0 -0
- /package/dist/{persistent-session-LVBNKFMF.js.map → persistent-session-42FL5BEW.js.map} +0 -0
- /package/dist/{responsiveness-probe-T52RFYK3.js.map → responsiveness-probe-RG2SD7HX.js.map} +0 -0
- /package/dist/{session-auth-dead-MV6C7TBH.js.map → session-auth-dead-SHLP7FRQ.js.map} +0 -0
|
@@ -35962,30 +35962,17 @@ var FLAG_REGISTRY = [
|
|
|
35962
35962
|
// first the real cut is higher than this and the pin under-reports.
|
|
35963
35963
|
since: "0.28.570"
|
|
35964
35964
|
},
|
|
35965
|
-
|
|
35966
|
-
|
|
35967
|
-
|
|
35968
|
-
|
|
35969
|
-
|
|
35970
|
-
|
|
35971
|
-
|
|
35972
|
-
|
|
35973
|
-
|
|
35974
|
-
|
|
35975
|
-
|
|
35976
|
-
// hand-written process.env gate) — same posture as memory-extraction /
|
|
35977
|
-
// tool-call-audit above. Gives a per-host canary before the DB flag exists.
|
|
35978
|
-
envVar: "AGT_SECRET_FILES_TMPFS_ENABLED",
|
|
35979
|
-
// The real published build that carries the manager reader + core writer,
|
|
35980
|
-
// replacing the deliberately-unreachable `99.0.0` this flag shipped with.
|
|
35981
|
-
// Verified against the tarball (`npm pack @integrity-labs/agt-cli@0.28.678`):
|
|
35982
|
-
// `setSecretFileTmpfsBacking` is present in package/dist/lib/manager-worker.js
|
|
35983
|
-
// and the `secret-files-tmpfs` key ships in the bundle. Auto-publish patch-
|
|
35984
|
-
// bumps from main, so if a CLI-touching PR landed between the ENG-9348 merge
|
|
35985
|
-
// and this one the real cut is higher than 0.28.678 and reach under-reports;
|
|
35986
|
-
// re-verify before flipping the flag on for a canary (ENG-8575/ENG-9350).
|
|
35987
|
-
since: "0.28.678"
|
|
35988
|
-
},
|
|
35965
|
+
// ENG-9348 RETIRED (2026-08-24): the `secret-files-tmpfs` flag and its whole
|
|
35966
|
+
// tmpfs-backing implementation are removed after TWO prod outages. Symlinking
|
|
35967
|
+
// `.env.integrations` into /dev/shm raced the agent wrapper's `set -e; source
|
|
35968
|
+
// .env.integrations` (a symlink observed before its target existed → crashloop);
|
|
35969
|
+
// the seed-before-symlink fix (PR #4960) proved insufficient (a flag-read flap
|
|
35970
|
+
// let the destructive disable-revert re-open the window). Approach abandoned in
|
|
35971
|
+
// favour of the spawn-env path (ENG-9350, which never writes the file at all)
|
|
35972
|
+
// plus disk shred (ENG-9349). Removing the flag makes a third outage impossible.
|
|
35973
|
+
// Any lingering feature_flag_overrides rows for this key are inert (no reader);
|
|
35974
|
+
// clear them out-of-band if desired.
|
|
35975
|
+
// flag-archive-allow: secret-files-tmpfs retired after two prod outages — feature removed, no manager reader remains
|
|
35989
35976
|
{
|
|
35990
35977
|
key: "memory-file-tombstones",
|
|
35991
35978
|
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.",
|
package/dist/mcp/index.js
CHANGED
|
@@ -42913,30 +42913,17 @@ var FLAG_REGISTRY = [
|
|
|
42913
42913
|
// first the real cut is higher than this and the pin under-reports.
|
|
42914
42914
|
since: "0.28.570"
|
|
42915
42915
|
},
|
|
42916
|
-
|
|
42917
|
-
|
|
42918
|
-
|
|
42919
|
-
|
|
42920
|
-
|
|
42921
|
-
|
|
42922
|
-
|
|
42923
|
-
|
|
42924
|
-
|
|
42925
|
-
|
|
42926
|
-
|
|
42927
|
-
// hand-written process.env gate) — same posture as memory-extraction /
|
|
42928
|
-
// tool-call-audit above. Gives a per-host canary before the DB flag exists.
|
|
42929
|
-
envVar: "AGT_SECRET_FILES_TMPFS_ENABLED",
|
|
42930
|
-
// The real published build that carries the manager reader + core writer,
|
|
42931
|
-
// replacing the deliberately-unreachable `99.0.0` this flag shipped with.
|
|
42932
|
-
// Verified against the tarball (`npm pack @integrity-labs/agt-cli@0.28.678`):
|
|
42933
|
-
// `setSecretFileTmpfsBacking` is present in package/dist/lib/manager-worker.js
|
|
42934
|
-
// and the `secret-files-tmpfs` key ships in the bundle. Auto-publish patch-
|
|
42935
|
-
// bumps from main, so if a CLI-touching PR landed between the ENG-9348 merge
|
|
42936
|
-
// and this one the real cut is higher than 0.28.678 and reach under-reports;
|
|
42937
|
-
// re-verify before flipping the flag on for a canary (ENG-8575/ENG-9350).
|
|
42938
|
-
since: "0.28.678"
|
|
42939
|
-
},
|
|
42916
|
+
// ENG-9348 RETIRED (2026-08-24): the `secret-files-tmpfs` flag and its whole
|
|
42917
|
+
// tmpfs-backing implementation are removed after TWO prod outages. Symlinking
|
|
42918
|
+
// `.env.integrations` into /dev/shm raced the agent wrapper's `set -e; source
|
|
42919
|
+
// .env.integrations` (a symlink observed before its target existed → crashloop);
|
|
42920
|
+
// the seed-before-symlink fix (PR #4960) proved insufficient (a flag-read flap
|
|
42921
|
+
// let the destructive disable-revert re-open the window). Approach abandoned in
|
|
42922
|
+
// favour of the spawn-env path (ENG-9350, which never writes the file at all)
|
|
42923
|
+
// plus disk shred (ENG-9349). Removing the flag makes a third outage impossible.
|
|
42924
|
+
// Any lingering feature_flag_overrides rows for this key are inert (no reader);
|
|
42925
|
+
// clear them out-of-band if desired.
|
|
42926
|
+
// flag-archive-allow: secret-files-tmpfs retired after two prod outages — feature removed, no manager reader remains
|
|
42940
42927
|
{
|
|
42941
42928
|
key: "memory-file-tombstones",
|
|
42942
42929
|
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.",
|
|
@@ -45810,11 +45797,61 @@ server.tool(
|
|
|
45810
45797
|
return { content: [{ type: "text", text: data.message ?? `Offer ${data.offer_id} filed.` }] };
|
|
45811
45798
|
}
|
|
45812
45799
|
);
|
|
45800
|
+
server.tool(
|
|
45801
|
+
"routine_list",
|
|
45802
|
+
"List the routines YOU own - the recurring responsibilities a human accepted on your behalf. Call this FIRST whenever you need a routine_id: routine_revise and submit_routine_output both require one, and this is the only tool that produces it. Each entry gives you the routine_id, its name and status, the schedule it runs on (id, cron, timezone), its version, whether it owes a submit_routine_output call, and its FULL current prompt. The prompt is complete and untruncated on purpose: routine_revise replaces a routine's substance wholesale, so anything missing from what you read is missing from what you write. Read it here before revising rather than reconstructing it from memory. Returns an empty list if you own none - that is an answer, not an error.",
|
|
45803
|
+
{},
|
|
45804
|
+
async () => {
|
|
45805
|
+
try {
|
|
45806
|
+
const data = await apiPost("/host/routines/list", { agent_id: AGT_AGENT_ID }, false, 15e3, "routine_list", true);
|
|
45807
|
+
if (!data.ok) {
|
|
45808
|
+
return { content: [{ type: "text", text: data.error ?? "Could not list routines." }] };
|
|
45809
|
+
}
|
|
45810
|
+
const routines = data.routines ?? [];
|
|
45811
|
+
if (routines.length === 0) {
|
|
45812
|
+
return {
|
|
45813
|
+
content: [
|
|
45814
|
+
{
|
|
45815
|
+
type: "text",
|
|
45816
|
+
text: "You own no routines. A routine is created when you propose one with routine_propose and a human accepts it."
|
|
45817
|
+
}
|
|
45818
|
+
]
|
|
45819
|
+
};
|
|
45820
|
+
}
|
|
45821
|
+
const body = routines.map((r) => {
|
|
45822
|
+
const when = r.cron ? `cron ${r.cron}` : r.every ? `every ${r.every}` : "no schedule";
|
|
45823
|
+
const tz = r.timezone ? ` ${r.timezone}` : "";
|
|
45824
|
+
const gated = r.requires_output_approval ? "\n approval: REQUIRED \u2014 call submit_routine_output instead of delivering directly" : "";
|
|
45825
|
+
return `\u2022 ${r.name} [${r.status}] v${r.version}
|
|
45826
|
+
routine_id: ${r.routine_id}
|
|
45827
|
+
schedule_id: ${r.schedule_id ?? "(none \u2014 this routine has no runtime row)"} (${when}${tz})${gated}
|
|
45828
|
+
prompt:
|
|
45829
|
+
${r.prompt ?? "(none)"}`;
|
|
45830
|
+
}).join("\n\n");
|
|
45831
|
+
return {
|
|
45832
|
+
content: [
|
|
45833
|
+
{
|
|
45834
|
+
type: "text",
|
|
45835
|
+
text: `${routines.length} routine${routines.length === 1 ? "" : "s"} you own:
|
|
45836
|
+
|
|
45837
|
+
${body}`
|
|
45838
|
+
}
|
|
45839
|
+
]
|
|
45840
|
+
};
|
|
45841
|
+
} catch (err) {
|
|
45842
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
45843
|
+
return {
|
|
45844
|
+
content: [{ type: "text", text: `Could not list your routines: ${msg}` }],
|
|
45845
|
+
isError: true
|
|
45846
|
+
};
|
|
45847
|
+
}
|
|
45848
|
+
}
|
|
45849
|
+
);
|
|
45813
45850
|
server.tool(
|
|
45814
45851
|
"routine_revise",
|
|
45815
45852
|
"Propose a CORRECTION to a routine you already own, for your manager to accept or decline. Use this when a routine you run is wrong: bad instructions, a gate that never fires, a step that no longer applies, or a defect you spotted before it ever ran. This is the only way to change what a routine DOES - schedule_update deliberately refuses prompt edits, and it will point you here. It does NOT change when the routine runs: to retime it, send only schedule fields to schedule_update instead. Nothing changes until your manager accepts: they get an accept/decline card, and the live routine keeps running as-is until they tap. On acceptance the SAME routine is updated in place - no duplicate is created. Pass the full replacement description, not a diff or a patch: it replaces the routine's substance wholesale, so anything you leave out is gone.",
|
|
45816
45853
|
{
|
|
45817
|
-
routine_id: external_exports.string().trim().min(1).describe("The
|
|
45854
|
+
routine_id: external_exports.string().trim().min(1).describe("The routine to revise. Get this from routine_list. A schedule_id from schedule_list is also accepted and resolved server-side. It must be a routine YOU own; anything else reads as not-found."),
|
|
45818
45855
|
description: external_exports.string().trim().min(1).describe(
|
|
45819
45856
|
"The FULL replacement description - what the routine should do, from scratch. This becomes the routine's instructions verbatim, so write it as a complete brief rather than as a change to the old one. Anything you omit is removed."
|
|
45820
45857
|
),
|
|
@@ -45852,7 +45889,7 @@ server.tool(
|
|
|
45852
45889
|
content: [
|
|
45853
45890
|
{
|
|
45854
45891
|
type: "text",
|
|
45855
|
-
text: notFound ? `Could not revise:
|
|
45892
|
+
text: notFound ? `Could not revise: nothing matched "${params.routine_id}". Call routine_list to get the routine_id \u2014 it also accepts a schedule_id from schedule_list.` : `Could not propose the revision: ${msg}`
|
|
45856
45893
|
}
|
|
45857
45894
|
],
|
|
45858
45895
|
isError: true
|
|
@@ -46604,6 +46641,8 @@ var LOCAL_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
|
46604
46641
|
"routine_propose",
|
|
46605
46642
|
// ENG-9392: the correction half of routine_propose.
|
|
46606
46643
|
"routine_revise",
|
|
46644
|
+
// ENG-9431: the discovery primitive both of the above depend on.
|
|
46645
|
+
"routine_list",
|
|
46607
46646
|
"knowledge_list",
|
|
46608
46647
|
"knowledge_add",
|
|
46609
46648
|
"knowledge_update",
|
package/dist/mcp/origami.js
CHANGED
|
@@ -41700,30 +41700,17 @@ var FLAG_REGISTRY = [
|
|
|
41700
41700
|
// first the real cut is higher than this and the pin under-reports.
|
|
41701
41701
|
since: "0.28.570"
|
|
41702
41702
|
},
|
|
41703
|
-
|
|
41704
|
-
|
|
41705
|
-
|
|
41706
|
-
|
|
41707
|
-
|
|
41708
|
-
|
|
41709
|
-
|
|
41710
|
-
|
|
41711
|
-
|
|
41712
|
-
|
|
41713
|
-
|
|
41714
|
-
// hand-written process.env gate) — same posture as memory-extraction /
|
|
41715
|
-
// tool-call-audit above. Gives a per-host canary before the DB flag exists.
|
|
41716
|
-
envVar: "AGT_SECRET_FILES_TMPFS_ENABLED",
|
|
41717
|
-
// The real published build that carries the manager reader + core writer,
|
|
41718
|
-
// replacing the deliberately-unreachable `99.0.0` this flag shipped with.
|
|
41719
|
-
// Verified against the tarball (`npm pack @integrity-labs/agt-cli@0.28.678`):
|
|
41720
|
-
// `setSecretFileTmpfsBacking` is present in package/dist/lib/manager-worker.js
|
|
41721
|
-
// and the `secret-files-tmpfs` key ships in the bundle. Auto-publish patch-
|
|
41722
|
-
// bumps from main, so if a CLI-touching PR landed between the ENG-9348 merge
|
|
41723
|
-
// and this one the real cut is higher than 0.28.678 and reach under-reports;
|
|
41724
|
-
// re-verify before flipping the flag on for a canary (ENG-8575/ENG-9350).
|
|
41725
|
-
since: "0.28.678"
|
|
41726
|
-
},
|
|
41703
|
+
// ENG-9348 RETIRED (2026-08-24): the `secret-files-tmpfs` flag and its whole
|
|
41704
|
+
// tmpfs-backing implementation are removed after TWO prod outages. Symlinking
|
|
41705
|
+
// `.env.integrations` into /dev/shm raced the agent wrapper's `set -e; source
|
|
41706
|
+
// .env.integrations` (a symlink observed before its target existed → crashloop);
|
|
41707
|
+
// the seed-before-symlink fix (PR #4960) proved insufficient (a flag-read flap
|
|
41708
|
+
// let the destructive disable-revert re-open the window). Approach abandoned in
|
|
41709
|
+
// favour of the spawn-env path (ENG-9350, which never writes the file at all)
|
|
41710
|
+
// plus disk shred (ENG-9349). Removing the flag makes a third outage impossible.
|
|
41711
|
+
// Any lingering feature_flag_overrides rows for this key are inert (no reader);
|
|
41712
|
+
// clear them out-of-band if desired.
|
|
41713
|
+
// flag-archive-allow: secret-files-tmpfs retired after two prod outages — feature removed, no manager reader remains
|
|
41727
41714
|
{
|
|
41728
41715
|
key: "memory-file-tombstones",
|
|
41729
41716
|
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.",
|
|
@@ -36171,30 +36171,17 @@ var FLAG_REGISTRY = [
|
|
|
36171
36171
|
// first the real cut is higher than this and the pin under-reports.
|
|
36172
36172
|
since: "0.28.570"
|
|
36173
36173
|
},
|
|
36174
|
-
|
|
36175
|
-
|
|
36176
|
-
|
|
36177
|
-
|
|
36178
|
-
|
|
36179
|
-
|
|
36180
|
-
|
|
36181
|
-
|
|
36182
|
-
|
|
36183
|
-
|
|
36184
|
-
|
|
36185
|
-
// hand-written process.env gate) — same posture as memory-extraction /
|
|
36186
|
-
// tool-call-audit above. Gives a per-host canary before the DB flag exists.
|
|
36187
|
-
envVar: "AGT_SECRET_FILES_TMPFS_ENABLED",
|
|
36188
|
-
// The real published build that carries the manager reader + core writer,
|
|
36189
|
-
// replacing the deliberately-unreachable `99.0.0` this flag shipped with.
|
|
36190
|
-
// Verified against the tarball (`npm pack @integrity-labs/agt-cli@0.28.678`):
|
|
36191
|
-
// `setSecretFileTmpfsBacking` is present in package/dist/lib/manager-worker.js
|
|
36192
|
-
// and the `secret-files-tmpfs` key ships in the bundle. Auto-publish patch-
|
|
36193
|
-
// bumps from main, so if a CLI-touching PR landed between the ENG-9348 merge
|
|
36194
|
-
// and this one the real cut is higher than 0.28.678 and reach under-reports;
|
|
36195
|
-
// re-verify before flipping the flag on for a canary (ENG-8575/ENG-9350).
|
|
36196
|
-
since: "0.28.678"
|
|
36197
|
-
},
|
|
36174
|
+
// ENG-9348 RETIRED (2026-08-24): the `secret-files-tmpfs` flag and its whole
|
|
36175
|
+
// tmpfs-backing implementation are removed after TWO prod outages. Symlinking
|
|
36176
|
+
// `.env.integrations` into /dev/shm raced the agent wrapper's `set -e; source
|
|
36177
|
+
// .env.integrations` (a symlink observed before its target existed → crashloop);
|
|
36178
|
+
// the seed-before-symlink fix (PR #4960) proved insufficient (a flag-read flap
|
|
36179
|
+
// let the destructive disable-revert re-open the window). Approach abandoned in
|
|
36180
|
+
// favour of the spawn-env path (ENG-9350, which never writes the file at all)
|
|
36181
|
+
// plus disk shred (ENG-9349). Removing the flag makes a third outage impossible.
|
|
36182
|
+
// Any lingering feature_flag_overrides rows for this key are inert (no reader);
|
|
36183
|
+
// clear them out-of-band if desired.
|
|
36184
|
+
// flag-archive-allow: secret-files-tmpfs retired after two prod outages — feature removed, no manager reader remains
|
|
36198
36185
|
{
|
|
36199
36186
|
key: "memory-file-tombstones",
|
|
36200
36187
|
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.",
|
|
@@ -36327,30 +36327,17 @@ var FLAG_REGISTRY = [
|
|
|
36327
36327
|
// first the real cut is higher than this and the pin under-reports.
|
|
36328
36328
|
since: "0.28.570"
|
|
36329
36329
|
},
|
|
36330
|
-
|
|
36331
|
-
|
|
36332
|
-
|
|
36333
|
-
|
|
36334
|
-
|
|
36335
|
-
|
|
36336
|
-
|
|
36337
|
-
|
|
36338
|
-
|
|
36339
|
-
|
|
36340
|
-
|
|
36341
|
-
// hand-written process.env gate) — same posture as memory-extraction /
|
|
36342
|
-
// tool-call-audit above. Gives a per-host canary before the DB flag exists.
|
|
36343
|
-
envVar: "AGT_SECRET_FILES_TMPFS_ENABLED",
|
|
36344
|
-
// The real published build that carries the manager reader + core writer,
|
|
36345
|
-
// replacing the deliberately-unreachable `99.0.0` this flag shipped with.
|
|
36346
|
-
// Verified against the tarball (`npm pack @integrity-labs/agt-cli@0.28.678`):
|
|
36347
|
-
// `setSecretFileTmpfsBacking` is present in package/dist/lib/manager-worker.js
|
|
36348
|
-
// and the `secret-files-tmpfs` key ships in the bundle. Auto-publish patch-
|
|
36349
|
-
// bumps from main, so if a CLI-touching PR landed between the ENG-9348 merge
|
|
36350
|
-
// and this one the real cut is higher than 0.28.678 and reach under-reports;
|
|
36351
|
-
// re-verify before flipping the flag on for a canary (ENG-8575/ENG-9350).
|
|
36352
|
-
since: "0.28.678"
|
|
36353
|
-
},
|
|
36330
|
+
// ENG-9348 RETIRED (2026-08-24): the `secret-files-tmpfs` flag and its whole
|
|
36331
|
+
// tmpfs-backing implementation are removed after TWO prod outages. Symlinking
|
|
36332
|
+
// `.env.integrations` into /dev/shm raced the agent wrapper's `set -e; source
|
|
36333
|
+
// .env.integrations` (a symlink observed before its target existed → crashloop);
|
|
36334
|
+
// the seed-before-symlink fix (PR #4960) proved insufficient (a flag-read flap
|
|
36335
|
+
// let the destructive disable-revert re-open the window). Approach abandoned in
|
|
36336
|
+
// favour of the spawn-env path (ENG-9350, which never writes the file at all)
|
|
36337
|
+
// plus disk shred (ENG-9349). Removing the flag makes a third outage impossible.
|
|
36338
|
+
// Any lingering feature_flag_overrides rows for this key are inert (no reader);
|
|
36339
|
+
// clear them out-of-band if desired.
|
|
36340
|
+
// flag-archive-allow: secret-files-tmpfs retired after two prod outages — feature removed, no manager reader remains
|
|
36354
36341
|
{
|
|
36355
36342
|
key: "memory-file-tombstones",
|
|
36356
36343
|
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.",
|
|
@@ -43,8 +43,8 @@ import {
|
|
|
43
43
|
writeDirectChatSessionState,
|
|
44
44
|
writeEgressAllowlist,
|
|
45
45
|
writePersistentClaudeWrapper
|
|
46
|
-
} from "./chunk-
|
|
47
|
-
import "./chunk-
|
|
46
|
+
} from "./chunk-WHW747J3.js";
|
|
47
|
+
import "./chunk-7K2I4LJZ.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-
|
|
95
|
+
//# sourceMappingURL=persistent-session-42FL5BEW.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-WHW747J3.js";
|
|
4
|
+
import "./chunk-7K2I4LJZ.js";
|
|
5
5
|
import "./chunk-XWVM4KPK.js";
|
|
6
6
|
|
|
7
7
|
// src/lib/responsiveness-probe.ts
|
|
@@ -745,4 +745,4 @@ export {
|
|
|
745
745
|
readAndResetSlackReplyBindingClassifications,
|
|
746
746
|
readAndResetSlackReplyTargetClassifications
|
|
747
747
|
};
|
|
748
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
748
|
+
//# sourceMappingURL=responsiveness-probe-RG2SD7HX.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sessionTranscriptDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7K2I4LJZ.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-
|
|
206
|
+
//# sourceMappingURL=session-auth-dead-SHLP7FRQ.js.map
|