@askexenow/exe-os 0.9.150 → 0.9.153

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 (153) hide show
  1. package/dist/{backfill-metadata-7IANPCAL.js → backfill-metadata-PPI5QFYW.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 +5 -4
  9. package/dist/bin/cleanup-stale-review-tasks.js +2 -2
  10. package/dist/bin/cli.js +10 -10
  11. package/dist/bin/exe-agent.js +3 -3
  12. package/dist/bin/exe-assign.js +1 -1
  13. package/dist/bin/exe-boot.js +6 -6
  14. package/dist/bin/exe-call.js +3 -3
  15. package/dist/bin/exe-cloud.js +1 -1
  16. package/dist/bin/exe-dispatch.js +2 -2
  17. package/dist/bin/exe-doctor.js +1 -1
  18. package/dist/bin/exe-export-behaviors.js +2 -2
  19. package/dist/bin/exe-forget.js +3 -3
  20. package/dist/bin/exe-gateway.js +4 -4
  21. package/dist/bin/exe-heartbeat.js +2 -2
  22. package/dist/bin/exe-kill.js +3 -3
  23. package/dist/bin/exe-launch-agent.js +5 -5
  24. package/dist/bin/exe-new-employee.js +4 -4
  25. package/dist/bin/exe-pending-messages.js +3 -3
  26. package/dist/bin/exe-pending-notifications.js +2 -2
  27. package/dist/bin/exe-pending-reviews.js +2 -2
  28. package/dist/bin/exe-rename.js +3 -3
  29. package/dist/bin/exe-review.js +3 -3
  30. package/dist/bin/exe-search.js +2 -2
  31. package/dist/bin/exe-session-cleanup.js +11 -10
  32. package/dist/bin/exe-settings.js +1 -1
  33. package/dist/bin/exe-start-codex.js +5 -5
  34. package/dist/bin/exe-start-opencode.js +2 -2
  35. package/dist/bin/exe-status.js +3 -3
  36. package/dist/bin/exe-team.js +1 -1
  37. package/dist/bin/git-sweep.js +2 -2
  38. package/dist/bin/graph-backfill.js +1 -1
  39. package/dist/bin/graph-export.js +2 -2
  40. package/dist/bin/install.js +3 -3
  41. package/dist/bin/intercom-check.js +3 -3
  42. package/dist/bin/pre-publish.js +1 -1
  43. package/dist/bin/scan-tasks.js +2 -2
  44. package/dist/bin/setup.js +1 -1
  45. package/dist/bin/shard-migrate.js +1 -1
  46. package/dist/{capacity-monitor-J3SVO7LJ.js → capacity-monitor-5IVGAQ34.js} +2 -2
  47. package/dist/{catchup-brief-AIFZT456.js → catchup-brief-HFJR32Q3.js} +3 -3
  48. package/dist/{chunk-72XIEBYJ.js → chunk-25NSQUZ3.js} +1 -1
  49. package/dist/{chunk-Z43CJQ7T.js → chunk-3ZU7RTMF.js} +33 -7
  50. package/dist/{chunk-26VUCVSE.js → chunk-4IEQIUBZ.js} +1 -1
  51. package/dist/{chunk-EYTMNAU7.js → chunk-4PDXCEXT.js} +5 -5
  52. package/dist/{chunk-7JTZNHA4.js → chunk-4RKL53PD.js} +3 -2
  53. package/dist/{chunk-DJVXUJIR.js → chunk-5U5MI4VH.js} +29 -29
  54. package/dist/{chunk-GIAAHYMW.js → chunk-7WEVNBV2.js} +1 -1
  55. package/dist/{chunk-JM4A2E5A.js → chunk-AFMQR776.js} +1 -1
  56. package/dist/{chunk-3JR37K7C.js → chunk-AMVDQ7HH.js} +9 -5
  57. package/dist/{chunk-O2Y4WJYW.js → chunk-BPBUSSYF.js} +192 -5
  58. package/dist/{chunk-BQ3KXWA7.js → chunk-CBLNQNWT.js} +1 -1
  59. package/dist/{chunk-XQSGAG2G.js → chunk-CF4DZKKE.js} +1 -1
  60. package/dist/{chunk-DMBFPZOP.js → chunk-EYQ3DHHI.js} +3 -3
  61. package/dist/{chunk-X2XE65WV.js → chunk-H5STRY47.js} +9 -4
  62. package/dist/{chunk-7HONLLJ2.js → chunk-HZNQYDAN.js} +2 -2
  63. package/dist/{chunk-4K7HJL37.js → chunk-IWGGTD5D.js} +1 -1
  64. package/dist/{chunk-WR45FP7O.js → chunk-JJA6F6NA.js} +1 -1
  65. package/dist/{chunk-LJX5SV6L.js → chunk-JUM3EUB2.js} +2 -2
  66. package/dist/{chunk-IGYF67K3.js → chunk-L5WTOR3T.js} +2 -2
  67. package/dist/{chunk-3VHX5XFJ.js → chunk-LIJC4CRF.js} +1 -1
  68. package/dist/{chunk-FSH4VWSL.js → chunk-M37FGM3X.js} +2 -2
  69. package/dist/{chunk-XWQKCCCO.js → chunk-MWRHXGAB.js} +7 -0
  70. package/dist/{chunk-5NQKE3X4.js → chunk-OQYZQR24.js} +1 -1
  71. package/dist/{chunk-LLDY5HPV.js → chunk-PC6Y4ATU.js} +1 -1
  72. package/dist/{chunk-4WIWYUU2.js → chunk-PMCXWAVQ.js} +2 -2
  73. package/dist/{chunk-TCKZYGC5.js → chunk-SGLVCPZP.js} +1 -1
  74. package/dist/{chunk-XEH3USTI.js → chunk-SJKOILTX.js} +1 -1
  75. package/dist/{chunk-DSKUPORS.js → chunk-UQE5R5PM.js} +1 -1
  76. package/dist/{chunk-EEXG4ZJS.js → chunk-VJW3E5KW.js} +7 -7
  77. package/dist/{chunk-CRS6YTBM.js → chunk-WPNWFI4A.js} +1 -1
  78. package/dist/{chunk-GPHURFBS.js → chunk-WZMS6X56.js} +1 -1
  79. package/dist/{chunk-IT2JDL5L.js → chunk-XQC5BNCJ.js} +14 -9
  80. package/dist/{chunk-LBX2VQCC.js → chunk-YOH3ABTS.js} +1 -1
  81. package/dist/{crm-webhook-AJYXEFZD.js → crm-webhook-SOUYMO3X.js} +2 -2
  82. package/dist/{cto-delegation-gate-7OIN66NU.js → cto-delegation-gate-UGCMXYAO.js} +1 -1
  83. package/dist/{daemon-orchestration-EHONVEHN.js → daemon-orchestration-MD34RKQZ.js} +3 -3
  84. package/dist/{exe-export-IVFME5VN.js → exe-export-UDQU7MMM.js} +3 -3
  85. package/dist/{exe-import-O76AYBUE.js → exe-import-OY42LQL4.js} +3 -3
  86. package/dist/{fast-db-init-NCOIEAM6.js → fast-db-init-TLOT2K43.js} +1 -1
  87. package/dist/gateway/index.js +5 -5
  88. package/dist/{git-task-sweep-NOXCELFQ.js → git-task-sweep-D4IKRGCV.js} +2 -2
  89. package/dist/{global-procedures-FXWQ35RU.js → global-procedures-ISPSC4B5.js} +2 -2
  90. package/dist/{hook-integrity-PR4BPZBT.js → hook-integrity-SA7S2SNI.js} +1 -1
  91. package/dist/hooks/bug-report-worker.js +3 -3
  92. package/dist/hooks/codex-stop-task-finalizer.js +3 -3
  93. package/dist/hooks/commit-complete.js +4 -4
  94. package/dist/hooks/error-recall.js +2 -2
  95. package/dist/hooks/ingest.js +6 -6
  96. package/dist/hooks/instructions-loaded.js +1 -1
  97. package/dist/hooks/notification.js +1 -1
  98. package/dist/hooks/post-compact.js +2 -2
  99. package/dist/hooks/post-tool-combined.js +2 -2
  100. package/dist/hooks/pre-compact.js +3 -3
  101. package/dist/hooks/pre-tool-use.js +6 -6
  102. package/dist/hooks/prompt-submit.js +102 -38
  103. package/dist/hooks/session-end.js +6 -6
  104. package/dist/hooks/session-start.js +5 -5
  105. package/dist/hooks/stop.js +5 -5
  106. package/dist/hooks/subagent-stop.js +2 -2
  107. package/dist/hooks/summary-worker.js +5 -5
  108. package/dist/index.js +8 -8
  109. package/dist/{installer-5NAISFMT.js → installer-3YHQ5DJZ.js} +2 -2
  110. package/dist/{installer-FTGXXYRA.js → installer-4YIOBAFV.js} +2 -2
  111. package/dist/{installer-Q4IWV2GB.js → installer-SPQDAGPW.js} +2 -2
  112. package/dist/lib/cloud-sync.js +1 -1
  113. package/dist/lib/consolidation.js +2 -2
  114. package/dist/lib/employee-templates.js +3 -3
  115. package/dist/lib/exe-daemon.js +51 -34
  116. package/dist/lib/hybrid-search.js +2 -2
  117. package/dist/lib/messaging.js +2 -2
  118. package/dist/lib/schedules.js +2 -2
  119. package/dist/lib/store.js +1 -1
  120. package/dist/lib/tasks.js +2 -2
  121. package/dist/lib/tmux-routing.js +1 -1
  122. package/dist/mcp/register-tools.js +25 -25
  123. package/dist/mcp/server.js +26 -26
  124. package/dist/mcp/tools/create-task.js +3 -3
  125. package/dist/mcp/tools/list-tasks.js +3 -3
  126. package/dist/mcp/tools/send-message.js +3 -3
  127. package/dist/mcp/tools/update-task.js +3 -3
  128. package/dist/{mcp-http-config-PSQCITKG.js → mcp-http-config-JBNX3DAR.js} +1 -1
  129. package/dist/{notifications-LD563XOM.js → notifications-76XXO4Q7.js} +1 -1
  130. package/dist/{orchestrator-WQGPXMLN.js → orchestrator-XAT2JSBT.js} +2 -2
  131. package/dist/{push-notifications-KDYFOJRI.js → push-notifications-NSYLKFXR.js} +1 -1
  132. package/dist/{review-polling-J3R7MLT4.js → review-polling-E24XBNSI.js} +2 -2
  133. package/dist/runtime/index.js +3 -3
  134. package/dist/{session-events-XDDQ3M4A.js → session-events-CCXFQRFW.js} +2 -2
  135. package/dist/{session-scope-6MAGVHBA.js → session-scope-7QCZF3MJ.js} +1 -1
  136. package/dist/{setup-wizard-WJ73A2FY.js → setup-wizard-FA6YEYER.js} +1 -1
  137. package/dist/signal-paths-4GOIRLGH.js +19 -0
  138. package/dist/{task-enforcement-3RV64YVR.js → task-enforcement-NITY7TBM.js} +1 -1
  139. package/dist/{task-scope-2T3WIQQY.js → task-scope-YZDSPORL.js} +1 -1
  140. package/dist/{tasks-crud-B2BGA44L.js → tasks-crud-W5BFKNUS.js} +1 -1
  141. package/dist/{tasks-review-ZO3QDMT7.js → tasks-review-VXMELVLA.js} +1 -1
  142. package/dist/tui/App.js +10 -10
  143. package/dist/{tui-data-UAPARPDX.js → tui-data-FQYUPCYX.js} +1 -1
  144. package/dist/{worker-gate-TG6PR2S5.js → worker-gate-OZCNSASA.js} +1 -1
  145. package/dist/{workflow-engine-VIFLD5IV.js → workflow-engine-DA3AWD45.js} +2 -2
  146. package/package.json +1 -1
  147. package/release-notes.json +104 -104
  148. /package/dist/{chunk-II3NQJGV.js → chunk-U3B3TVLQ.js} +0 -0
  149. /package/dist/{chunk-34XNU32S.js → chunk-UIOTTKLS.js} +0 -0
  150. /package/dist/{chunk-OLVZBBVO.js → chunk-YABPRFBT.js} +0 -0
  151. /package/dist/{chunk-BF4W2VDS.js → chunk-YH7VB655.js} +0 -0
  152. /package/dist/{core-memory-MT7P34HU.js → core-memory-ONZIJYGR.js} +0 -0
  153. /package/dist/{exe-key-6HV5GYHH.js → exe-key-FC67RNXI.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveExeSession
3
- } from "./chunk-EYTMNAU7.js";
3
+ } from "./chunk-4PDXCEXT.js";
4
4
  import "./chunk-LOQCOHEW.js";
5
5
  import "./chunk-TXSJ2L5O.js";
6
6
  import {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  runSetupWizard,
3
3
  validateModel
4
- } from "./chunk-OLVZBBVO.js";
4
+ } from "./chunk-YABPRFBT.js";
5
5
  import "./chunk-6D23UNXU.js";
6
6
  import "./chunk-TOWAZ5IV.js";
7
7
  import "./chunk-LYH5HE24.js";
@@ -0,0 +1,19 @@
1
+ import "./chunk-MLKGABMK.js";
2
+
3
+ // src/lib/signal-paths.ts
4
+ import { join } from "path";
5
+ import { homedir } from "os";
6
+ function taskSignalDir(sessionScope) {
7
+ return join(homedir(), ".exe-os", "task-signals", sessionScope);
8
+ }
9
+ function taskSignalPath(sessionScope, agent, taskId) {
10
+ return join(taskSignalDir(sessionScope), `${agent}.${taskId}.pending`);
11
+ }
12
+ function reviewSignalPath(sessionScope, reviewer, taskId) {
13
+ return join(taskSignalDir(sessionScope), `${reviewer}.review-${taskId}.pending`);
14
+ }
15
+ export {
16
+ reviewSignalPath,
17
+ taskSignalDir,
18
+ taskSignalPath
19
+ };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  sendIntercom,
3
3
  updateTaskStatus
4
- } from "./chunk-EYTMNAU7.js";
4
+ } from "./chunk-4PDXCEXT.js";
5
5
  import "./chunk-LOQCOHEW.js";
6
6
  import "./chunk-TXSJ2L5O.js";
7
7
  import "./chunk-64WZEXXA.js";
@@ -2,7 +2,7 @@ import {
2
2
  getCurrentSessionScope,
3
3
  sessionScopeFilter,
4
4
  strictSessionScopeFilter
5
- } from "./chunk-EYTMNAU7.js";
5
+ } from "./chunk-4PDXCEXT.js";
6
6
  import "./chunk-LOQCOHEW.js";
7
7
  import "./chunk-TXSJ2L5O.js";
8
8
  import "./chunk-64WZEXXA.js";
@@ -14,7 +14,7 @@ import {
14
14
  slugify,
15
15
  updateTaskStatus,
16
16
  writeCheckpoint
17
- } from "./chunk-EYTMNAU7.js";
17
+ } from "./chunk-4PDXCEXT.js";
18
18
  import "./chunk-LOQCOHEW.js";
19
19
  import "./chunk-TXSJ2L5O.js";
20
20
  import "./chunk-64WZEXXA.js";
@@ -8,7 +8,7 @@ import {
8
8
  getReviewChecklist,
9
9
  isStale,
10
10
  listPendingReviews
11
- } from "./chunk-EYTMNAU7.js";
11
+ } from "./chunk-4PDXCEXT.js";
12
12
  import "./chunk-LOQCOHEW.js";
13
13
  import "./chunk-TXSJ2L5O.js";
14
14
  import "./chunk-64WZEXXA.js";
package/dist/tui/App.js CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getSessionPrompt
4
- } from "../chunk-LLDY5HPV.js";
5
- import "../chunk-LBX2VQCC.js";
6
- import "../chunk-XWQKCCCO.js";
4
+ } from "../chunk-PC6Y4ATU.js";
5
+ import "../chunk-YOH3ABTS.js";
6
+ import "../chunk-MWRHXGAB.js";
7
7
  import {
8
8
  sessionScopeFilter
9
- } from "../chunk-EYTMNAU7.js";
9
+ } from "../chunk-4PDXCEXT.js";
10
10
  import "../chunk-LOQCOHEW.js";
11
11
  import "../chunk-TXSJ2L5O.js";
12
12
  import "../chunk-64WZEXXA.js";
@@ -7397,7 +7397,7 @@ function useOrchestrator(enabled = true) {
7397
7397
  let cancelled = false;
7398
7398
  async function init() {
7399
7399
  try {
7400
- const { MultiAgentOrchestrator } = await import("../orchestrator-WQGPXMLN.js");
7400
+ const { MultiAgentOrchestrator } = await import("../orchestrator-XAT2JSBT.js");
7401
7401
  const { getCoordinatorName, isCoordinatorRole, loadEmployees } = await import("../lib/employees.js");
7402
7402
  const { isExeSession } = await import("../lib/tmux-routing.js");
7403
7403
  const { listTmuxSessions, inTmux } = await import("../lib/tmux-status.js");
@@ -7438,7 +7438,7 @@ function useOrchestrator(enabled = true) {
7438
7438
  setTotalInProgress(health.totalInProgress);
7439
7439
  try {
7440
7440
  const { getClient } = await import("../lib/database.js");
7441
- const { sessionScopeFilter: sessionScopeFilter2 } = await import("../task-scope-2T3WIQQY.js");
7441
+ const { sessionScopeFilter: sessionScopeFilter2 } = await import("../task-scope-YZDSPORL.js");
7442
7442
  const client = getClient();
7443
7443
  const uoScope = sessionScopeFilter2();
7444
7444
  const result = await client.execute({
@@ -7470,7 +7470,7 @@ function useOrchestrator(enabled = true) {
7470
7470
  const spawnSession = useCallback5(
7471
7471
  async (agentId) => {
7472
7472
  try {
7473
- const { createTaskCore } = await import("../tasks-crud-B2BGA44L.js");
7473
+ const { createTaskCore } = await import("../tasks-crud-W5BFKNUS.js");
7474
7474
  const { ensureEmployee } = await import("../lib/tmux-routing.js");
7475
7475
  const { getCoordinatorName } = await import("../lib/employees.js");
7476
7476
  await createTaskCore({
@@ -8092,7 +8092,7 @@ function TasksView({ onBack }) {
8092
8092
  const { withTrace } = await import("../telemetry-43X3GT3R.js");
8093
8093
  return withTrace("tui.tasks.loadTasks", async () => {
8094
8094
  try {
8095
- const { loadTaskList } = await import("../tui-data-UAPARPDX.js");
8095
+ const { loadTaskList } = await import("../tui-data-FQYUPCYX.js");
8096
8096
  const tasks = await loadTaskList();
8097
8097
  setAllTasks(
8098
8098
  tasks.map((task) => ({
@@ -8925,7 +8925,7 @@ function TeamView({ onBack, onViewSessions }) {
8925
8925
  let projectsByEmployee = /* @__PURE__ */ new Map();
8926
8926
  let currentTaskByEmployee = /* @__PURE__ */ new Map();
8927
8927
  try {
8928
- const { loadTeamBadgeCounts, loadTeamDetailMetrics } = await import("../tui-data-UAPARPDX.js");
8928
+ const { loadTeamBadgeCounts, loadTeamDetailMetrics } = await import("../tui-data-FQYUPCYX.js");
8929
8929
  setBadgeInFlight(true);
8930
8930
  const badgeCountsPromise = loadTeamBadgeCounts();
8931
8931
  const detailsPromise = loadTeamDetailMetrics(roster.map((emp) => emp.name));
@@ -9291,7 +9291,7 @@ function WikiView({ onBack }) {
9291
9291
  }
9292
9292
  setSearchLoading(true);
9293
9293
  try {
9294
- const { searchWikiMemoryRows } = await import("../tui-data-UAPARPDX.js");
9294
+ const { searchWikiMemoryRows } = await import("../tui-data-FQYUPCYX.js");
9295
9295
  setSearchResults(await searchWikiMemoryRows(query));
9296
9296
  } catch {
9297
9297
  setSearchResults([]);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-EYTMNAU7.js";
3
+ } from "./chunk-4PDXCEXT.js";
4
4
  import "./chunk-LOQCOHEW.js";
5
5
  import "./chunk-TXSJ2L5O.js";
6
6
  import "./chunk-64WZEXXA.js";
@@ -6,7 +6,7 @@ import {
6
6
  releaseBackfillLock,
7
7
  tryAcquireBackfillLock,
8
8
  tryAcquireWorkerSlot
9
- } from "./chunk-3VHX5XFJ.js";
9
+ } from "./chunk-LIJC4CRF.js";
10
10
  import "./chunk-TOWAZ5IV.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-BQ3KXWA7.js";
14
- import "./chunk-BF4W2VDS.js";
13
+ } from "./chunk-CBLNQNWT.js";
14
+ import "./chunk-YH7VB655.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.150",
3
+ "version": "0.9.153",
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,6 +1,109 @@
1
1
  {
2
- "current": "0.9.150",
2
+ "current": "0.9.153",
3
3
  "notes": {
4
+ "0.9.153": {
5
+ "version": "0.9.153",
6
+ "date": "2026-05-28",
7
+ "features": [
8
+ "4 retrieval improvements — query expansion, stop words, contradiction resolution, abstention",
9
+ "competitive roadmap — serverless tier, identity depth, self-improving skills, user modeling",
10
+ "run database migrations before container swap in stack-update",
11
+ "graph auto-extract from ARCHITECTURE.md — regex-based entity/relationship extraction",
12
+ "migrate cloud.askexe.com → api.askexe.com as canonical endpoint",
13
+ "federated recall — code_context + graph fallback when memory results weak",
14
+ "migrate cloud.askexe.com → api.askexe.com across all src/ defaults",
15
+ "rolling restart in stack-update — one service at a time with health verification",
16
+ "DMR benchmark harness + LoCoMo improvements for v0.9.145 evaluation",
17
+ "Windows/WSL support — WezTerm config + WSL detection in setup wizard",
18
+ "queryTaskRows() consolidation — single scoped query path for all task list operations",
19
+ "review signal files — reliable reviewer notification on update_task(done)",
20
+ "Ghostty-native notifications via OSC 9 — no more Script Editor popup",
21
+ "device-scoped behaviors — device_id column + filter in loading",
22
+ "dispatch reliability — 45s boot timeout, dispatch ack signals, agent heartbeat",
23
+ "setup wizard headless mode + daemon health check after restart",
24
+ "device-scoped behaviors — add device_id column + filter on load",
25
+ "gateway prompt injection defense — 3-tier security hardening",
26
+ "add diagnostics(action=\"merge_agent_memories\") for reassigning memories across agent IDs",
27
+ "add task dependency tree visualization (action=dependency_tree)",
28
+ "graceful COO auto-relaunch after context-full exit",
29
+ "desktop push notifications on task completion (macOS/Linux)",
30
+ "rename GHCR image exed → exe-os across all deploy/stack references",
31
+ "passive daemon-restart detection — agents get one-time /mcp notice",
32
+ "daemon restart orchestrator — single authority for all restart decisions"
33
+ ],
34
+ "fixes": [
35
+ "add memory_type to crdt-sync MemoryRecord interface — unblocks publish",
36
+ "session-scope daemon, push, capacity, cleanup (P0 #7-#9, #13)",
37
+ "include memory_type in cloud sync push/pull + fix backfill re-sync",
38
+ "session-scope signal file system — prevent cross-session task/review bleed",
39
+ "session-scope notification routing — use row.session_scope over ambient",
40
+ "daemon NEVER guesses session from tmux — header-only routing",
41
+ "3 daemon bugs — context-full TTL override, API watchdog kill-after-3, idle-kill verify",
42
+ "federated recall always searches code_context + graph — count threshold was useless",
43
+ "make cross-repo guardrail task-aware — allow multi-repo work when task scope permits",
44
+ "ONE postgres — replace crm-postgres with exe-db across entire stack",
45
+ "smart session-scoping gate + last boot cleanup leak + triage_bug docs",
46
+ "add shipped_version to support triage + clean platform procedures",
47
+ "close remaining session-scoping findings from Bob's audit",
48
+ "close 3 more session-scoping leaks from Bob's audit (LEAK-4, LEAK-7, LEAK-8)",
49
+ "close 8 session-scoping leaks — daemon ALS trust + review cleanup + close-task + inbox",
50
+ "correct graph column names in federated recall query",
51
+ "diagnostics check_update ENOENT + healthcheck timeout",
52
+ "review notifications never reached reviewer — signal file gate was dead code",
53
+ "remove osascript fallback — desktop notifications use OSC 9 only on macOS",
54
+ "generate valid UUIDs in projection worker stableId + add wiki.* projection",
55
+ "RSS backpressure + safe Metal shutdown for embedding daemon OOM",
56
+ "multi-Tom dispatch — per-task signal files + atomic claim + herd prevention",
57
+ "restrict project_name='all' to coordinators only in list_tasks",
58
+ "CRM Dockerfile multi-arch — BUILDPLATFORM for build stages, rebuild bcrypt",
59
+ "enhance intercom log with caller/task/trigger metadata for tracing"
60
+ ],
61
+ "security": [
62
+ "fix shell injection, SSRF, socket leaks, backup validation",
63
+ "bump v0.9.139 — 2 CRITICAL security fixes, 14 bug fixes, 6 features, customer config preservation",
64
+ "fix 2 CRITICAL + 1 HIGH from post-fix audit",
65
+ "validate X-Agent-Role against roster — prevent privilege escalation",
66
+ "release: stack v0.9.8 — security hardening + Hygo bug fixes",
67
+ "add webhook HMAC-SHA256 validation + disable query param auth in prod",
68
+ "pin GitHub Actions to SHAs, update jose to 6.2.3",
69
+ "harden support intake against abuse and data leakage",
70
+ "bump to v0.9.22 — Codex MCP parity + customer bug fixes + security audit remediation",
71
+ "audit: pre-hygo exe-gateway security report",
72
+ "add SECURITY.md — trust document for pre-install security evaluation",
73
+ "fix 4 pricing tier bypass vulnerabilities (audit F1-F4)"
74
+ ],
75
+ "other": [
76
+ "capture data pipeline spec — raw → filter → wiki + CRM projection",
77
+ "bump to v0.9.149 — task lifecycle simplification + review notification fix",
78
+ "capture gateway connection observability requirements (2026-05-28)",
79
+ "bump to v0.9.146 for publish",
80
+ "Windows support architecture — WezTerm + WSL decision (2026-05-27)",
81
+ "Merge branch 'tom4-work' — device-scoped behaviors + push-notification fix",
82
+ "bump to v0.9.145 for publish",
83
+ "revert: keep workflow files unchanged — GitHub OAuth blocks workflow scope",
84
+ "stage remaining Yoshi fixes — features + bug cleanup",
85
+ "add tests for daemon restart orchestrator module",
86
+ "publish v0.9.144 — ESM require() fix + reliable task signals + OAuth 2.1",
87
+ "add MCP tool tests for message, cloud-sync, and file-copy",
88
+ "add coverage for send_message, cloud_sync, file_copy MCP tools (Track A)",
89
+ "Recover MCP sessions after daemon restart",
90
+ "publish v0.9.143 — all fixes live",
91
+ "publish v0.9.142",
92
+ "publish v0.9.141",
93
+ "ops: journalctl rotation + certbot expiry alerting",
94
+ "revert: daemon heap back to 33% of RAM — no artificial cap",
95
+ "v0.9.140 publish + heap cap 4GB (was 33% unbounded)",
96
+ "PG-1 cross-repo entity federation design document",
97
+ "add lint step + automated npm publish workflow",
98
+ "audit: scoped SQL + package budget + TUI vendored + TODO classification",
99
+ "add full readiness audit evidence",
100
+ "roadmap: Cross-Repo Ontology — Palantir-level graph (PG-1 through PG-10)"
101
+ ],
102
+ "migration_notes": [
103
+ "If daemon goes down, agents will now fail instead of silently",
104
+ "exe-daemon.ts kills old embed.pid process and cleans up"
105
+ ]
106
+ },
4
107
  "0.9.150": {
5
108
  "version": "0.9.150",
6
109
  "date": "2026-05-28",
@@ -412,109 +515,6 @@
412
515
  "If daemon goes down, agents will now fail instead of silently",
413
516
  "exe-daemon.ts kills old embed.pid process and cleans up"
414
517
  ]
415
- },
416
- "0.9.141": {
417
- "version": "0.9.141",
418
- "date": "2026-05-26",
419
- "features": [
420
- "entity type hierarchy — subtypes with rollup queries (PG-2)",
421
- "temporal validity windows for graph queries (PG-3)",
422
- "backup restore CLI + restoreBackup function",
423
- "ESLint setup + dependency hygiene + any type reduction",
424
- "config(action=\"hire\") MCP tool — COO can hire employees directly",
425
- "GM (General Manager) role template + hiring guidance",
426
- "merge gate warning in close_task — catches unmerged PRs",
427
- "behavior hygiene — platform procedure + COO identity + company procedure",
428
- "MCP auto-reconnect to daemon — survives deploy restarts transparently",
429
- "event-driven notifications — stop polling managers, let task state drive everything",
430
- "MCP disconnect tracker + daemon observability",
431
- "MCP lifecycle logging to file — FULL transparency on every disconnect",
432
- "automatic P0 bug fixing — daemon auto-dispatch + GitHub Actions fallback",
433
- "enforce worktrees for engineer sessions — prevent direct main commits",
434
- "multi-device coordination — routing, handoff, device status",
435
- "hook tamper protection — SHA-256 manifest + verification before spawn",
436
- "governed collaborative memory — visibility tags + write governance",
437
- "cache-sharing protocol — pub/sub memory bus for inter-agent sharing",
438
- "multi-modal memory — media attachments on memories",
439
- "comprehensive \"last 20%\" integration tests + audit_trail read path",
440
- "wire memory poisoning defense into writeMemory() pipeline",
441
- "memory poisoning defense — trust levels, anomaly detection, quarantine",
442
- "VPS Phase 4 — media→R2 bridge + cross-product queries + migration CLI",
443
- "Palantir typed ontology — schema, validation, temporal edges",
444
- "R2 media storage client — shared upload/download for all products"
445
- ],
446
- "fixes": [
447
- "stale task escalation — surface alive-but-stalled agents to COO",
448
- "cloud sync upsert + entity type hierarchy + temporal validity + file_copy security",
449
- "daemon memory leak + duplicate watchdog + HTTP body limit + WAL flush",
450
- "heap pressure alarm was false positive — compared heapUsed/heapTotal instead of heapUsed/heapLimit",
451
- "strengthen scoped SQL audit — cover UPDATE/INSERT, expand exemptions",
452
- "hard block tmux send-keys for non-coordinator agents",
453
- "MCP disconnect procedure — explicitly block tmux send-keys workaround",
454
- "file_copy MCP tool — path boundary enforcement + symlink traversal block",
455
- "cloud sync task pull uses ON CONFLICT upsert with updated_at guard",
456
- "multi-instance Tom dispatch — create_task fans out to tom2, tom3",
457
- "atomic writes for agent-config.json, roster (orchestration + rename)",
458
- "atomic JSON writes + config.json corruption recovery",
459
- "boot poll timeout no longer fails dispatch — session exists, task pending",
460
- "master key clobber guard + COO naming in user-facing strings",
461
- "MCP port retry + instant embed skip when OOM marker set",
462
- "install.ts uses spawn lock + SIGTERM grace + restart cooldown",
463
- "daemon restart hardening — OOM guard + 60s cooldown + health check guard",
464
- "stop daemon crash loop — embed client no longer kills daemon when OOM marker set",
465
- "support endpoints askexe.com → cloud.askexe.com (bypass CF WAF)",
466
- "reduce any types 68→52, typed adapter factories + HTTP responses",
467
- "pg pool limits, queue overflow health log, any reduction 71→68",
468
- "reduce any types 81→71, tighten lint budget to 72",
469
- "/exe-afk detects non-tmux sessions, suggests /loop instead",
470
- "cross-repo boundary — platform procedure + pre-tool-use guard",
471
- "UNIQUE dedup index + dependency hygiene + ESM import fix"
472
- ],
473
- "security": [
474
- "fix shell injection, SSRF, socket leaks, backup validation",
475
- "bump v0.9.139 — 2 CRITICAL security fixes, 14 bug fixes, 6 features, customer config preservation",
476
- "fix 2 CRITICAL + 1 HIGH from post-fix audit",
477
- "validate X-Agent-Role against roster — prevent privilege escalation",
478
- "release: stack v0.9.8 — security hardening + Hygo bug fixes",
479
- "add webhook HMAC-SHA256 validation + disable query param auth in prod",
480
- "pin GitHub Actions to SHAs, update jose to 6.2.3",
481
- "harden support intake against abuse and data leakage",
482
- "bump to v0.9.22 — Codex MCP parity + customer bug fixes + security audit remediation",
483
- "audit: pre-hygo exe-gateway security report",
484
- "add SECURITY.md — trust document for pre-install security evaluation",
485
- "fix 4 pricing tier bypass vulnerabilities (audit F1-F4)"
486
- ],
487
- "other": [
488
- "ops: journalctl rotation + certbot expiry alerting",
489
- "revert: daemon heap back to 33% of RAM — no artificial cap",
490
- "v0.9.140 publish + heap cap 4GB (was 33% unbounded)",
491
- "PG-1 cross-repo entity federation design document",
492
- "add lint step + automated npm publish workflow",
493
- "audit: scoped SQL + package budget + TUI vendored + TODO classification",
494
- "add full readiness audit evidence",
495
- "roadmap: Cross-Repo Ontology — Palantir-level graph (PG-1 through PG-10)",
496
- "capture mcp restart self-healing roadmap",
497
- "Enforce chain of command task review parity",
498
- "document raw SQL fallback in orchestrator auto-approve path",
499
- "Finalize orchestration rollout fixes",
500
- "Scope device governance task queries",
501
- "bump v0.9.138 — 7 critical bug fixes, 10 features, 16 commits",
502
- "bump v0.9.137 — Memanto typed schema, push notifications, lazy consolidation",
503
- "bump v0.9.136 — daemon OOM fix, process monitor, auto-notify reviewer",
504
- "bump v0.9.135 — code debt cleanup, 28 new tests, full observability",
505
- "Codex MCP regression tests (18) + DB singleton integration tests (10)",
506
- "release notes for v0.9.134",
507
- "benchmark score entry for f95b862",
508
- "add GitHub Actions CI pipeline — build + test on push",
509
- "gitignore GitHub workflows — add via web UI instead",
510
- "remove ci.yml — GitHub token lacks workflow scope, will add via web UI",
511
- "gitignore — add dist-next, db.sqlite, .wrangler; remove temp scripts",
512
- "accumulated fixes — hooks, adapters, config, cloud-sync, rate-limiter, CI pipeline"
513
- ],
514
- "migration_notes": [
515
- "If daemon goes down, agents will now fail instead of silently",
516
- "exe-daemon.ts kills old embed.pid process and cleans up"
517
- ]
518
518
  }
519
519
  }
520
520
  }
File without changes
File without changes
File without changes
File without changes