@leadbay/mcp 0.32.6 → 0.33.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,67 @@
1
1
  # Changelog — @leadbay/mcp
2
2
 
3
+ ## 0.33.1 — 2026-09-02
4
+
5
+ Follow-up to 0.32.0 (product#4007). A review finding landed after the merge.
6
+
7
+ - **Only a REFUSAL counts as a commit failure.** The detached finisher's catch
8
+ recorded ANY rejection from the `pollPreprocess` → `commitMappings` chain as a
9
+ permanent commit failure — including the `ImportPhaseTimeout` raised when
10
+ preprocess still hasn't finished after the finisher's own 10-minute window.
11
+ That is not a backend refusal; the import is merely slow and may yet finish.
12
+ The registry has no expiry, so `leadbay_import_status` would have answered
13
+ `failed` for ever on a healthy import — worse than the forever-polling 0.32.0
14
+ set out to remove. A budget timeout now leaves the status at `committing`,
15
+ which is the honest reading; only an error from `commitMappings` itself is
16
+ recorded.
17
+ - The finisher's window is deliberately not caller-controllable — a caller
18
+ shrinking it is the bug that budget exists to prevent — so the test reaches it
19
+ through a named module seam beside the existing `clearCommitFailures`, rather
20
+ than a parameter that would leak into the tool's public schema.
21
+
22
+ ## 0.33.0 — 2026-09-01
23
+
24
+ Agent memory is removed (product#3996). The three `leadbay_agent_memory_*`
25
+ tools, `packages/core/src/agent-memory/`, the `agent-memory://summary`
26
+ resource, the `_meta.agent_memory` decoration and the `AGENT_MEMORY` server
27
+ instruction are all deleted.
28
+
29
+ **Why it goes rather than gets fixed.** The store was written when the MCP ran
30
+ on the user's own machine and no host had memory of its own. Both premises are
31
+ dead. Claude Cowork projects carry persistent memory into their scheduled
32
+ tasks, Claude chat memory shipped to all plans, ChatGPT has memory plus remote
33
+ connectors, and Codex reads the user's own file. Meanwhile the hosted server
34
+ writes to a container layer that Argo replaces on every image build, so ours
35
+ was strictly worse than the host's on the surface where it mattered most.
36
+
37
+ **Measured before deciding.** PostHog `mcp tool called`, tools matching
38
+ `%memory%`, 120 days, whole fleet: **121 captures, 30 recalls, 13 users.**
39
+ 79 of the 121 captures came from one hosted IP and stop on 2026-07-29. August
40
+ was 11 captures and 3 recalls. The feature wrote four times more than it was
41
+ read and almost nothing read it twice.
42
+
43
+ **What replaces it.** Reading that user's verbatim `triggered_by` sentences
44
+ rather than a summary of them, the largest group by far was targeting — *"je
45
+ vise en priorité les entreprises qui ont plus de 100 voitures dans leur parc"*,
46
+ *"les transporteurs ne sont pas forcément de bons prospects sauf ceux qui font
47
+ du last mile delivery"*. Stored as notes those changed one conversation. The
48
+ new `headers/durable-preferences` snippet, included by the seven prompts that
49
+ carried the memory preamble, routes them to `leadbay_refine_prompt` instead,
50
+ where they mutate `computing_intelligence` and change what the product finds
51
+ for the whole organization. A rejected lead goes to a dislike.
52
+
53
+ - `withAgentMemoryMeta` is unwrapped from nine composites. It called
54
+ `resolveMe()` on every invocation, so each of those tools loses a round-trip.
55
+ - `LEADBAY_AGENT_MEMORY`, `EV_AGENT_MEMORY_*` and the three
56
+ `captureAgentMemory*` telemetry methods are gone. Historical events stay in
57
+ PostHog; nothing new is emitted.
58
+ - `assembler.ts` no longer injects a memory pointer into routed tool
59
+ descriptions, and `memory_protocol` is removed from the frontmatter schema.
60
+ - Deliberately NOT landed: `agent-memory/durability.ts`, a boot-time warning
61
+ for an ephemeral memory root written while this was still going to be fixed
62
+ with a volume. With nothing writing to disk the condition it detects can no
63
+ longer occur, so it is not a safety net, it is dead code.
64
+
3
65
  ## 0.32.6 — 2026-09-01
4
66
 
5
67
  The 401 auto-retry is GET-only — replaying a write could double-execute a
package/README.md CHANGED
@@ -22,26 +22,18 @@ A Model Context Protocol server that lets Claude Desktop, Cursor, Claude Code, a
22
22
 
23
23
  > **Upgrading?** See [CHANGELOG](../../CHANGELOG.md) and [MIGRATION.md](./MIGRATION.md) for version-specific behavior changes. Key callout: composite write tools are **ON by default** since 0.3.0 — set `LEADBAY_MCP_WRITE=0` to restore read-only behavior.
24
24
 
25
- ## Agent memory
26
-
27
- Leadbay MCP keeps a local, per-account agent memory at
28
- `~/.leadbay/memory/{account_id}/`. It stores append-only JSONL learnings
29
- about user taste signals such as preferred sectors, regions, deal size,
30
- communication style, and qualification rules.
31
-
32
- The memory tools are always exposed:
33
-
34
- - `leadbay_agent_memory_recall` reads the consolidated top signals.
35
- - `leadbay_agent_memory_capture` appends a new learning after the user reveals
36
- a material preference.
37
- - `leadbay_agent_memory_review` lists entries and gates retractions or org
38
- promotion through user confirmation.
39
-
40
- The main leads-touching tools (`leadbay_account_status`,
41
- `leadbay_pull_leads`, `leadbay_pull_followups`,
42
- `leadbay_prepare_outreach`, `leadbay_research_lead_by_id`) also attach
43
- `_meta.agent_memory.summary` automatically. Set `LEADBAY_AGENT_MEMORY=off`
44
- to suppress this ambient metadata.
25
+ ## What Leadbay remembers
26
+
27
+ Leadbay stores nothing about how you like to work. Your assistant already does
28
+ that Claude, ChatGPT and Codex each keep their own memory of your tone,
29
+ naming and habits, and it survives across conversations without us.
30
+
31
+ What Leadbay stores is what changes **who it finds for you**. When you tell the
32
+ agent something about your market ("I target fleets over 100 vehicles",
33
+ "carriers are a bad fit unless they do last-mile"), it calls
34
+ `leadbay_refine_prompt`, and that reshapes your recommendations for your whole
35
+ organization in the web app too, on every refresh. A lead you reject is
36
+ recorded as a dislike, which feeds the recommender the same way.
45
37
 
46
38
  ## 1. Install
47
39