Skip to content

zzhang82/Agent-Memory-Bridge

v0.22.3 Breaking

This release includes 3 breaking changes for platform teams planning a safe upgrade.

Published 6d MCP Developer Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agent-memory ai-agents claude cline codex coding-agents
+10 more
cursor developer-tools llm local-first mcp mcp-server model-context-protocol persistent-memory python sqlite

Summary

AI summary

Polling now returns Signals in insertion order and restricts ack to lease owners.

Full changelog

v0.22.3 - Correctness Hardening

Agent Memory Bridge 0.22.3 closes verified correctness gaps in the existing
local coordination and promotion paths without adding MCP tools.

0.22.3 = insertion-ordered Signal polling, owner-matched active-claim ack, metadata-preserving promotion, and non-blocking operational output.

What Changed

  • Signal polling through recall(..., since=...) now returns later insertions
    in ascending order, so a page limit cannot strand older unseen Signals.
  • Polling rejects missing, deleted, and cross-namespace anchors instead of
    silently replaying from the beginning. Text and memory recall no longer emit
    a reusable polling cursor.
  • An active claimed Signal can be acknowledged only by its current lease owner.
    Pending, unclaimed Signals retain the existing ownerless-ack behavior.
  • Relation, promotion, and lineage readers now share one structured-record
    scanner with normalized keys and deterministic duplicate-field handling.
  • Promotion keeps relation, validity, content-lineage, and database-lineage
    metadata. FTS is refreshed, and cached embeddings remain detectably stale
    until the normal rebuild path replaces them.
  • Operational and telemetry JSONL write failures are sanitized and reported to
    stderr without changing the result of an already committed database action.
  • The regression suite includes an eight-process exact-ID claim test and
    focused coverage for polling, ack ownership, parser consistency, promotion,
    and post-commit output failures.

Why It Matters

The affected paths could previously skip Signals across paginated polling,
allow a non-owner to close claimed work, or discard governance metadata during
promotion. These are correctness failures in the existing contract, so this
patch fixes them before the next reliability release adds more maintenance and
service hardening.

Validation

  • pytest: 405 passed
  • 10,000-Signal local acceptance with limit=100: exact insertion order,
    10,000 unique IDs, 0 missing, and 0 unexpected across 100 pages
  • exact-ID claim contention: eight independent processes, one winner
  • release, public-surface, and onboarding contracts: passed locally
  • public MCP surface: unchanged at 10 tools
  • GitHub release gate: all nine matrix jobs must be green before tagging

Boundaries

Polling is an insertion-only local SQLite/WAL contract. It is not exactly-once
delivery, a distributed queue, a scheduler, or a distributed lock. Claim owner
labels are declared client identities rather than authenticated principals, and
namespaces remain organizational labels rather than access-control boundaries.

This patch does not add Signal idempotency keys, mandatory governed writes,
formal schema-version migrations, service-lane isolation, a vector index, or
new MCP tools. Those concerns remain separate from the verified correctness
fixes shipped here.

Breaking Changes

  • recall(..., since=...) now returns later insertions in ascending insertion order instead of relying on a cursor
  • Polling rejects missing, deleted, and cross‑namespace anchors rather than silently replaying from the beginning
  • Active claimed Signal ack is limited to its current lease owner; unclaimed Signals retain previous ownerless‑ack behavior

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track zzhang82/Agent-Memory-Bridge

Get notified when new releases ship.

Sign up free

About zzhang82/Agent-Memory-Bridge

MCP-native, local-first memory for coding agents that turns coding sessions into reusable engineering memory: decisions, gotchas, and domain knowledge.

All releases →

Related context

Earlier breaking changes

  • v0.21.0 Procedures with declared domains are rejected for mismatched task domains; legacy unscoped procedures now emit a warning instead of auto‑assigning policy.

Beta — feedback welcome: [email protected]