Skip to content

v0.2.82

Choose a tag to compare

@github-actions github-actions released this 25 May 09:23
· 1 commit to main since this release

What's new in v0.2.82

Two server-only bug fixes found while exercising brain_recall after the
v0.2.77 → v0.2.81 redesign series. Both are contract violations rather than
crashes — agents could call brain_recall and get answers, but the answers
diverged from the design spec in subtle ways.

Fixed: sort=recent default ignored on the browse path

When brain_recall is called with no query (e.g. "list my recent
notes", or "give me anything tagged project:alpha"), the design spec says
the default sort should be recent — order by created DESC. The browse
path in src/tools/recall.ts and pro/cloud-server/src/tools/recall.ts
instead hardcoded orderBy: 'heat DESC'. Result: "show me the latest" was
silently returning the hottest nodes regardless of recency.

The fix reads input.sort and respects the design contract:

  • No query + no explicit sort, or sort='recent'created DESC
  • No query + sort='relevance'heat DESC (nothing to compute
    relevance against, heat is the closest proxy)

If you were getting "stale" results when asking your agent to list recent
activity, this is why.

Fixed: only-context calls were silently running an empty pipeline

The handler precheck used hasSearchDim = query !== undefined || context !== undefined to decide whether to reject empty-input calls. But per design
§5.2, context alone is not a search dimension — it's metadata that
tells the recall pipeline why a query was issued, not what to embed.

So a call like brain_recall({ context: "..." }) with no query, no
filters, and no override would pass the precheck, fall through to the
browse path, and return random recent nodes — confusingly attributed to the
context string the agent provided.

The fix:

  • context removed from hasSearchDim.
  • Error message updated to explicitly say "context 单独传无效,需要配合
    query".
  • Symmetric change in both local and cloud handlers.

What you need to do

  1. Update TideMind to v0.2.82 (automatic).
  2. Restart any external agents (Claude Desktop / Claude Code / Cursor /
    Codex CLI) once so their MCP server subprocess picks up the new
    build.
  3. No Skill regeneration needed — the agent prompt is unchanged. Only the
    server's interpretation of two existing behaviors moved closer to the
    design contract.

Apology

That's six releases in 36 hours covering the same redesign (v0.2.77 → 78 →
79 → 80 → 81 → 82). The pattern is real: server-only contract drift slips
past the existing release verifier because it only exercises the cloud
endpoint and the update API, not the local recall pipeline against the
design spec. Adding a "run brain_recall through a fixture of design-spec
calls and diff against expected output shape" gate is now in the backlog.