Skip to content

v0.5.2 — bounded consolidation: backlog-only scans, ADD rewrites, since bound

Choose a tag to compare

@HoweChen HoweChen released this 27 Aug 03:49

What's Changed

Fixes

  • Consolidation cost is now bounded by the backlog, not the store — every episode
    that completes a consolidation pass (whatever the verdict: ADD / UPDATE / DELETE /
    NOOP) is stamped with a consolidated_at metadata mark and never re-selected, so
    each System 2 cycle pays for new episodes instead of re-embedding and re-classifying
    the full history. Unlike a caller-side since timestamp, the stamp survives aborted
    passes. Reports expose skipped_consolidated across the engine, HTTP API, MCP
    server, and Go client. (d42f856)
  • ADD verdicts store the LLM's rewritten fact — promoted facts no longer carry the
    raw event's recording template shell (agent=… | action=… | observation=…). The
    classifier's new_text is now honored on ADD as well as UPDATE, falling back to the
    raw event text when omitted — the offline (no-LLM) classifier always omits it, so
    heuristic mode is unchanged. The consolidation prompt and JSON schema now describe
    new_text as the distilled fact for both verdicts. (c841747)

Features

  • since bound on consolidate — /api/consolidate, the MCP consolidate tool,
    and Consolidate(ctx, workspace, since) on the Go client accept an optional
    unix-seconds since (0 = the whole pending backlog), giving remote deployments an
    explicit cost-control handle. (da06014)

Documentation

  • README (en + zh-CN) What's New refreshed for the 0.5 line; version bumped to 0.5.2.
    (393d8b1)

Upgrade notes

  • Downstream integrations that worked around the full re-scan (e.g. assembling their
    own incremental cycles with caller-side since threading) can drop that logic:
    Consolidate(ws, 0) now means "the pending backlog", not "the whole store".
  • The Go SDK's Consolidate signature gained a since float64 parameter — pass 0
    for the previous behavior.

Full changelog: v0.5.1...v0.5.2