@askexenow/exe-os 0.9.207 → 0.9.209

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 (138) hide show
  1. package/dist/{backfill-metadata-4N22ZA6N.js → backfill-metadata-32SPFWL5.js} +1 -1
  2. package/dist/bin/agentic-ontology-backfill.js +1 -1
  3. package/dist/bin/agentic-reflection-backfill.js +1 -1
  4. package/dist/bin/agentic-semantic-label.js +1 -1
  5. package/dist/bin/backfill-conversations.js +1 -1
  6. package/dist/bin/backfill-responses.js +1 -1
  7. package/dist/bin/backfill-vectors.js +2 -2
  8. package/dist/bin/bulk-sync-postgres.js +1 -1
  9. package/dist/bin/cleanup-stale-review-tasks.js +2 -2
  10. package/dist/bin/cli.js +5 -5
  11. package/dist/bin/exe-agent.js +10 -10
  12. package/dist/bin/exe-assign.js +1 -1
  13. package/dist/bin/exe-boot.js +3 -3
  14. package/dist/bin/exe-dispatch.js +2 -2
  15. package/dist/bin/exe-doctor.js +1 -1
  16. package/dist/bin/exe-export-behaviors.js +2 -2
  17. package/dist/bin/exe-forget.js +3 -3
  18. package/dist/bin/exe-gateway.js +4 -4
  19. package/dist/bin/exe-heartbeat.js +2 -2
  20. package/dist/bin/exe-kill.js +3 -3
  21. package/dist/bin/exe-launch-agent.js +2 -2
  22. package/dist/bin/exe-pending-messages.js +3 -3
  23. package/dist/bin/exe-pending-notifications.js +2 -2
  24. package/dist/bin/exe-pending-reviews.js +2 -2
  25. package/dist/bin/exe-review.js +3 -3
  26. package/dist/bin/exe-search.js +2 -2
  27. package/dist/bin/exe-session-cleanup.js +5 -5
  28. package/dist/bin/exe-start-codex.js +1 -1
  29. package/dist/bin/exe-start-opencode.js +1 -1
  30. package/dist/bin/exe-status.js +3 -3
  31. package/dist/bin/exe-team.js +1 -1
  32. package/dist/bin/git-sweep.js +2 -2
  33. package/dist/bin/graph-backfill.js +1 -1
  34. package/dist/bin/graph-export.js +2 -2
  35. package/dist/bin/import-history.js +1 -1
  36. package/dist/bin/intercom-check.js +3 -3
  37. package/dist/bin/mcp-sessions.js +194 -0
  38. package/dist/bin/orchestration-metrics.js +1 -1
  39. package/dist/bin/scan-tasks.js +2 -2
  40. package/dist/bin/setup.js +1 -1
  41. package/dist/bin/shard-migrate.js +1 -1
  42. package/dist/{capacity-monitor-EHXIFEE2.js → capacity-monitor-PQ7EZ5ES.js} +2 -2
  43. package/dist/{catchup-brief-AYLBTVRM.js → catchup-brief-FJM4C6R6.js} +3 -3
  44. package/dist/{chunk-EAHUS6WU.js → chunk-3GFXV46R.js} +1 -1
  45. package/dist/{chunk-MGPVDQIM.js → chunk-5452FPV5.js} +1 -1
  46. package/dist/{chunk-TV7ZTQ7L.js → chunk-6XAXYBCI.js} +7 -7
  47. package/dist/{chunk-4EOXPKWA.js → chunk-A3K7V6SW.js} +128 -4
  48. package/dist/{chunk-7VDMUMHM.js → chunk-AOBTVA7I.js} +3 -3
  49. package/dist/{chunk-QOAPYITU.js → chunk-BO6HP63V.js} +2 -2
  50. package/dist/{chunk-RRMPIH6C.js → chunk-DYY6DEA4.js} +3 -3
  51. package/dist/{chunk-SQK3Q6VY.js → chunk-EXRMA2QK.js} +16 -16
  52. package/dist/{chunk-YQKFNXGL.js → chunk-EYXCCLFI.js} +2 -2
  53. package/dist/{chunk-3BV34EJB.js → chunk-GD5AQDZL.js} +1 -1
  54. package/dist/{chunk-MMLE3M4J.js → chunk-IZPPTNXR.js} +1 -1
  55. package/dist/{chunk-FLCWUX6G.js → chunk-K5EXLDQD.js} +1 -1
  56. package/dist/{chunk-QOTQZAAE.js → chunk-K5O5UAO3.js} +1 -1
  57. package/dist/{chunk-T4TMVXF5.js → chunk-LEVLIEBX.js} +4 -4
  58. package/dist/{chunk-OBVXTLRM.js → chunk-MTZZHS73.js} +2 -2
  59. package/dist/{chunk-DBSMRM52.js → chunk-PQU74C7J.js} +2 -2
  60. package/dist/{chunk-WGOVSJNR.js → chunk-PZCC4YWO.js} +1 -1
  61. package/dist/{chunk-434A3L6O.js → chunk-Q72H4NTD.js} +99 -32
  62. package/dist/{chunk-T4BKQ3CX.js → chunk-RVT5AV3R.js} +48 -48
  63. package/dist/{chunk-PNQ74YDS.js → chunk-SNEP3JX2.js} +2 -2
  64. package/dist/{chunk-BS6YQM5R.js → chunk-UK5GYNHU.js} +1 -1
  65. package/dist/{chunk-MB7PRC5E.js → chunk-VBPNKKOP.js} +1 -1
  66. package/dist/{chunk-3M2CCVXM.js → chunk-VUJHFM4F.js} +1 -1
  67. package/dist/{chunk-4EKVVGVV.js → chunk-YDXCENQ5.js} +1 -1
  68. package/dist/{chunk-RS5JCKEP.js → chunk-ZCA2WOY3.js} +1 -1
  69. package/dist/{crm-webhook-VSPYINPL.js → crm-webhook-NGKBEDCE.js} +2 -2
  70. package/dist/{cto-delegation-gate-W7ESM5IQ.js → cto-delegation-gate-6YC3E5RL.js} +1 -1
  71. package/dist/{daemon-orchestration-TC3JWVDC.js → daemon-orchestration-QVJ26DDN.js} +3 -3
  72. package/dist/{exe-export-6NC4TNCZ.js → exe-export-3KLM55BC.js} +1 -1
  73. package/dist/{exe-import-GQRGZKW3.js → exe-import-SFRVKEGL.js} +1 -1
  74. package/dist/{fast-db-init-4ETTWASA.js → fast-db-init-WSVNCMIA.js} +1 -1
  75. package/dist/gateway/index.js +19 -19
  76. package/dist/{git-task-sweep-HMSTHZ6X.js → git-task-sweep-KBCSNNWI.js} +2 -2
  77. package/dist/hooks/bug-report-worker.js +3 -3
  78. package/dist/hooks/codex-stop-task-finalizer.js +3 -3
  79. package/dist/hooks/commit-complete.js +4 -4
  80. package/dist/hooks/error-recall.js +2 -2
  81. package/dist/hooks/ingest.js +2 -2
  82. package/dist/hooks/instructions-loaded.js +1 -1
  83. package/dist/hooks/manifest.json +18 -18
  84. package/dist/hooks/notification.js +1 -1
  85. package/dist/hooks/post-compact.js +2 -2
  86. package/dist/hooks/post-tool-combined.js +2 -2
  87. package/dist/hooks/pre-compact.js +3 -3
  88. package/dist/hooks/pre-tool-use.js +6 -6
  89. package/dist/hooks/prompt-submit.js +8 -8
  90. package/dist/hooks/session-end.js +4 -4
  91. package/dist/hooks/session-start.js +4 -4
  92. package/dist/hooks/stop.js +5 -5
  93. package/dist/hooks/subagent-stop.js +2 -2
  94. package/dist/hooks/summary-worker.js +5 -5
  95. package/dist/index.js +12 -12
  96. package/dist/lib/consolidation.js +2 -2
  97. package/dist/lib/exe-daemon.js +31 -14
  98. package/dist/lib/hybrid-search.js +2 -2
  99. package/dist/lib/messaging.js +2 -2
  100. package/dist/lib/schedules.js +2 -2
  101. package/dist/lib/store.js +1 -1
  102. package/dist/lib/tasks.js +2 -2
  103. package/dist/lib/tmux-routing.js +1 -1
  104. package/dist/lib/token-spend.js +1 -1
  105. package/dist/mcp/register-tools.js +28 -28
  106. package/dist/mcp/server.js +31 -31
  107. package/dist/mcp/tools/create-task.js +3 -3
  108. package/dist/mcp/tools/list-tasks.js +3 -3
  109. package/dist/mcp/tools/send-message.js +3 -3
  110. package/dist/mcp/tools/update-task.js +3 -3
  111. package/dist/{notifications-25FGAXTC.js → notifications-YF7ANNPB.js} +1 -1
  112. package/dist/{orchestrator-ZWPDXMW4.js → orchestrator-3G7MW4XO.js} +2 -2
  113. package/dist/{reranker-TRLLNJHH.js → reranker-KKGT2QH5.js} +1 -1
  114. package/dist/{review-polling-QQMFB3Q4.js → review-polling-E2ZTZAR7.js} +2 -2
  115. package/dist/runtime/index.js +7 -7
  116. package/dist/{session-events-OWSPMDJV.js → session-events-RNEA3WRN.js} +2 -2
  117. package/dist/{session-scope-PKBCQOLO.js → session-scope-RGIEAQRR.js} +1 -1
  118. package/dist/{setup-wizard-2INM4CSL.js → setup-wizard-AZOKR4PP.js} +1 -1
  119. package/dist/{task-enforcement-M2NU3OVK.js → task-enforcement-OSPCFH5T.js} +1 -1
  120. package/dist/{task-scope-LQRP3MQ2.js → task-scope-4CBJ3QI2.js} +1 -1
  121. package/dist/{tasks-crud-TMYB245Z.js → tasks-crud-PQ23SS5C.js} +5 -1
  122. package/dist/{tasks-review-GJWB2BPT.js → tasks-review-XZSYVGRL.js} +1 -1
  123. package/dist/{telemetry-upload-Y3CPHI7M.js → telemetry-upload-DPF4WUMT.js} +21 -7
  124. package/dist/tui/App.js +7 -7
  125. package/dist/{tui-data-ZVRIZAIF.js → tui-data-SKVPBPBV.js} +1 -1
  126. package/dist/{worker-gate-VZLM2AU3.js → worker-gate-XHZWIMDA.js} +1 -1
  127. package/dist/{workflow-engine-ESXHBY55.js → workflow-engine-RN3ADPEN.js} +2 -2
  128. package/package.json +1 -1
  129. package/release-notes.json +71 -71
  130. /package/dist/{chunk-KJVFW5C7.js → chunk-E3Q4R3K6.js} +0 -0
  131. /package/dist/{chunk-MTR5SMNA.js → chunk-GMQKS5JD.js} +0 -0
  132. /package/dist/{chunk-P5J37OSU.js → chunk-MBF42HXN.js} +0 -0
  133. /package/dist/{chunk-ATKMIQXP.js → chunk-RUTQMSNJ.js} +0 -0
  134. /package/dist/{chunk-SEPXWHA3.js → chunk-UDSY3K33.js} +0 -0
  135. /package/dist/{chunk-5YFC6HQX.js → chunk-Z2HB2SXL.js} +0 -0
  136. /package/dist/{core-memory-6JX6V4QR.js → core-memory-U6ZYHCFK.js} +0 -0
  137. /package/dist/{exe-key-K7FHMOVL.js → exe-key-FLTUNYFH.js} +0 -0
  138. /package/dist/{skill-refinement-KL2INB5E.js → skill-refinement-BGWMSERG.js} +0 -0
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  TASK_ALREADY_CLAIMED_PREFIX,
3
+ buildTaskCompletionReport,
3
4
  checkStaleCompletion,
4
5
  checkTaskFileConsistency,
5
6
  cleanOrphanedTaskFiles,
@@ -8,6 +9,7 @@ import {
8
9
  ensureArchitectureDoc,
9
10
  ensureGitignoreExe,
10
11
  extractParentFromContext,
12
+ isStructuredTaskCompletionReport,
11
13
  isTmuxSessionAlive,
12
14
  listTasks,
13
15
  queryTaskRows,
@@ -15,7 +17,7 @@ import {
15
17
  slugify,
16
18
  updateTaskStatus,
17
19
  writeCheckpoint
18
- } from "./chunk-4EOXPKWA.js";
20
+ } from "./chunk-A3K7V6SW.js";
19
21
  import "./chunk-FYJCMGTD.js";
20
22
  import "./chunk-QI4IXJN7.js";
21
23
  import "./chunk-IR4L6K5L.js";
@@ -42,6 +44,7 @@ import "./chunk-LYH5HE24.js";
42
44
  import "./chunk-MLKGABMK.js";
43
45
  export {
44
46
  TASK_ALREADY_CLAIMED_PREFIX,
47
+ buildTaskCompletionReport,
45
48
  checkStaleCompletion,
46
49
  checkTaskFileConsistency,
47
50
  cleanOrphanedTaskFiles,
@@ -50,6 +53,7 @@ export {
50
53
  ensureArchitectureDoc,
51
54
  ensureGitignoreExe,
52
55
  extractParentFromContext,
56
+ isStructuredTaskCompletionReport,
53
57
  isTmuxSessionAlive,
54
58
  listTasks,
55
59
  queryTaskRows,
@@ -8,7 +8,7 @@ import {
8
8
  getReviewChecklist,
9
9
  isStale,
10
10
  listPendingReviews
11
- } from "./chunk-4EOXPKWA.js";
11
+ } from "./chunk-A3K7V6SW.js";
12
12
  import "./chunk-FYJCMGTD.js";
13
13
  import "./chunk-QI4IXJN7.js";
14
14
  import "./chunk-IR4L6K5L.js";
@@ -15,22 +15,36 @@ import "./chunk-LYH5HE24.js";
15
15
  import "./chunk-MLKGABMK.js";
16
16
 
17
17
  // src/lib/telemetry-upload.ts
18
+ import { readFileSync } from "fs";
18
19
  import os from "os";
20
+ import { join as joinPath } from "path";
19
21
  function isTelemetryEnabled() {
20
- return process.env.EXE_TELEMETRY !== "0";
22
+ if (process.env.EXE_TELEMETRY === "0") {
23
+ try {
24
+ const configPath = joinPath(os.homedir(), ".exe-os", "config.json");
25
+ const cfg = JSON.parse(readFileSync(configPath, "utf-8"));
26
+ const plan = String(cfg?.license?.plan ?? cfg?.cloud?.plan ?? "free").toLowerCase();
27
+ if (plan === "free" || plan === "" || plan === "unknown") {
28
+ return true;
29
+ }
30
+ } catch {
31
+ }
32
+ return false;
33
+ }
34
+ return true;
21
35
  }
22
36
  async function buildTelemetryPayload(sinceHours = 24) {
23
37
  const sinceIso = new Date(Date.now() - sinceHours * 60 * 60 * 1e3).toISOString();
24
38
  const metrics = sanitizeMetricsForUpload(await getOrchestrationMetrics({ sinceIso }));
25
39
  let version = "unknown";
26
40
  try {
27
- const { readFileSync } = await import("fs");
41
+ const { readFileSync: readFileSync2 } = await import("fs");
28
42
  const { join, dirname } = await import("path");
29
43
  const { fileURLToPath } = await import("url");
30
44
  let dir = dirname(fileURLToPath(import.meta.url));
31
45
  for (let i = 0; i < 5; i++) {
32
46
  try {
33
- const pkg = JSON.parse(readFileSync(join(dir, "package.json"), "utf-8"));
47
+ const pkg = JSON.parse(readFileSync2(join(dir, "package.json"), "utf-8"));
34
48
  if (pkg.version) {
35
49
  version = pkg.version;
36
50
  break;
@@ -114,12 +128,12 @@ async function drainOutbox(sendFn) {
114
128
  let sent = 0;
115
129
  try {
116
130
  const { join } = await import("path");
117
- const { readFileSync, readdirSync, unlinkSync } = await import("fs");
131
+ const { readFileSync: readFileSync2, readdirSync, unlinkSync } = await import("fs");
118
132
  const dir = await getOutboxDir();
119
133
  const files = readdirSync(dir).filter((f) => f.endsWith(".json")).sort();
120
134
  for (const file of files.slice(0, 5)) {
121
135
  try {
122
- const payload = JSON.parse(readFileSync(join(dir, file), "utf-8"));
136
+ const payload = JSON.parse(readFileSync2(join(dir, file), "utf-8"));
123
137
  const result = await sendFn(payload);
124
138
  if (result === "sent") {
125
139
  unlinkSync(join(dir, file));
@@ -138,11 +152,11 @@ async function isRemoteKillswitchActive() {
138
152
  try {
139
153
  const { join } = await import("path");
140
154
  const { homedir } = await import("os");
141
- const { readFileSync, writeFileSync, existsSync } = await import("fs");
155
+ const { readFileSync: readFileSync2, writeFileSync, existsSync } = await import("fs");
142
156
  const cachePath = join(homedir(), ".exe-os", KILLSWITCH_CACHE_FILE);
143
157
  if (existsSync(cachePath)) {
144
158
  try {
145
- const cached = JSON.parse(readFileSync(cachePath, "utf-8"));
159
+ const cached = JSON.parse(readFileSync2(cachePath, "utf-8"));
146
160
  if (Date.now() - cached.checkedAt < KILLSWITCH_CACHE_TTL_MS) {
147
161
  return cached.disabled;
148
162
  }
package/dist/tui/App.js CHANGED
@@ -6,7 +6,7 @@ import "../chunk-4FNJPA5O.js";
6
6
  import "../chunk-2ZYEO7U7.js";
7
7
  import {
8
8
  sessionScopeFilter
9
- } from "../chunk-4EOXPKWA.js";
9
+ } from "../chunk-A3K7V6SW.js";
10
10
  import "../chunk-FYJCMGTD.js";
11
11
  import "../chunk-QI4IXJN7.js";
12
12
  import "../chunk-IR4L6K5L.js";
@@ -7402,7 +7402,7 @@ function useOrchestrator(enabled = true) {
7402
7402
  let cancelled = false;
7403
7403
  async function init() {
7404
7404
  try {
7405
- const { MultiAgentOrchestrator } = await import("../orchestrator-ZWPDXMW4.js");
7405
+ const { MultiAgentOrchestrator } = await import("../orchestrator-3G7MW4XO.js");
7406
7406
  const { getCoordinatorName, isCoordinatorRole, loadEmployees } = await import("../lib/employees.js");
7407
7407
  const { isExeSession } = await import("../lib/tmux-routing.js");
7408
7408
  const { listTmuxSessions, inTmux } = await import("../lib/tmux-status.js");
@@ -7443,7 +7443,7 @@ function useOrchestrator(enabled = true) {
7443
7443
  setTotalInProgress(health.totalInProgress);
7444
7444
  try {
7445
7445
  const { getClient } = await import("../lib/database.js");
7446
- const { sessionScopeFilter: sessionScopeFilter2 } = await import("../task-scope-LQRP3MQ2.js");
7446
+ const { sessionScopeFilter: sessionScopeFilter2 } = await import("../task-scope-4CBJ3QI2.js");
7447
7447
  const client = getClient();
7448
7448
  const uoScope = sessionScopeFilter2();
7449
7449
  const result = await client.execute({
@@ -7475,7 +7475,7 @@ function useOrchestrator(enabled = true) {
7475
7475
  const spawnSession = useCallback5(
7476
7476
  async (agentId) => {
7477
7477
  try {
7478
- const { createTaskCore } = await import("../tasks-crud-TMYB245Z.js");
7478
+ const { createTaskCore } = await import("../tasks-crud-PQ23SS5C.js");
7479
7479
  const { ensureEmployee } = await import("../lib/tmux-routing.js");
7480
7480
  const { getCoordinatorName } = await import("../lib/employees.js");
7481
7481
  await createTaskCore({
@@ -8097,7 +8097,7 @@ function TasksView({ onBack }) {
8097
8097
  const { withTrace } = await import("../telemetry-43X3GT3R.js");
8098
8098
  return withTrace("tui.tasks.loadTasks", async () => {
8099
8099
  try {
8100
- const { loadTaskList } = await import("../tui-data-ZVRIZAIF.js");
8100
+ const { loadTaskList } = await import("../tui-data-SKVPBPBV.js");
8101
8101
  const tasks = await loadTaskList();
8102
8102
  setAllTasks(
8103
8103
  tasks.map((task) => ({
@@ -8930,7 +8930,7 @@ function TeamView({ onBack, onViewSessions }) {
8930
8930
  let projectsByEmployee = /* @__PURE__ */ new Map();
8931
8931
  let currentTaskByEmployee = /* @__PURE__ */ new Map();
8932
8932
  try {
8933
- const { loadTeamBadgeCounts, loadTeamDetailMetrics } = await import("../tui-data-ZVRIZAIF.js");
8933
+ const { loadTeamBadgeCounts, loadTeamDetailMetrics } = await import("../tui-data-SKVPBPBV.js");
8934
8934
  setBadgeInFlight(true);
8935
8935
  const badgeCountsPromise = loadTeamBadgeCounts();
8936
8936
  const detailsPromise = loadTeamDetailMetrics(roster.map((emp) => emp.name));
@@ -9296,7 +9296,7 @@ function WikiView({ onBack }) {
9296
9296
  }
9297
9297
  setSearchLoading(true);
9298
9298
  try {
9299
- const { searchWikiMemoryRows } = await import("../tui-data-ZVRIZAIF.js");
9299
+ const { searchWikiMemoryRows } = await import("../tui-data-SKVPBPBV.js");
9300
9300
  setSearchResults(await searchWikiMemoryRows(query));
9301
9301
  } catch {
9302
9302
  setSearchResults([]);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-4EOXPKWA.js";
3
+ } from "./chunk-A3K7V6SW.js";
4
4
  import "./chunk-FYJCMGTD.js";
5
5
  import "./chunk-QI4IXJN7.js";
6
6
  import "./chunk-IR4L6K5L.js";
@@ -6,7 +6,7 @@ import {
6
6
  releaseBackfillLock,
7
7
  tryAcquireBackfillLock,
8
8
  tryAcquireWorkerSlot
9
- } from "./chunk-FLCWUX6G.js";
9
+ } from "./chunk-K5EXLDQD.js";
10
10
  import "./chunk-WXW3XGWX.js";
11
11
  import "./chunk-LYH5HE24.js";
12
12
  import "./chunk-MLKGABMK.js";
@@ -10,8 +10,8 @@ import {
10
10
  persistWorkflows,
11
11
  runWorkflow,
12
12
  startWorkflow
13
- } from "./chunk-3M2CCVXM.js";
14
- import "./chunk-5YFC6HQX.js";
13
+ } from "./chunk-VUJHFM4F.js";
14
+ import "./chunk-Z2HB2SXL.js";
15
15
  import "./chunk-MLKGABMK.js";
16
16
  export {
17
17
  advanceWorkflow,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askexenow/exe-os",
3
- "version": "0.9.207",
3
+ "version": "0.9.209",
4
4
  "description": "AI employee operating system — persistent memory, task management, and multi-agent coordination for Claude Code.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "type": "module",
@@ -1,10 +1,12 @@
1
1
  {
2
- "current": "0.9.207",
2
+ "current": "0.9.209",
3
3
  "notes": {
4
- "0.9.207": {
5
- "version": "0.9.207",
4
+ "0.9.209": {
5
+ "version": "0.9.209",
6
6
  "date": "2026-06-03",
7
7
  "features": [
8
+ "free license telemetry is mandatory, paid can opt out",
9
+ "add mcp-sessions CLI — rich status table for running sessions",
8
10
  "5-minute telemetry batching + per-tool-call usage in payload",
9
11
  "disk outbox for failed telemetry + remote killswitch",
10
12
  "auto-attach orchestration metrics to every bug report",
@@ -27,11 +29,10 @@
27
29
  "scale daemon heap to 25% of system RAM, support 10+ coordinators",
28
30
  "add query expansion + benchmark results to retrieval platform procedure",
29
31
  "3-mode BEAM benchmark — FTS vs FTS+Graph vs Hybrid",
30
- "wire update.askexe.com — billing schema + non-fatal image credentials",
31
- "add 'never defer' platform procedure — fix it now or assign it now",
32
- "BEAM multi-tier support — 100K, 1M, 10M token scales"
32
+ "wire update.askexe.com — billing schema + non-fatal image credentials"
33
33
  ],
34
34
  "fixes": [
35
+ "Fix daemon agent stats event-loop stalls",
35
36
  "async-ify task re-sync walk + git worktree list in daemon",
36
37
  "async worktree reaper — eliminates 30-min event loop blocks",
37
38
  "simplify telemetry to once-per-day only",
@@ -55,8 +56,7 @@
55
56
  "remove ALL --strict-mcp-config usage — was blocking /exe-intercom in session MCP config too",
56
57
  "tsup outputs to dist directly — kill dist-next migration shim",
57
58
  "drop --strict-mcp-config from lean MCP — was blocking skill loading (/exe-intercom)",
58
- "zombie agent reaper never kills coordinator/exe session processes",
59
- "typecheck errors blocking publish — async embed alert + dead code cleanup"
59
+ "zombie agent reaper never kills coordinator/exe session processes"
60
60
  ],
61
61
  "security": [
62
62
  "fix shell injection, SSRF, socket leaks, backup validation",
@@ -73,11 +73,14 @@
73
73
  "fix 4 pricing tier bypass vulnerabilities (audit F1-F4)"
74
74
  ],
75
75
  "other": [
76
+ "bump to v0.9.209",
77
+ "update release-notes.json",
78
+ "Standardize task completion reports",
79
+ "bump to v0.9.208",
76
80
  "bump to v0.9.207",
77
81
  "bump to v0.9.206",
78
82
  "bump to v0.9.205",
79
83
  "bump to v0.9.204",
80
- "update release-notes.json",
81
84
  "bump stack manifest to v0.9.12 — CRM v0.9.44, exe-os v0.9.199",
82
85
  "review full orchestration measurement coverage",
83
86
  "bump to v0.9.203",
@@ -94,15 +97,12 @@
94
97
  "audit tmux orchestration architecture",
95
98
  "bump to v0.9.199",
96
99
  "remove registry.askexe.com references — fully consolidated to update.askexe.com",
97
- "bump to 0.9.198 — coordinator reaper guard",
98
- "bump to 0.9.197 — TTL fix + registry consolidation + TS fixes",
99
- "update all manifest images to update.askexe.com + compose + beam tuning",
100
- "bump to 0.9.196"
100
+ "bump to 0.9.198 — coordinator reaper guard"
101
101
  ],
102
102
  "migration_notes": []
103
103
  },
104
- "0.9.206": {
105
- "version": "0.9.206",
104
+ "0.9.208": {
105
+ "version": "0.9.208",
106
106
  "date": "2026-06-03",
107
107
  "features": [
108
108
  "5-minute telemetry batching + per-tool-call usage in payload",
@@ -132,6 +132,8 @@
132
132
  "BEAM multi-tier support — 100K, 1M, 10M token scales"
133
133
  ],
134
134
  "fixes": [
135
+ "Fix daemon agent stats event-loop stalls",
136
+ "async-ify task re-sync walk + git worktree list in daemon",
135
137
  "async worktree reaper — eliminates 30-min event loop blocks",
136
138
  "simplify telemetry to once-per-day only",
137
139
  "reduce telemetry batch cadence from 5min to 6h",
@@ -154,9 +156,7 @@
154
156
  "remove ALL --strict-mcp-config usage — was blocking /exe-intercom in session MCP config too",
155
157
  "tsup outputs to dist directly — kill dist-next migration shim",
156
158
  "drop --strict-mcp-config from lean MCP — was blocking skill loading (/exe-intercom)",
157
- "zombie agent reaper never kills coordinator/exe session processes",
158
- "typecheck errors blocking publish — async embed alert + dead code cleanup",
159
- "session TTL uses registry registeredAt instead of tmux session_created"
159
+ "zombie agent reaper never kills coordinator/exe session processes"
160
160
  ],
161
161
  "security": [
162
162
  "fix shell injection, SSRF, socket leaks, backup validation",
@@ -173,6 +173,8 @@
173
173
  "fix 4 pricing tier bypass vulnerabilities (audit F1-F4)"
174
174
  ],
175
175
  "other": [
176
+ "bump to v0.9.208",
177
+ "bump to v0.9.207",
176
178
  "bump to v0.9.206",
177
179
  "bump to v0.9.205",
178
180
  "bump to v0.9.204",
@@ -195,14 +197,12 @@
195
197
  "remove registry.askexe.com references — fully consolidated to update.askexe.com",
196
198
  "bump to 0.9.198 — coordinator reaper guard",
197
199
  "bump to 0.9.197 — TTL fix + registry consolidation + TS fixes",
198
- "update all manifest images to update.askexe.com + compose + beam tuning",
199
- "bump to 0.9.196",
200
- "bump to 0.9.195"
200
+ "update all manifest images to update.askexe.com + compose + beam tuning"
201
201
  ],
202
202
  "migration_notes": []
203
203
  },
204
- "0.9.205": {
205
- "version": "0.9.205",
204
+ "0.9.207": {
205
+ "version": "0.9.207",
206
206
  "date": "2026-06-03",
207
207
  "features": [
208
208
  "5-minute telemetry batching + per-tool-call usage in payload",
@@ -232,6 +232,8 @@
232
232
  "BEAM multi-tier support — 100K, 1M, 10M token scales"
233
233
  ],
234
234
  "fixes": [
235
+ "async-ify task re-sync walk + git worktree list in daemon",
236
+ "async worktree reaper — eliminates 30-min event loop blocks",
235
237
  "simplify telemetry to once-per-day only",
236
238
  "reduce telemetry batch cadence from 5min to 6h",
237
239
  "prevent daemon telemetry checkpoint stalls",
@@ -254,9 +256,7 @@
254
256
  "tsup outputs to dist directly — kill dist-next migration shim",
255
257
  "drop --strict-mcp-config from lean MCP — was blocking skill loading (/exe-intercom)",
256
258
  "zombie agent reaper never kills coordinator/exe session processes",
257
- "typecheck errors blocking publish — async embed alert + dead code cleanup",
258
- "session TTL uses registry registeredAt instead of tmux session_created",
259
- "CRM auth defaults + benchmark beam.ts updates"
259
+ "typecheck errors blocking publish — async embed alert + dead code cleanup"
260
260
  ],
261
261
  "security": [
262
262
  "fix shell injection, SSRF, socket leaks, backup validation",
@@ -273,6 +273,8 @@
273
273
  "fix 4 pricing tier bypass vulnerabilities (audit F1-F4)"
274
274
  ],
275
275
  "other": [
276
+ "bump to v0.9.207",
277
+ "bump to v0.9.206",
276
278
  "bump to v0.9.205",
277
279
  "bump to v0.9.204",
278
280
  "update release-notes.json",
@@ -295,16 +297,19 @@
295
297
  "bump to 0.9.198 — coordinator reaper guard",
296
298
  "bump to 0.9.197 — TTL fix + registry consolidation + TS fixes",
297
299
  "update all manifest images to update.askexe.com + compose + beam tuning",
298
- "bump to 0.9.196",
299
- "bump to 0.9.195",
300
- "bump to 0.9.194"
300
+ "bump to 0.9.196"
301
301
  ],
302
302
  "migration_notes": []
303
303
  },
304
- "0.9.204": {
305
- "version": "0.9.204",
304
+ "0.9.206": {
305
+ "version": "0.9.206",
306
306
  "date": "2026-06-03",
307
307
  "features": [
308
+ "5-minute telemetry batching + per-tool-call usage in payload",
309
+ "disk outbox for failed telemetry + remote killswitch",
310
+ "auto-attach orchestration metrics to every bug report",
311
+ "auto-send daily telemetry from daemon",
312
+ "add telemetry intake endpoint to Cloudflare Worker",
308
313
  "close orchestration measurement edge gaps",
309
314
  "harden orchestration telemetry coverage",
310
315
  "telemetry upload + RESUME storms + reviewer bottlenecks + DB consistency",
@@ -324,14 +329,13 @@
324
329
  "3-mode BEAM benchmark — FTS vs FTS+Graph vs Hybrid",
325
330
  "wire update.askexe.com — billing schema + non-fatal image credentials",
326
331
  "add 'never defer' platform procedure — fix it now or assign it now",
327
- "BEAM multi-tier support — 100K, 1M, 10M token scales",
328
- "MemoryAgentBench harness — ICLR 2026 benchmark",
329
- "support outbox flusher + list_tasks null fix + doctor outbox status",
330
- "bug report outbox flusher — reports reach AskExe even when daemon is dead",
331
- "add daily-summary CLI entry point + enable tsup build",
332
- "add daemon observability platform procedure"
332
+ "BEAM multi-tier support — 100K, 1M, 10M token scales"
333
333
  ],
334
334
  "fixes": [
335
+ "async worktree reaper — eliminates 30-min event loop blocks",
336
+ "simplify telemetry to once-per-day only",
337
+ "reduce telemetry batch cadence from 5min to 6h",
338
+ "prevent daemon telemetry checkpoint stalls",
335
339
  "add gateway tables to init-db.sql — prevents missing table on fresh deploys",
336
340
  "task test mock returns correct shape for createOrRefreshResumeTask",
337
341
  "embed RAM gate 16GB, paste-buffer -p, task dispatch repo + surfacing",
@@ -352,11 +356,7 @@
352
356
  "drop --strict-mcp-config from lean MCP — was blocking skill loading (/exe-intercom)",
353
357
  "zombie agent reaper never kills coordinator/exe session processes",
354
358
  "typecheck errors blocking publish — async embed alert + dead code cleanup",
355
- "session TTL uses registry registeredAt instead of tmux session_created",
356
- "CRM auth defaults + benchmark beam.ts updates",
357
- "enable GoTrue email auth by default in setup template",
358
- "intercom signal path in packaged source — ships to customers on npm install",
359
- "intercom signal path + registry consolidated to update.askexe.com"
359
+ "session TTL uses registry registeredAt instead of tmux session_created"
360
360
  ],
361
361
  "security": [
362
362
  "fix shell injection, SSRF, socket leaks, backup validation",
@@ -373,6 +373,8 @@
373
373
  "fix 4 pricing tier bypass vulnerabilities (audit F1-F4)"
374
374
  ],
375
375
  "other": [
376
+ "bump to v0.9.206",
377
+ "bump to v0.9.205",
376
378
  "bump to v0.9.204",
377
379
  "update release-notes.json",
378
380
  "bump stack manifest to v0.9.12 — CRM v0.9.44, exe-os v0.9.199",
@@ -395,16 +397,26 @@
395
397
  "bump to 0.9.197 — TTL fix + registry consolidation + TS fixes",
396
398
  "update all manifest images to update.askexe.com + compose + beam tuning",
397
399
  "bump to 0.9.196",
398
- "bump to 0.9.195",
399
- "bump to 0.9.194",
400
- "bump to 0.9.193"
400
+ "bump to 0.9.195"
401
401
  ],
402
402
  "migration_notes": []
403
403
  },
404
- "0.9.203": {
405
- "version": "0.9.203",
404
+ "0.9.205": {
405
+ "version": "0.9.205",
406
406
  "date": "2026-06-03",
407
407
  "features": [
408
+ "5-minute telemetry batching + per-tool-call usage in payload",
409
+ "disk outbox for failed telemetry + remote killswitch",
410
+ "auto-attach orchestration metrics to every bug report",
411
+ "auto-send daily telemetry from daemon",
412
+ "add telemetry intake endpoint to Cloudflare Worker",
413
+ "close orchestration measurement edge gaps",
414
+ "harden orchestration telemetry coverage",
415
+ "telemetry upload + RESUME storms + reviewer bottlenecks + DB consistency",
416
+ "harden orchestration measurement contract",
417
+ "add blocked duration + session duration latency metrics",
418
+ "complete orchestration measurement — all blind spots closed",
419
+ "full orchestration measurement — 38 event types across all blind spots",
408
420
  "expand orchestration measurement to full event coverage",
409
421
  "DB Authority Phase 1 — task claim and liveness schema",
410
422
  "browser prompt injection defense + persistent cookie jar",
@@ -417,21 +429,13 @@
417
429
  "3-mode BEAM benchmark — FTS vs FTS+Graph vs Hybrid",
418
430
  "wire update.askexe.com — billing schema + non-fatal image credentials",
419
431
  "add 'never defer' platform procedure — fix it now or assign it now",
420
- "BEAM multi-tier support — 100K, 1M, 10M token scales",
421
- "MemoryAgentBench harness — ICLR 2026 benchmark",
422
- "support outbox flusher + list_tasks null fix + doctor outbox status",
423
- "bug report outbox flusher — reports reach AskExe even when daemon is dead",
424
- "add daily-summary CLI entry point + enable tsup build",
425
- "add daemon observability platform procedure",
426
- "add retrieval architecture platform procedure for 8-16GB machines",
427
- "graceful shutdown warning via intercom 90s before idle kill",
428
- "upload pre-update snapshot to R2 before every stack-update",
429
- "encrypted daily VPS backups with R2 cloud upload",
430
- "conversation history import — parser + MCP tool + CLI",
431
- "add vps-backup + vps-health-gate scripts with stack-update integration",
432
- "add update_bug_report + update_feature_request MCP tools"
432
+ "BEAM multi-tier support — 100K, 1M, 10M token scales"
433
433
  ],
434
434
  "fixes": [
435
+ "simplify telemetry to once-per-day only",
436
+ "reduce telemetry batch cadence from 5min to 6h",
437
+ "prevent daemon telemetry checkpoint stalls",
438
+ "add gateway tables to init-db.sql — prevents missing table on fresh deploys",
435
439
  "task test mock returns correct shape for createOrRefreshResumeTask",
436
440
  "embed RAM gate 16GB, paste-buffer -p, task dispatch repo + surfacing",
437
441
  "full shard schema parity with main DB",
@@ -452,11 +456,7 @@
452
456
  "zombie agent reaper never kills coordinator/exe session processes",
453
457
  "typecheck errors blocking publish — async embed alert + dead code cleanup",
454
458
  "session TTL uses registry registeredAt instead of tmux session_created",
455
- "CRM auth defaults + benchmark beam.ts updates",
456
- "enable GoTrue email auth by default in setup template",
457
- "intercom signal path in packaged source — ships to customers on npm install",
458
- "intercom signal path + registry consolidated to update.askexe.com",
459
- "4 customer P2 bugs — CLI passthrough + agent casing + clipboard (#50)"
459
+ "CRM auth defaults + benchmark beam.ts updates"
460
460
  ],
461
461
  "security": [
462
462
  "fix shell injection, SSRF, socket leaks, backup validation",
@@ -473,6 +473,11 @@
473
473
  "fix 4 pricing tier bypass vulnerabilities (audit F1-F4)"
474
474
  ],
475
475
  "other": [
476
+ "bump to v0.9.205",
477
+ "bump to v0.9.204",
478
+ "update release-notes.json",
479
+ "bump stack manifest to v0.9.12 — CRM v0.9.44, exe-os v0.9.199",
480
+ "review full orchestration measurement coverage",
476
481
  "bump to v0.9.203",
477
482
  "capture orchestration measurement blind spots",
478
483
  "review push event orchestration roadmap",
@@ -492,12 +497,7 @@
492
497
  "update all manifest images to update.askexe.com + compose + beam tuning",
493
498
  "bump to 0.9.196",
494
499
  "bump to 0.9.195",
495
- "bump to 0.9.194",
496
- "bump to 0.9.193",
497
- "bump to 0.9.192",
498
- "bump to 0.9.191",
499
- "bump to 0.9.189",
500
- "bump to 0.9.188 — HYGO stack-update blockers fixed"
500
+ "bump to 0.9.194"
501
501
  ],
502
502
  "migration_notes": []
503
503
  }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes